9 ms·
Very few, if any people can keep every detail of a system as complex as a modern piece of software in their head at once. As developers we just have to accept t
by lukeck 14y ago
Very few, if any people can keep every detail of a system as complex as a modern piece of software in their head at once. As developers we just have to accept that. Understanding the big picture, and how all the parts of a picture fit together is still important so rather than trying to load everything into our brains at once, we can focus on a part at a time and develop a good test suite that will point out the effects of any changes so you don't have to try to anticipate them and can focus your energy on he problem at hand.
Expanding on that, having a good set of automated tests gives you confidence that all the pieces of the system fit together properly. With good tests in place, you can focus on changing a small part of the code without having to understand how it relates to every other part of the project. If the small change affects anywhere else you'll see this in failing tests.
If you aren't already, start writing unit and integration tests for your code. It can feel like unnecessary overhead at first but you quickly reach a liberating point where you can lean on the tests to tell you how any changes affect the bigger picture.
- diminium 14y ago"so rather than trying to load everything into our brains at once, we can focus on a part at a time and develop a good test suite that will point out the effects of any changes so you don't have to try to anticipate them and can focus your energy on he problem at hand." Hmm.. Let me ask you something. There's a ton of lectures and blogs written about TDD and what not. Do you consider them mostly valuable or do you consider most of them to be junk?