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

Re: [PATCH v2 3/6] sha1_name: avoid Yoda conditions

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 30, 2013, 23:02 UTC
Message-ID
<7v7gjjaagb.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CAMP44s26oZf0=xdqp5sr_J1TNhK83=88A7KH5n_LnstFe6o5gA@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 7 quoted lines
> Yoda speaks in reverse "Stopped they must be; on this all depends".
> "if (0 < len)" says "if zero is less than len", which is in reverse,
> as reverse as "if 1.50 is taller than you". It's all reversed: "if you
> are taller than 1.50", "if len is greater than zero", "They must be
> stopped; all depends on this".
>
> I don't understand what is not clear.
I never said anything is "not clear", did I [*1*]?

I've retitled it to "compare variable with constant, not constant with variable" to make it easier to understand to those who did not know the jargon (like me ;-).

By the way, after web-searching "Yoda condition", all mentions of "Yoda condition" I found were of the

	if (constant == variable)

form, and people's justification why this form is bad, which I happen to agree with [*2*].

[Footnote]

*1* "zero is less than len" and "len is more than zero" are saying exactly the same thing, even though people may find it harder to read. While "blue is the sky" and "the sky is blue" are not saying the same thing in the first place, and that is why I said it is not a good analogy.

*2* I do not write equality comparison in the "constant == variable" order myself. For people reading from sidelines, the previous thread on this topic is this:

    http://thread.gmane.org/gmane.comp.version-control.git/3903/focus=3907
which explains why these were written as "if (smaller < larger)".
Previous: Felipe ContrerasNext: Junio C Hamano
Message 12 of 22 in “New @ shortcut for HEAD”
  1. 0/6 New @ shortcut for HEADFelipe Contreras, Apr 30, 2013
  2. 1/6 sha1_name: remove no-opFelipe Contreras, Apr 30, 2013
  3. 2/6 sha1_name: remove unnecessary bracesFelipe Contreras, Apr 30, 2013
  4. 3/6 sha1_name: avoid Yoda conditionsFelipe Contreras, Apr 30, 2013
  5. Junio C HamanoApr 30, 2013
  6. Felipe ContrerasApr 30, 2013
  7. Junio C HamanoApr 30, 2013
  8. Felipe ContrerasApr 30, 2013
  9. Junio C HamanoApr 30, 2013
  10. Junio C HamanoApr 30, 2013
  11. Felipe ContrerasApr 30, 2013
  12. Junio C HamanoApr 30, 2013
  13. Junio C HamanoApr 30, 2013
  14. 4/6 sha1_name: refactor reinterpret()Felipe Contreras, Apr 30, 2013
  15. Junio C HamanoApr 30, 2013
  16. 5/6 Add new @ shortcut for HEADFelipe Contreras, Apr 30, 2013
  17. Junio C HamanoApr 30, 2013
  18. Duy NguyenMay 1, 2013
  19. Felipe ContrerasMay 2, 2013
  20. Junio C HamanoMay 2, 2013
  21. 6/6 sha1_name: allow @@{u} to workFelipe Contreras, Apr 30, 2013
  22. Junio C HamanoApr 30, 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.