Doing maintenance work on a codebase isn’t very glamorous, and it isn’t always much fun, but it’s an important piece of building lasting software. Everyone loves working on so-called greenfield projects because they can let their creativity run wild. Adding features and fixing bugs in a system that’s already been built doesn’t seem to generate […]
Refactoring is the process of organizing code to make it more readable and maintainable. There are a few steps you can take to refactor your code, if you don’t know where to start, or if you feel overwhelmed here are some ways to start. The goal is code that is easy to read and understand.
In more than one project retrospective, I’ve heard things like “We need to slow down so we can refactor more and write better code” and “We need to be more disciplined about writing good unit tests.”
Over the years I’ve had to revisit or work on software projects created by other developers. Outside of an effective test suite, there four things that I really appreciate when work in a codebase that I am not familiar with: Good Build Documentation Extensive Logging Support for Localization Configurability
Code reviews are a valuable practice for a larger team of developers. Not all tasks are optimum for pairing, and code review can be a way to get that second set of eyes that you would normally get if you had a pair sitting next to you. The fundamental problem with code reviews — it’s […]
What does a potted plant have in common with a large software codebase? At first glance, they seem like completely different things. But in fact, both require regular maintenance to stay healthy and keep growing. When they’re neglected, both begin to decay in much the same way. I take care of the dozen plants distributed […]
During my most recent project, we made extensive use of formal code reviews. This process drastically increased the quality of code in the project, reduced the ramp-up time of new devs on the project, and facilitated knowledge sharing across the entire team. I also found that it didn’t cause an excessive hit on developer productivity […]
If you’re reading this, you have probably ended up in a stranglehold of a mountain of seemingly-insurmountable “technical debt” at some point or another in your career. And you are probably also wondering if I have some magic recipe to extricate it from your future?!? Or maybe you, like me, have, once again, run into […]