Extracing Value Objects
Software systems usually get more complex over time. In the beginning a variable starts out to represent something very simple with very few rules and constraints that can are enforced in a single...
View ArticleRefactoring with the Advanced Boy Scout Rule
When we join teams to coach them with refactoring their legacy code base, many of them are overwhelmed by the sheer mass of code. That typically results in the request for "some refactoring sprints" or...
View ArticleFive Tips to Improve Your Unit Testing
After you got the hang of unit testing there is still so much space for improvement. In this post I want to share five tips with advanced testers I have seen to influence testing in the right direction.
View ArticleCrafting Quality Software 2.0
The second version of our book "Crafting Quality Software – Gems From the Qafoo Blog" is ready and available for download from now on. In the recent months we wrote a lot about refactoring techniques,...
View ArticleRefactoring Singleton Usage to get Testable Code
So your code base is littered with singletons and using them? Don't worry, you can start refactoring them out of your code base class by class and introduce increased testability at every step. This...
View ArticleMethods Of Teaching
There are many different ways to teach topics of software developments. From recorded lectures to pair programming. Over the time we tried many of them with different customers and different topics. I...
View ArticleWhy Apache Benchmark Is Not Enough
You are working for months on a new web application or e-commerce system and usually a few weeks or just days before the launch a complete enough feature set is running on a production-like system so...
View ArticleChecklist For A Reliable Load-Test
Setting up a load-test that produces results you can rely on is not that simple. But without realistic test-results you cannot be sure that your application handles sudden increases of traffic, rapid...
View ArticleOOD: Injectables vs.Newables
Many projects I join - even those that claim to already do dependency injection - suffer from issues that result from mixing injectable and newable classes. Keeping these two appart seems to be...
View ArticleRefactoring Matrix
When you are beginning to consider refactoring your big legacy codebase towards a new software design, then it is not uncommon to feel helpless after estimating this to be a huge terrifying 2-5 years...
View Article