
A piece of code is contained in all legs of a conditional: an obvious solution is to move it outside to simplify the branches. It may seem stupid to come up...
0 replies - 2582 views - 10/12/11 by Giorgio Sironi in Articles

DDD Day is an Italian event totally dedicated to Domain-Driven Design, an approach for software development in complex domains such as banking, insurance,...
2 replies - 6550 views - 10/11/11 by Giorgio Sironi in Articles

In this new article we continue to tackle conditional expressions, and their evolution towards polymorphism.In the scenario of today, multiple conditions lead...
0 replies - 2732 views - 10/10/11 by Giorgio Sironi in Articles

Michael Feathers presented his recurring idea of finding out which elements of design change together: his goal is to discover which classes or methods are...
0 replies - 5058 views - 10/06/11 by Giorgio Sironi in Articles

The terminology we will use in these articles on conditionals will be the following:a conditional is a whole if/else or switch statement and its content. It is...
0 replies - 3658 views - 10/05/11 by Giorgio Sironi in Articles

The Goal by Eli Goldratt is a business book in the form of a novel, where the protagonist must save his factory from closing due to very low productivity.The...
5 replies - 7110 views - 10/04/11 by Giorgio Sironi in Articles

Sometimes a refactoring that start from type codes take the inverse direction.One common case is when a hierarchy of subclasses presents variations only in...
0 replies - 3563 views - 10/03/11 by Giorgio Sironi in Articles

This article is the third and last part of the refactoring from type codes miniseries.First, we saw a case where no behavior was modified by the type code...
0 replies - 4780 views - 09/28/11 by Giorgio Sironi in Articles

This is the second part in the refactoring from type codes miniseries: type codes are scalar fields that can assume a finite number of values. The assumption...
0 replies - 4579 views - 09/26/11 by Giorgio Sironi in Articles

In the scenario of today, a method returns an array (or a collection object) kept as a field on the object, or allows it to be set with a brand new...
0 replies - 4507 views - 09/14/11 by Giorgio Sironi in Articles

In the scenario of today, we have a literal number, such as 42, scattered across the code base. Alternatively, this number may be just written in a single...
0 replies - 4641 views - 09/07/11 by Giorgio Sironi in Articles

Hooks are scripts that are called when certain events in the workflow of a source control system occur. In the case of Git, there are many possible hooks where...
2 replies - 18396 views - 09/06/11 by Giorgio Sironi in Articles

In this tour of the Microsoft Patterns & Practices
office workspaces, there are some interesting points brought up on
building collaborative agile...
0 replies - 2593 views - 09/05/11 by Caleb Jenkins in News

This refactoring is the inverse of Change Unidirectional Association to Bidirectional. We start from a bidirectional association, where two objects reference...
0 replies - 4210 views - 09/05/11 by Giorgio Sironi in Articles

If you listen to most conversations you’ll hear remarkably few
questions. When a conversation becomes difficult then we drop all
questions; we spend...
0 replies - 1205 views - 09/04/11 by Benjamin Mitchell in News