The document discusses several principles and best practices for pragmatic programming. It discusses avoiding duplication by eliminating imposed, inadvertent, impatient, and interdeveloper duplication. It also discusses the principles of orthogonality and reversibility. Orthogonality refers to decoupling unrelated things to increase productivity and reduce risk. Reversibility means designing software in a way that allows for changes in requirements, users, and hardware over time.
Related topics: