Books, Brochures, and Chapters>Book:  Thomas, David and Hunt, Andrew (Oct 1999), The Pragmatic Programmer: From Journeyman to Master, Addison-Wesley, Retrieved on 2007-11-30

Memes

01 JAN 2010

 Beware Temporal Coupling

When people first sit down to design and architecture or write a program, things tend to be linear. That's the way most people think--do this and then always do that. But thinking this way leads to temporal coupling: coupling in time. Method A must always be called before method B; only one report can be run at a time; you must wait for the screen to redraw before the button click is received. Tick must happen before tock.
  1  notes
Coupling things in time is a natural result of the linear design of a system.
01 JAN 2010

 Guard Your Knowledge Portfolio

You need to ensure that the knowledge in your portfolio is accurate and unswayed by either vendor or media hype. Beware of zealots who insist that their dogma provides the only answer--it may ore may not be applicable to you and your project.
  1  notes
Don't be swayed by zealots in IT.
01 JAN 2010

 A Programmer's Basic Material is Knowledge

As Pragmatic Programmers, our base material isn't wood or iron, it's knowledge. We gather requirements as knowledge, and then express that knowledge in our designs, implementations, tests, and documents. And we believe that the best format for storing knowledge persistently is plain text. With plain text, we give ourselves the ability to manipulate knowledge, both manually and programmatically, using virtually every tool at our disposal.
  1  notes
And we express that knowledge in our designs.
01 JAN 2010

 Using Someone Else as a Sounding Board for Debugging

A very simple but particularly useful technique for finding the cause of a problem is simply to explain it to someone else. the other person should look over your shoulder at the screen, and nod his or her head constantly (like a rubber duck: bobbing up and down in a bathtub). they do not need to say a word; the simple act of explaining, step by step, what the code is supposed to do often causes the problem to leap off the screen and announce itself.
  1  notes
There should be a Jargon File term for this. I have used this many times, and others have used me for it as well.

Parent Reference