Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: On Coding Standards and Code Reviews

by salva (Canon)
on Feb 19, 2009 at 08:46 UTC ( [id://744977]=note: print w/replies, xml ) Need Help??


in reply to On Coding Standards and Code Reviews

1. Robustness, Efficiency, Maintainability.

Wrong! for most applications efficiency* should not be a priority anymore... at least not your second top priority.

And BTW, correctness is the first one!

(* efficiency understood as getting your application to use as few resources as possible, not as programmer efficiency or any other thing)

Replies are listed 'Best First'.
Re^2: On Coding Standards and Code Reviews
by shmem (Chancellor) on Feb 19, 2009 at 12:53 UTC
    And BTW, correctness is the first one!

    You missed the BEGIN at point 4 ;-)

    4. Correctness, simplicity and clarity come first. Don't be clever.

    (Emphasis mine)

      I think this brings up another good point. Put your rules in order. Anyone reading them will find the first rule that seems to apply and stop reading. If something is most important, put it first. There will always be conflicts (speed of app vs speed of development), and it is important to put them in the order which you want them to supercede each other. This is not supposed to be a mystery novel, building suspense. Even then, there will sometimes still be times where you can't follow the rules - what then? Obviously, a senior developer (or just a prick like me) will ignore rules that don't apply in a specific circumstance (perhaps you have something running during mouse movement - it obviously has to be fast, or the whole system will die, even at the expense of readability of code). Perhaps a guideline on how to determine you're in a special case, but, more importantly, what to do with that special case. Perhaps a comment block to highlight the non-standard code, why, and what it really does in plain English rather than the mess of code it may really be?

      (++ for both of you for noticing it and bringing it up :-) )

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-03-28 23:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found