http://qs321.pair.com?node_id=215841


in reply to My coding guidelines

POD SHOULD not be interleaved with the code, and is not an alternative for comments.

Does this include POD put before subroutines? Such as:

=item foo foo $arg1 Does foo =cut sub foo { ... } =item bar bar $foo Does bar =cut sub bar { ... }

Variables with a small scope SHOULD have short names, variables with a broad scope SHOULD have descriptive names.

Heh, there was a guy in my high school C++ class who declared all his counter variables as globals, and he used a different var for every loop. The entire bloody alphabet was at the top of every code file he wrote.

Constants (or variables intended to be constant) . . .

Is there any execuse for not doing "use constant ..."?

No cuddled elses or elsifs . . .

Cuddled?

Indents SHOULD be 4 spaces wide. Indents MUST NOT contain tabs.

Where's my flame thrower? :)

Replies are listed 'Best First'.
Re: My coding guidelines
by Abigail-II (Bishop) on Nov 26, 2002 at 15:30 UTC
    Does this include POD put before subroutines?

    Yes it does. That was exactly what I was aiming it. Whenever I have to go through a file that alternates POD, subroutine, POD, subroutine, I find it very hard to find my way around the code.

    I also think that it's rare you want the documented function to appear in the same order in the manual page as that you happen to have them in the file.

    Is there any execuse for not doing "use constant ..."?

    Most certainly. It's easier to interpolate $CONSTANT than CONSTANT. And $CONSTANT will not fall victim to autoquoting (left of a fat arrow, or as a hash index), while CONSTANT might if you aren't careful.

    Cuddled?
    "Cuddled elses" is a term from perlstyle. It means:
    if (condition) { + code } else { # This else is cuddled. more code }
    This is K&R style. With uncuddled elses, you align the else with the if and the closing braces. There's a lot to say for K&R style though, it strengthens the fact that else doesn't start a new construct, but is part of the if, and it will save a line.

    Abigail