[comp.unix.misc] nameing

abmg@cathedral.cerc.wvu.wvnet.edu (Aliasghar Babadi) (05/01/91)

Hi,
	I have seen different naming style for functions, variables,
constants and types such as clear_sreen and ClearScreen, MAXBUFLEN and
MaxBufLen 

	What is the best nameing convention for 
	functions
        variables
        constants
	types

and why? Thank you for your suggestions.

hunt@dg-rtp.rtp.dg.com (Greg Hunt) (05/01/91)

In article <1659@babcock.cerc.wvu.wvnet.edu>, abmg@cathedral.cerc.wvu.wvnet.edu (Aliasghar Babadi) writes:
> 
> 	I have seen different naming style for functions, variables,
> constants and types such as clear_sreen and ClearScreen, MAXBUFLEN and
> MaxBufLen 
> 
> 	What is the best nameing convention for 
> 	functions
>         variables
>         constants
> 	types
> 
> and why? Thank you for your suggestions.

There is no "best" way to name things.  You'll find a wide variety of
answers to your question, and you'll have to decide for yourself how
you like to write your own code.  I think there are some common
groundrules, however:

1.  Make your names clear and easy to read.  AbCdEfG is probably not
    a good name to use.

2.  Make the names meaningful.  Calling all your variables a, b, c, or
    d is probably not a good idea.

3.  Be consistent.  If you always use lowercase for variable names,
    then don't do something different elsewhere.

4.  When editing someone else's code, either use the style they used
    for consistency, or rewrite the whole thing in your style.  Mixing
    styles makes things harder to read.

As for my opinions on how to name things, these are the ways I like to
write my own code:

    functions - always lowercase
    variables - always lowercase
    constants - always uppercase
    types     - always uppercase
    macros    - always uppercase
    comments  - always mixed cases, following the normal rules of
                writing prose

Why?  Well, I code primarily in C, and since the language itself is
lowercase, I tend to write the most commonly used things (functions
and variables) in lowercase, too.  I think it makes the code easier
to read.

I use uppercase for things that are "different", like constants and
types.  To me, it makes it easier to see them, and therefore makes it
more obvious that what you're dealing with isn't a variable or
function (so you can't assign things to it, for example).

Since typedef's of structures contain two names that are in different
namespaces (at least in some compilers), I use the same name for
both parts, just different cases:

    typedef struct foo_type {
        int first_var;
        int second_var;
    } FOO_TYPE;

For most things, like declaring a structure of this type, I use the
typedef name like this:

    FOO_TYPE  foo_thing;

There are some rare cases (like forward references) where you have to
use the structure name instead.  That's what foo_type is for.

Those are my opinions.  Hope this helps.  Enjoy!

-- 
Greg Hunt                        Internet: hunt@dg-rtp.rtp.dg.com
DG/UX Kernel Development         UUCP:     {world}!mcnc!rti!dg-rtp!hunt
Data General Corporation
Research Triangle Park, NC, USA  These opinions are mine, not DG's.