Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > style guideline for naming variables?

Reply
Thread Tools

style guideline for naming variables?

 
 
John Salerno
Guest
Posts: n/a
 
      03-17-2006
After reading the PEP, I'm still not quite sure if there is a
recommended (or widely preferred) method of naming variables. Here are
the relevant bits:

> Global Variable Names
>
> (Let's hope that these variables are meant for use inside one module
> only.) The conventions are about the same as those for functions.
>
> Modules that are designed for use via "from M import *" should use the
> __all__ mechanism to prevent exporting globals, or use the the older
> convention of prefixing such globals with an underscore (which you might
> want to do to indicate these globals are "module non-public").
>
> Function Names
>
> Function names should be lowercase, with words separated by underscores
> as necessary to improve readability.
>
> mixedCase is allowed only in contexts where that's already the
> prevailing style (e.g. threading.py), to retain backwards compatibility.
>
> Method Names and Instance Variables
>
> Use the function naming rules: lowercase with words separated by
> underscores as necessary to improve readability.
>
> Use one leading underscore only for non-public methods and instance
> variables.
>
> To avoid name clashes with subclasses, use two leading underscores to
> invoke Python's name mangling rules.
>
> Python mangles these names with the class name: if class Foo has an
> attribute named __a, it cannot be accessed by Foo.__a. (An insistent
> user could still gain access by calling Foo._Foo__a.) Generally, double
> leading underscores should be used only to avoid name conflicts with
> attributes in classes designed to be subclassed.
>
> Note: there is some controversy about the use of __names (see below).


It refers to instance variables, which I assume includes all variables
that aren't global, and the suggestion is to follow function
conventions, which would be this:

some_function

But this seems awkward to me. someFunction seems nicer, but it is
specifically mentioned not to do this for new code.

So I'm just curious how other people handle the multiword situation.
Underscores, or Pascal case?
 
Reply With Quote
 
 
 
 
John Salerno
Guest
Posts: n/a
 
      03-17-2006
John Salerno wrote:

> some_function
>
> But this seems awkward to me. someFunction seems nicer


Sorry, I was asking about variables but used a function example. But
really I'm asking about any situation where you might want to use
multiple words (except for classes, which is recommended to use Camel
case, and that seems fine).
 
Reply With Quote
 
 
 
 
Duncan Smith
Guest
Posts: n/a
 
      03-18-2006
John Salerno wrote:
> After reading the PEP, I'm still not quite sure if there is a
> recommended (or widely preferred) method of naming variables. Here are
> the relevant bits:
>
>> Global Variable Names
>>
>> (Let's hope that these variables are meant for use inside one
>> module
>> only.) The conventions are about the same as those for functions.
>>
>> Modules that are designed for use via "from M import *" should
>> use the
>> __all__ mechanism to prevent exporting globals, or use the the
>> older
>> convention of prefixing such globals with an underscore (which
>> you might
>> want to do to indicate these globals are "module non-public").
>>
>> Function Names
>>
>> Function names should be lowercase, with words separated by
>> underscores
>> as necessary to improve readability.
>>
>> mixedCase is allowed only in contexts where that's already the
>> prevailing style (e.g. threading.py), to retain backwards
>> compatibility.

>
>>

>
>> Method Names and Instance Variables
>>
>> Use the function naming rules: lowercase with words separated by
>> underscores as necessary to improve readability.
>>
>> Use one leading underscore only for non-public methods and instance
>> variables.
>>
>> To avoid name clashes with subclasses, use two leading
>> underscores to
>> invoke Python's name mangling rules.
>>
>> Python mangles these names with the class name: if class Foo has an
>> attribute named __a, it cannot be accessed by Foo.__a. (An
>> insistent
>> user could still gain access by calling Foo._Foo__a.)
>> Generally, double
>> leading underscores should be used only to avoid name conflicts
>> with
>> attributes in classes designed to be subclassed.
>>
>> Note: there is some controversy about the use of __names (see
>> below).

>
>
> It refers to instance variables, which I assume includes all variables
> that aren't global, and the suggestion is to follow function
> conventions, which would be this:
>
> some_function
>
> But this seems awkward to me. someFunction seems nicer, but it is
> specifically mentioned not to do this for new code.
>
> So I'm just curious how other people handle the multiword situation.
> Underscores, or Pascal case?


SomeClass

someFunction

some_variable

FWIW

Duncan
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
while executing my client program i get the exception javax.naming.LinkException: [Root exception is javax.naming.LinkException: [Root exception is javax.naming.NameNotFoundException: remaining if plz anybody know how to solve this problem then mahesh Java 0 03-08-2007 12:26 PM
What's the guideline for dealing with unwanted chars in input stream? lovecreatesbeauty C Programming 17 01-01-2006 07:42 PM
Redundant behavior in coding guideline lovecreatesbeauty C Programming 2 10-27-2005 01:26 PM
Redundant behavior in coding guideline lovecreatesbeauty C Programming 0 10-27-2005 10:01 AM
macro style guideline Vyom C Programming 7 11-23-2004 05:13 PM



Advertisments