| Here are the guidelines in alphabetical order with the page number on which they appear. - "A Rose by Any Other Name Is Not a Rose" on page 13
- "Adapt a Prefactoring Attitude" on page 33
- "Adopt and Adapt" on page 128
- "Avoid Premature Generalization" on page 160
- "Avoid Premature Inheritance" on page 64
- "Be Ready to Import and Export" on page 143
- "Build Flexibility for Testing" on page 101
- "Business Rules Are a Business unto Themselves" on page 152
- "Clump Data so That There Is Less to Think About" on page 16
- "Communicate with Your Code" on page 28
- "Consider Failure an Expectation, Not an Exception" on page 148
- "Consider Privacy" on page 153
- "Consistency Is Simplicity" on page 32
- "Create Interface Contracts" on page 26
- "Decide on a Strategy to Deal with Deviations and Errors" on page 36
- "Declaration over Execution" on page 63
- "Decouple with Associations" on page 110
- "Do a Little and Pass the Buck" on page 130
- "Do a Little Job Well and You May Be Called upon Often" on page 80
- "Document Your Assumptions and Your Decisions" on page 34
- "Don't Change What It Is" on page 141
- "Don't Let the Cold Air in" on page 159
- "Don't Overclassify" on page 62
- "Don't Reinvent the Wheel" on page 11
- "Don't Repeat Yourself (DRY)" on page 33
- "Don't Speed Until You Know Where You Are Going" on page 40
- "Exceptional Guideline" on page 3
- "Explicitness Beats Implicitness" on page 29
- "Figure Out How to Migrate Before You Migrate" on page 92
- "Get Something Working" on page 123
- "If It Can't Be Tested, Don't Require It" on page 53
- "If It Has Collection Operations, Make It a Collection" on page 68
- "If You Forget Security, You're Not Secure" on page 58
- "Honor the Class Maxims" on page 71
- "Know Who It Is" on page 94
- "More Is Sometimes Less" on page 132
- "Most Strings Are more than just a String" on page 19
- "Never Be Silent" on page 73
- "Never Let a Constant Slip into Code" on page 20
- "Nothing Is Perfect" on page 104
- "Overloading Functions Can Become Overloading" on page 82
- "Perform a Retrospective After Each Release" on page 96
- "Place Methods in Classes Based on What They Need" on page 75
- "Plan for Testing" on page 55
- "Plan Globally, Develop Locally" on page 51
- "Plan Your Logging Strategy" on page 136
- "Prototypes Are Worth a Thousand Words" on page 22
- "Report Meaningful User Messages" on page 38
- "See What Condition Your Condition Is in" on page 112
- "Separate Concerns to Make Smaller Concerns" on page 86
- "Separate Policy from Implementation" on page 81
- "Split Interfaces" on page 122
- "Splitters Can Be Lumped More Easily than Lumpers Can Be Split" on page 15
- "Test or Production: That Is the Question" on page 100
- "Test the Interface, Not the Implementation" on page 121
- "The Easiest Code to Debug Is That Which Is Not Written" on page 131
- "The Spreadsheet Conundrum" on page 41
- "Think About the Big Picture" on page 24
- "Think Interfaces, Not Inheritance" on page 77
- "To Text or Not to Text" on page 66
- "Use the Client's Language" on page 151
- "Use the Same Layout to Get the Same Layout" on page 124
- "Validate, Validate, Validate" on page 27
- "When in Doubt, Indirect" on page 134
- "When You're Abstract, Be Abstract All the Way" on page 17
|