Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Should I leave behind beautiful code or readable code?

by roboticus (Chancellor)
on Mar 28, 2007 at 12:02 UTC ( #606993=note: print w/ replies, xml ) Need Help??


in reply to Should I leave behind beautiful code or readable code?

MaxKlokan:

Please pardon this disjoint response. I've been gnashing my gears looking for a clear way to make my points, but I can't seem to tie it all together. Rather than giving up, I'll just break out the major bullet points I was working on:

  • The aphorism "Beauty is in the eye of the beholder" (most recently espoused by grinder) is particularly apropos. Keep in mind who your audience is. The computer, certainly, doesn't care a whit about how cool/clever/beautiful/readable the code is. Thus, your primary audience is (a) the maintainer, who is often (b) yourself, a year from now.
  • Too many people confuse 'clever' with 'beautiful'. While clever code has a certain attraction, it also requires good comments. These comments, however, are another thing to maintain. Also, having to study comments to decipher a 'cool/clever' technique in a production outage is a great way to foster contempt from your fellows, except whilst golfing.
  • Tension between 'beauty' and 'readability' fades with experience. When a programmer starts, 'beauty' often means fancy formatting and "cool/surprising" code. With enough experience you come to despise surprise. Later, beauty seems to become synonymous with clear and simple.
  • Readability doesn't require you to dumb-down your code and skip standard perl idiom. Just a little helpful formatting to show the structure (as shown by ferreira's example) will make things more beautiful/readable to many. Advanced programmers will read it with no difficulty, and the visual structure will help guide the less-advanced programmers to the appropriate perldoc pages to read first.

    --roboticus

    I'm not very happy with this node yet. Any suggestions for improvement would be extremely welcome.

    Update: Fixed link. (Thanks for catching that, Joost!)


  • Comment on Re: Should I leave behind beautiful code or readable code?

    Log In?
    Username:
    Password:

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

    How do I use this? | Other CB clients
    Other Users?
    Others wandering the Monastery: (13)
    As of 2015-07-07 23:31 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









      Results (93 votes), past polls