Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: In Need of Mentoring

by Anonymous Monk
on Jan 16, 2012 at 07:28 UTC ( #948080=note: print w/ replies, xml ) Need Help??


in reply to Re: In Need of Mentoring
in thread In Need of Mentoring

camelCase vs underscore_variables; for(;;) vs while (1) vs while () It doesn't matter. Pick the one you like stylistically and be consistent.

FWIW, when it comes to both issues, I don't think consistency matters that much either :) It doesn't when reading other peoples code (too many different kinds of people), so it doesn't when writing my own (its all functionally equivalent )


Comment on Re^2: In Need of Mentoring
Re^3: In Need of Mentoring
by repellent (Priest) on Jan 16, 2012 at 08:10 UTC
    Oooo.. alternating between camelCase and underscore_variables in a huge class will be quite the sight to see :) To each her/his own: I believe in consistency in coding, which has served me well so far.

      I saw it just the other day in Web::Magic 0.005, didn't bother me one iota. I have to lookup the documentation either way. Web::Magic

Re^3: In Need of Mentoring
by tobyink (Abbot) on Jan 16, 2012 at 09:15 UTC

    If you're inconsistent with lexical variables like my($fooBar, $quux_xyzzy), then that's fine by me. It may slightly confuse people hoping to delve into your code, but that's probably only a small number of people.

    However, for public functions/methods - for the API you expect other people to code to - you should aim for consistency throughout a module or collection of related modules.

    Generally speaking under_scores seem to be the most popular way of naming functions and methods, so unless you've got a specific reason to use another naming convention, should be the default option. Good reasons to use camelCase or runtogetherwords might be:

    • consistency with a specification - for example, an HTTP library might name functions or methods after HTTP methods which are conventionally written in uppercase, so it migh make sense to name methods like $object->POST and $object->GET.
    • porting code from another language - if you've ported a library from another language, then it makes sense to keep the original case of function/method names. This allows your users to easily understand the documentation and examples of the source library and apply that knowledge when using your port.
    • inspiration from another language - perhaps your code is not a direct port of a library from another language, but aims to be a work-alike.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://948080]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2014-07-12 17:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (240 votes), past polls