Refactoring Paintings

Refactoring is a well known technique in software development. In short terms, refactoring is to execute a sequence of small well defined steps with the intention to let your code base more clear, more beautiful, more elegant. The result of a continuous refactoring practice is a simpler and easier to maintain software project. There many times also when refactoring takes the programmer to create new abstractions and code generalizations.

Let’s go to a simple example: suppose we are programming a Person entity class. This class contains attributes like name, weight, age, gender, spoken language. After some time, I find out that I need to insert cats in my system for some reason. Continue reading