Re: [PATCH v2] Make fetch-pack a builtin with an internal API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 2007 July 09, Theodore Tso wrote:
> On Sun, Jul 08, 2007 at 10:39:41PM -0700, Junio C Hamano wrote:
> > Are _identifiers with leading underscore Kosher thing to do, I
> > wonder...  We do have ones with trailing ones (mostly qsort
> > functions) and I think they are done that way for the sake of
> > standards conformance.
>
> _[a-z]* is kosher for file scopes or function scoping:

Perhaps I'm reading it wrong but:

"All identifiers beginning with an underscore are reserved for ordinary 
identifiers (functions, variables, typedefs, enumeration constants) with file 
scope."

Doesn't agree with what you've said.  I think that you _can_ use _[a-z]* for 
labels or structure members - however, not within file or function scope.

However, the rule of thumb I've always used is "don't start identifiers with 
underscore".  I can't think of a situation that would mean you have to use an 
underscore to start an identifier - so why get into detailed worries about 
where it's allowed and where it isn't.  Just don't use it.  The document you 
linked to gives exactly this advice:

"Don't give anything a name with a leading underscore."

> P.S.  Note that the Linux kernel does not worry about such rules; in
> particular, _[a-z]* is very commonly used at the global scope level,
> without any problems.  It doesn't have to be as portable as git
> probably needs to be, however.

The kernel doesn't use any standard library so there is nothing for it to 
conflict with.  I don't think it's that the kernel doesn't worry about those 
rules, it's that those rules don't apply (just as they don't for glibc).  The 
underscore rules aren't a limitation of the language, they are a limitation 
imposed by the standard library.  



Andy

-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@xxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux