Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

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

by roboticus (Chancellor)
on Mar 28, 2007 at 12:02 UTC ( [id://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!)

  • Log In?
    Username:
    Password:

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

    How do I use this?Last hourOther CB clients
    Other Users?
    Others pondering the Monastery: (4)
    As of 2024-03-29 00:51 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found