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

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

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 30, 2013, 22:45 UTC
Message-ID
<CAMP44s26oZf0=xdqp5sr_J1TNhK83=88A7KH5n_LnstFe6o5gA@mail.gmail.com>
In-Reply-To
<7vobcvabxi.fsf@alter.siamese.dyndns.org>
On Tue, Apr 30, 2013 at 5:30 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 32 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> On Tue, Apr 30, 2013 at 5:13 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>>
>>>> On Tue, Apr 30, 2013 at 5:00 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>>>> What is a Yoda condition?
>>>>
>>>> ---
>>>> Using if (constant == variable) instead of if (variable == constant),
>>>> like if (4 == foo).
>>>>
>>>> Because it's like saying "if blue is the sky" or "if tall is the man".
>>>
>>> That is an invalid analogy, as the sentences do not make sense.
>>>
>>> A much better explanation I heard on this list is that people do not
>>> say "If 1 is smaller than the number of your wives, you have a big
>>> problem".
>>>
>>> I actually was not asking why people find the convention to visually
>>> align comparison with number lines unusual. We discussed this style
>>> long time ago on this list.  I haven't heard the "Yoda condtion"
>>> expression and was asking about the "Yoda" part.
>>
>> It's popular culture.
>>
>> http://en.wikipedia.org/wiki/Yoda
>
> I know who Yoda is.  What I was puzzled with was what it has to do
> with "if blue is the sky" (which is a bad analogy for "if (0 < len)"
> anyway)?

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.
-- 
Felipe Contreras
Previous: Junio C HamanoNext: Junio C Hamano
Message 11 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.