
In the scenario of today, a subclass and superclass are not very different: the evolution of the code has brought them to this situation. Behavior has been...
0 replies - 2998 views - 01/23/12 by Giorgio Sironi in Articles

I recently attended the Devoxx conference.
One of the speakers was talking on a topic close to my heart,
Continuous Delivery. His presentation was...
0 replies - 3977 views - 01/22/12 by Dave Farley in Articles

A concrete class still defines an implicit interface by itself, as the set of its public methods. When the called interface is a subset of this, or it is...
1 replies - 3131 views - 01/18/12 by Giorgio Sironi in Articles

In the scenario of today, there are two or more unrelated classes with similar members, like common methods or fields. While these classes may be already...
0 replies - 3092 views - 01/16/12 by Giorgio Sironi in Articles

Maybe it’s all the time I spend with startups, but while I strongly
value Scrum’s ideas behind self-organizing teams & continual
feedback – I...
2 replies - 10908 views - 01/11/12 by Abby Fichtner in Articles

So far, we have only treated the movement of object members (fields and methods, and constructor as special methods); the assumption we made was that these...
0 replies - 2981 views - 01/11/12 by Giorgio Sironi in Articles

As happens often for a method, a field may be present in the base class of a hierarchy even if it is actually used only in some of the subclasses. This...
0 replies - 2655 views - 01/09/12 by Giorgio Sironi in Articles

In the scenario of today, some logic is in a superclass of a hierarchy, modelled as a method. However, this method is only useful for one of the subclasses in...
0 replies - 2586 views - 01/04/12 by Giorgio Sironi in Articles

This article describes some practices for test-driving multithreaded and distributed applications written in Java. The example I worked on and we will use is a...
4 replies - 7584 views - 01/03/12 by Giorgio Sironi in Articles

After Pull Up Field and Pull Up Method, we explore today the last of this category of refactorings: Pull Up Constructor Body.The scenario consists of a series...
0 replies - 2961 views - 01/02/12 by Giorgio Sironi in Articles

We are in the part of the series where refactorings target mostly the elimination of duplicated code. For now, most solutions will achieve this goal via...
0 replies - 2971 views - 12/28/11 by Giorgio Sironi in Articles

We now enter in the territory of generalizations. It's a natural process, as we add more and more tests, for our code to become more general; but after we have...
0 replies - 4112 views - 12/26/11 by Giorgio Sironi in Articles

Sometimes catching an exception can be transformed in a preliminary check that avoid raising the exception in the first place. The code is then called only in...
0 replies - 2824 views - 12/21/11 by Giorgio Sironi in Articles

Error codes are mostly a relic of procedural programming: the object-oriented paradigm has introduced exceptions as a first-class mechanism to separate error...
2 replies - 3803 views - 12/19/11 by Giorgio Sironi in Articles

In this article we're going to develop an example of jQuery plugin with the aid of jsTestDriver, a little framework for writing automated tests.jQuery...
1 replies - 4811 views - 12/15/11 by Giorgio Sironi in Articles