Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Yet another set of Perl best practices

by grizzley (Chaplain)
on Aug 24, 2012 at 13:37 UTC ( #989533=note: print w/ replies, xml ) Need Help??


in reply to Yet another set of Perl best practices

Why is this list called Perl best practices? Only 7, 11, 20 and maybe 18 is related specific to Perl. The rest is valid for any language.


Comment on Re: Yet another set of Perl best practices
Re^2: Yet another set of Perl best practices
by Anonymous Monk on Aug 24, 2012 at 16:39 UTC

    Why is this list called Perl best practices? Only 7, 11, 20 and maybe 18 is related to Perl. The rest is valid for any language.

    They're all related to perl since perl is a programming language :)

    Perhaps you meant specific to perl ?

    But even if they look specific, they all really are generic

    7. Perl is a powerful and expressive language, don't be afraid to use it to its maximum.
    write idiomatic code
    11. Don't use an object when a simple hash or array will do.
    Don't use an object when a simple struct will do
    Don't use an object when a simple data structure will do
    20. use strict, use warnings, selectively disable them when required.
    lint that mother hard, maximum warnings -Wall
    lint, "use strict";
    18. Add lots of debugging code
    use assertions, use logging
Re^2: Yet another set of Perl best practices
by eyepopslikeamosquito (Canon) on Aug 25, 2012 at 00:58 UTC

    Why is this list called Perl best practices?
    Good point. I prefer to have two separate lists: one for general programming practices, another for language-specific ones.

    The general, language-independent list tends to be the more important and interesting of the two IMHO. Most language-specific items, such as "start each file with use strict" or "use three-argument open and lexical file handles" are easily detected by a tool, such as Perl::Critic. The general list, OTOH, usually requires a human with good taste to adjudicate.

    The point that sound programming is mostly language independent was well made by chromatic in response to a reddit post extolling Python's "readability":

    Pray tell, how precisely does Python prevent you from using bad variable names? How does Python enforce good encapsulation? How does Python detect methods and functions that are too long? How does Python help you avoid poor coupling and promote wise decomposition? Does Python write good documentation for you? Does Python require comprehensive testing?

      Oooh. Interesting.

      Imagine a compiler that rejects code with excessive cyclomatic complexity or too many SLOC. unless you add a pragma marking it as ok.


      TGI says moo

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (10)
As of 2014-07-30 09:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (230 votes), past polls