3 ms·
As an engineer I see every piece of added complexity as a carrier of a little bit of liability. Yes that piece might add functionality, increase reliability an
by atoav 2y ago
As an engineer I see every piece of added complexity as a carrier of a little bit of liability. Yes that piece might add functionality, increase reliability an such, but it also needs to be maintained, understood, documented and increases the complexity of the whole (and thus makes it unlikelier to some random developer just understanding it).
Technical debt is when pieces of your code cannot simply be maintained and understood, or when these pieces produce constant maintenance issues because they have been assembled the wrong way or a dependency is no longer maintained itself.
Good code is code that people want to maintain.
- ChrisMarshallNY 2y agoA significant part of my refactoring, is removing code. I always say that the best code I write, is the code I don’t write. It can take longer to simplify a block of code, than it took to originally write. I also tend to use “light touch” documentation[0]. I use headerdoc-style function and property intros, with occasional terse inline comments for inscrutable parts. These inline comments always talk about why I’m doing something odd. And I eat my own dog food. I maintain almost everything I write, so I write code and documentation that I want to see, six months down the road. And testing. I do a lot of that; especially monkey testing[1]. [0] https://littlegreenviper.com/miscellany/leaving-a-legacy/ https://littlegreenviper.com/miscellany/leaving-a-legacy/ [1] https://littlegreenviper.com/various/testing-harness-vs-unit/ https://littlegreenviper.com/various/testing-harness-vs-unit...