Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #167922

Re: C naming conventions

From Kaz Kylheku <864-117-4973@kylheku.com>
Newsgroups comp.lang.c
Subject Re: C naming conventions
Date 2022-10-01 08:11 +0000
Organization A noiseless patient Spider
Message-ID <20221001010422.673@kylheku.com> (permalink)
References <3e090bd4-4274-467b-8cf7-6d36c3ab9dc9n@googlegroups.com> <th7avs$12mc7$1@dont-email.me> <87wn9ks9js.fsf@bsb.me.uk>

Show all headers | View raw


On 2022-09-30, Ben Bacarisse <ben.usenet@bsb.me.uk> wrote:
> John Bode <jfbode1029@gmail.com> writes:
>
>> On 8/27/22 6:06 PM, Thiago Adams wrote:
>>> I am searching for C naming conventions.
>>> For instance, how to name structs, function, global variables...
>>> Any link?  What are the "classic ones? "
>>> I think one sample is "Win32" API
>>
>> All naming conventions suck.  All brace style conventions suck.
>> Anyone can make good arguments for or against any convention you pick.
>>
>> The only things you really have to worry about are:
>>
>>  - Names beginning with "_" and "__" are reserved for the
>>    implementation - don't use them in your code;
>
> There are way more than that!  For example 'string' (with external
> linkage) is reserved and EIEIO is reserved if you include certain
> headers.  The C23 draft has a handy list of patterns to avoid.

The difference between the leading underscores and "str" and "E",
is that the latter are in a future expansion area of a public namespace.
If they were to appear, they would be documented as new identifiers in
the standard, or else a vendor's extension, like GNU "strfry".

Whereas _ and __ identifiers are a churning toilet bowl. Implementors
invent these at the drop of a hat in any situation they need a
hidden name for any reason that must not clash with application code
in any conceivable way.. E.g. in macro hygiene and whatever.

For instance, a vendor is not going to use "string" as the name of a
local variable generated by a macro, for the sake of hygiene; but they
will use __str, __string, __s and whatever not..

The _ and __ namespaces demand respect in a way that E and str
do not.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

Back to comp.lang.c | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-27 16:06 -0700
  Re: C naming conventions antispam@math.uni.wroc.pl - 2022-08-27 23:42 +0000
    Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-28 20:42 -0700
      Re: C naming conventions luser droog <luser.droog@gmail.com> - 2022-08-29 19:12 -0700
        Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-30 10:54 -0700
          Re: C naming conventions Opus <ifonly@youknew.org> - 2022-08-30 20:21 +0200
  Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-29 09:02 -0700
    Re: C naming conventions Opus <ifonly@youknew.org> - 2022-08-29 20:06 +0200
      Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-29 18:15 -0700
        Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-29 18:46 -0700
          Re: C naming conventions Blue-Maned_Hawk <bluemanedhawk@example.invalid> - 2022-09-06 02:21 -0400
            Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-09-06 10:52 +0100
            Re: C naming conventions Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2022-09-06 11:03 -0700
        Re: C naming conventions Opus <ifonly@youknew.org> - 2022-08-30 05:22 +0200
    Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-08-29 21:25 +0100
  Re: C naming conventions Anton Shepelev <anton.txt@gmail.com> - 2022-08-31 01:38 +0300
    Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-31 04:37 -0700
      Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-08-31 15:30 +0100
        Re: C naming conventions Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2022-08-31 14:50 +0000
          Re: C naming conventions scott@slp53.sl.home (Scott Lurndal) - 2022-08-31 14:57 +0000
            Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-31 08:44 -0700
          Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-31 08:36 -0700
            Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-08-31 17:54 +0100
          Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-08-31 17:50 +0100
            Re: C naming conventions Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2022-08-31 17:14 +0000
              Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-08-31 10:21 -0700
      Re: C naming conventions Anton Shepelev <anton.txt@gmail.com> - 2022-09-05 23:31 +0300
      Re: C naming conventions Bart <bc@freeuk.com> - 2022-09-05 21:44 +0100
        Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-09-05 18:00 -0700
      Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-09-11 09:22 -0700
        Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-09-11 20:33 +0100
          Re: C naming conventions Thiago Adams <thiago.adams@gmail.com> - 2022-09-11 13:18 -0700
          Re: C naming conventions luser droog <luser.droog@gmail.com> - 2022-09-11 21:16 -0700
            Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-09-12 11:51 +0100
  Re: C naming conventions luser droog <luser.droog@gmail.com> - 2022-08-30 19:36 -0700
  Re: C naming conventions kegs@provalid.com (Kent Dickey) - 2022-09-05 17:59 +0000
    Re: C naming conventions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-09-12 07:12 -0700
      Re: C naming conventions kegs@provalid.com (Kent Dickey) - 2022-09-13 03:53 +0000
        Re: C naming conventions Kaz Kylheku <480-992-1380@kylheku.com> - 2022-09-13 05:38 +0000
          Re: C naming conventions scott@slp53.sl.home (Scott Lurndal) - 2022-09-13 13:30 +0000
        Re: C naming conventions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-09-13 05:18 -0700
          Re: C naming conventions kegs@provalid.com (Kent Dickey) - 2022-09-13 22:55 +0000
            Re: C naming conventions "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-09-13 16:58 -0700
            Re: C naming conventions Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-09-14 08:05 -0700
  Re: C naming conventions Blue-Maned_Hawk <bluemanedhawk@example.invalid> - 2022-09-06 02:16 -0400
  Re: C naming conventions Bonita Montero <Bonita.Montero@gmail.com> - 2022-09-11 19:31 +0200
    Re: C naming conventions "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-09-12 00:45 -0700
  Re: C naming conventions Jonathan Harston <jgh@mdfs.net> - 2022-09-27 06:00 -0700
  Re: C naming conventions John Bode <jfbode1029@gmail.com> - 2022-09-30 13:02 -0500
    Re: C naming conventions Kaz Kylheku <864-117-4973@kylheku.com> - 2022-09-30 18:32 +0000
      Re: C naming conventions scott@slp53.sl.home (Scott Lurndal) - 2022-10-01 16:26 +0000
    Re: C naming conventions Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-10-01 00:54 +0100
      Re: C naming conventions Blue-Maned_Hawk <bluemanedhawk@gmail.com> - 2022-10-01 00:35 -0400
        Re: C naming conventions Kaz Kylheku <864-117-4973@kylheku.com> - 2022-10-01 08:12 +0000
      Re: C naming conventions Kaz Kylheku <864-117-4973@kylheku.com> - 2022-10-01 08:11 +0000

csiph-web