Chapter 6. Building and Testing
Perfect code is a unicorn; what good developers do is introduce the smallest amount of bad code. Any code is, therefore, somewhat flawed, so errors and inefficiency are an inescapable pathology in software development. Accordingly, technical debt naturally compounds as more code is written. Some of the more expensive technical realities of modern application development are listed here:
- There are rigidly coupled components that do not easily allow change at either the technical level or the business level. Allowing such unprincipled interpenetration leads to complex capillary networks growing throughout the body of your code. The edges of these networks are nearly impossible to trace, concretizing entanglements that obscure how a change in one function might affect other functions.
- Poor gatekeeping allows untested code to enter production, often leading to quick fixes, which, in turn, can lead to intractable patches and bridge code as well as relentless...