Chapter 33. Conclusion
And with that you are prepared to answer the question “tidy first?” Over and over. Each time slightly differently, but each time affected by the same forces:
-
Cost—Will tidying make costs smaller, later, or less likely?
-
Revenue—Will tidying make revenue larger, sooner, or more likely?
-
Coupling—Will tidying make it so I need to change fewer elements?
-
Cohesion—Will tidying make it so the elements I need to change are in a smaller, more concentrated scope?
Most important, though, is you. Will tidying bring peace, satisfaction, and joy to your programming? Maybe some. This is important because if you are your best self, you are a better programmer. You can’t be your best self if you’re always rushing, if you’re always changing code that’s painful to change.
Don’t get carried away with tidying. Once you realize you can make your own life and work better by tidying, sometimes and somewhat, you can get giddy. Unlike the risk and uncertainty of features, where you can do what you think is right and folks can still be dissatisfied, you are the audience for your tidying, and you’re very likely to be satisfied.
Coupling conducts one tidying to the next to the next. Tidyings are the Pringles of software design. When you’re tidying first, resist the urge to eat the next one. Tidy to enable the next behavior change. Save the tidying binge for later, when you can go nuts without delaying the change someone else is waiting for.
And be aware that as you practice ...