git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 16/16] add: avoid yoda conditions

From
Martin von Zweigbergk <martinvonz@gmail.com>
Date
Oct 31, 2013, 19:48 UTC
Message-ID
<CANiSa6i5z8Z9HPzsUWTh8U2HXc9p6MPgQjJ7K6KSDw8FXtFyww@mail.gmail.com>
In-Reply-To
<1383211547-9145-17-git-send-email-felipe.contreras@gmail.com>
I was recently confused by the yoda condition in this block of code from [1]
+ for (i = 0; i < revs.nr; i++)
+ if (&bases->item->object == &revs.commit[i]->object)
+ break; /* found */
+ if (revs.nr <= i)

I think I was particularly surprised because it came so soon after the "i < revs.nr". I didn't bother commenting because it seemed too subjective and the code base has tons of these. Something as simple as

  git grep '[0-9] [<>]' *.c
finds a bunch (probably with lots of false positives and negatives).

I guess what I'm trying to say is that either we accept them and get used to reading them without being surprised, or we can change a bit more than one at a time perhaps? I understand that this was an occurrence you just happened to run into, and I'm not saying that a patch has to deal with _all_ occurrences. I'm more just wondering if we want mention our position, whatever it is, in CodingGuidelines.

Martin
[1] http://thread.gmane.org/gmane.comp.version-control.git/236252/focus=236716

On Thu, Oct 31, 2013 at 2:25 AM, Felipe Contreras <felipe.contreras@gmail.com> wrote:

Show 25 quoted lines
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> ---
>  builtin/add.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/builtin/add.c b/builtin/add.c
> index 226f758..9b30356 100644
> --- a/builtin/add.c
> +++ b/builtin/add.c
> @@ -429,7 +429,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
>         argc--;
>         argv++;
>
> -       if (0 <= addremove_explicit)
> +       if (addremove_explicit >= 0)
>                 addremove = addremove_explicit;
>         else if (take_worktree_changes && ADDREMOVE_DEFAULT)
>                 addremove = 0; /* "-u" was given but not "-A" */
> --
> 1.8.4.2+fc1
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous: Felipe ContrerasNext: Felipe Contreras
Message 44 of 48 in “Trivial patches”
  1. 00/16 Trivial patchesFelipe Contreras, Oct 31, 2013
  2. 01/16 merge: simplify ff-only optionFelipe Contreras, Oct 31, 2013
  3. Junio C HamanoOct 31, 2013
  4. 02/16 t: replace pulls with mergesFelipe Contreras, Oct 31, 2013
  5. 03/16 pull: cleanup documentationFelipe Contreras, Oct 31, 2013
  6. Junio C HamanoOct 31, 2013
  7. Felipe ContrerasOct 31, 2013
  8. Junio C HamanoOct 31, 2013
  9. Max HornOct 31, 2013
  10. Junio C HamanoOct 31, 2013
  11. Junio C HamanoOct 31, 2013
  12. Felipe ContrerasOct 31, 2013
  13. David AguilarOct 31, 2013
  14. Felipe ContrerasNov 1, 2013
  15. David AguilarNov 1, 2013
  16. Felipe ContrerasNov 1, 2013
  17. SZEDER GáborNov 1, 2013
  18. Felipe ContrerasNov 1, 2013
  19. Felipe ContrerasOct 31, 2013
  20. Junio C HamanoOct 31, 2013
  21. Felipe ContrerasOct 31, 2013
  22. 04/16 fetch: add missing documentationFelipe Contreras, Oct 31, 2013
  23. Junio C HamanoOct 31, 2013
  24. Felipe ContrerasOct 31, 2013
  25. 05/16 revision: add missing includeFelipe Contreras, Oct 31, 2013
  26. Junio C HamanoOct 31, 2013
  27. 06/16 shortlog: add missing declarationFelipe Contreras, Oct 31, 2013
  28. Junio C HamanoOct 31, 2013
  29. Felipe ContrerasOct 31, 2013
  30. Junio C HamanoOct 31, 2013
  31. Felipe ContrerasOct 31, 2013
  32. 07/16 branch: trivial style fixFelipe Contreras, Oct 31, 2013
  33. Junio C HamanoOct 31, 2013
  34. 08/16 sha1-name: trivial style cleanupFelipe Contreras, Oct 31, 2013
  35. 09/16 transport-helper: trivial style fixFelipe Contreras, Oct 31, 2013
  36. 10/16 describe: trivial style fixesFelipe Contreras, Oct 31, 2013
  37. 11/16 pretty: trivial style fixFelipe Contreras, Oct 31, 2013
  38. 12/16 revision: trivial style fixesFelipe Contreras, Oct 31, 2013
  39. 13/16 diff: trivial style fixFelipe Contreras, Oct 31, 2013
  40. 14/16 run-command: trivial style fixesFelipe Contreras, Oct 31, 2013
  41. 15/16 setup: trivial style fixesFelipe Contreras, Oct 31, 2013
  42. Junio C HamanoOct 31, 2013
  43. 16/16 add: avoid yoda conditionsFelipe Contreras, Oct 31, 2013
  44. Martin von ZweigbergkOct 31, 2013
  45. Felipe ContrerasOct 31, 2013
  46. Junio C HamanoOct 31, 2013
  47. Felipe ContrerasOct 31, 2013
  48. Max HornOct 31, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.