In defense of not understanding your codebase
7 hours ago
- #software engineering
- #theory building
- #codebase understanding
- The article argues that in large software systems, having only a partial understanding of the codebase is acceptable and often necessary.
- It critiques Peter Naur's 'Programming as Theory Building' by stating that rebuilding large systems from scratch is impractical due to complexity and that abandoned systems can be revived through gradual learning.
- The author suggests that engineers in large teams must work with imperfect mental models, making educated guesses and dealing with consequences.
- Trade-offs are discussed, noting that factors like team turnover, legal requirements, and dependencies can hinder maintaining a full theory of the code.
- The article concludes that while maintaining a complete theory is desirable, in professional settings, other values like speed or compliance may take precedence.