Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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?


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.


    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?

    What's my password?
    Create A New User
    Node Status?
    node history
    Node Type: note [id://606993]
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others exploiting the Monastery: (2)
    As of 2018-04-24 16:44 GMT
    Find Nodes?
      Voting Booth?