Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Best practices, revisited

by Xiong (Hermit)
on Jan 30, 2010 at 00:37 UTC ( [id://820438]=note: print w/replies, xml ) Need Help??

in reply to Best practices, revisited

Thinking is, for most people, more difficult than following rules blindly. For those who find it easier to think, thinking while following rules is still more difficult. Few indeed are those who think deeply, and follow, break, and make rules with art, style, and discretion.

Many things can be taught, perhaps even thinking; but it's tough. I often wonder yet if I know how to think myself.

My personal meta-rules are:

  • Study and learn rules.
  • Try stuff and see what works.
  • Ask, "What if?"
  • Pretend my project and my role are much more important and public than they really are, then ask, "Does that expedient still look okay?"
  • Try other stuff. Be wrong.
  • Ask for help. Pay particular attention to help that annoys or upsets me.
  • Sleep on it.
  • Study more. Study more. Study more. Study more. Study more.
  • Try more other stuff. Be right.
  • Make a rule but don't expect anyone else to follow it. Be an example.
  • Remember that some rules are stupid but so widely accepted that following them may be smart.

The anecdote goes that a stonemason building a medieval cathedral was questioned. "Why are you dressing that block so carefully? That side will be cemented into the wall and hidden." The mason said, "God sees that side, too."

I agree that the best part of PBP is that Conway explains why for each rule. I'm free to accept or reject each rule but I can't follow the book blindly, email him, and complain: "But you said Do This!"

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2024-05-22 15:39 GMT
Find Nodes?
    Voting Booth?

    No recent polls found