Naming by Purpose or by Effect

What’s the best way to name a css class: form-field-label or bold-text? Is there any difference between MVC’s EditorFor and TextBoxFor? Or between a DetailedRowText property and ArticleDescription? For all the cases, there is a difference. The first one is naming by purpose and the other naming by effect, or what it actually does. Even… Continue reading Naming by Purpose or by Effect

First Step on Legacy Code: Classifying

When working with legacy code I usually start by classifying all modules of the system based on the urgency for rebuild. The classification helps making sure that no work is wasted improving details of code that will be discarded later. I use four levels to classify the code: Urgent Rebuild Frozen Maintain Non-legacy The classification… Continue reading First Step on Legacy Code: Classifying

On Code Documentation or How to find your way Around a Resort

Having up to date and relevant documentation is a challenge for any software maintenance team. The key to success is to write a minimum of documentation, but make sure that it is relevant. The details can always be sorted out from the code. The external documentation (that is not in the code) should focus on… Continue reading On Code Documentation or How to find your way Around a Resort

How we Achieved the Best Code Quality in my Career

My recently finished project produced the best code quality in my career so far. The key success factors were a clear architecture, insane compiler warning levels and last but not least code reviews. The project was a greenfield project so there was no legacy code to inherit which gave us the opportunity to create something… Continue reading How we Achieved the Best Code Quality in my Career