I am a Pragmatic Programmer Part 3

This is Part 3 of 7 part series inspired from the book Pragmatic Programmer, read Part 2 here:

  1. Use Blackboards to Coordinate Workflow: Use blackboards to coordinate disparate facts and agents, while maintaining independence and isolation among participants.
  2. Estimate the Order of Your Algorithms: Get a feel for how long things are likely to take before you write code.
  3. Refactor Early, Refactor Often: Just as you might weed and rearrange a garden, rewrite, rework, and re-architect code when it needs it. Fix the root of the problem.
  4. Test Your Software, or Your Users Will: Test ruthlessly. Don’t make your users find bugs for you.
  5. Don’t Gather Requirements—Dig for Them: Requirements rarely lie on the surface. They’re buried deep beneath layers of assumptions, misconceptions, and politics.
  6. Abstractions Live Longer than Details: Invest in the abstraction, not the implementation. Abstractions can survive the barrage of changes from different implementations and new technologies.
  7. Don’t Think Outside the Box – Find the Box: When faced with an impossible problem, identify the real constraints.
  8. Ask yourself: “Does it have to be done this way? Does it have to be done at all?”
  9. Some Things Are Better Done than Described: Don’t fall into the specification spiral—at some point you need to start coding.
  10. Costly Tools Don’t Produce Better Designs: Beware of vendor hype, industry dogma, and the aura of the price tag. Judge tools on their merits.

Please read part 4 of 7 part series inspired from the book Pragmatic Programmer here.

Advertisements

2 thoughts on “I am a Pragmatic Programmer Part 3

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s