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

Re: [PATCH] dir: do all size checks before seeking back and fix file closing

From
Linus Torvalds <torvalds@osdl.org>
Date
Aug 27, 2006, 02:37 UTC
Message-ID
<Pine.LNX.4.64.0608261931460.11811@g5.osdl.org>
In-Reply-To
<7v4pvz11o6.fsf@assigned-by-dhcp.cox.net>
On Sat, 26 Aug 2006, Junio C Hamano wrote:
Show 11 quoted lines
> 
> > Now, admittedly it's wrong because another bad habit Junio picked up 
> > (doing comparisons with constants in the wrong order)
> 
> I think you misunderstand the rationale used to encourage the
> comparison used there.  It does not have anything to do with
> having comparison on the left.
> 
> The comparison order is done in textual order.  You list smaller
> things on the left and then larger things on the right (iow, you
> almost never use >= or >).

Ahh. A number of people do the "0 == x" thing, because they want to be caught if they use "=" instead of "==" by mistake. I thought it was the same thing.

> This does not come from any authoritative source, but I picked
> it up because I felt it made a lot of sense.
To anybody who has _ever_ done any math at all, it makes no sense at all. 

You _always_ put constants on the right-hand side (or, possibly last on the left-hand side, in order to make the right-hand side be "0").

Similarly, if you say it out loud, you'd always say "if 'x' is larger than or equal to zero", not "if zero is smaller or less than 'x'". That's because "zero" obviously never varies, so you'd never talk about "zero" being compared to anything else.

The only exception would be the mathematical "0 < x < 10" kind of thing, which some languages (not C, of course) allows in that form. I can imagine that people would just do that as "0 < x && x < 10" just to keep the C form as close to the mathematical form, although I would at least personally do it as

	if (x > 0 &&
	    x < 10)

especially if I ever needed to write it that way on multiple lines due to some of the expressions being more complicated.

		Linus
Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 10 in “dir: do all size checks before seeking back and fix file closing”
  1. dir: do all size checks before seeking back and fix file closingJonas Fonseca, Aug 26, 2006
  2. Mitchell Blank JrAug 26, 2006
  3. Jonas FonsecaAug 26, 2006
  4. Linus TorvaldsAug 26, 2006
  5. Jakub NarebskiAug 26, 2006
  6. Junio C HamanoAug 27, 2006
  7. Junio C HamanoAug 27, 2006
  8. Linus TorvaldsAug 27, 2006
  9. Junio C HamanoAug 27, 2006
  10. Use fstat instead of fseekJonas Fonseca, Aug 27, 2006

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.