Use Inheritance Properly

How many times did you ask yourself, in order to avoid duplicated code, if you should use inheritance or composition? Did you ask yourself about the differences between subtype and subclass? Do you always follows the Liskov Substitution Principle? This post will try to help to answer these questions. And... [Read More]

Please, use the debugguer

I have found, during my experience (which is far from large one) working with other developers, that few of them use the debugger as the first tool for troubleshooting and learning or understand legacy code. If you are familiar with Java/Eclipse, you will know that debugging an application is pretty... [Read More]
Tags: debug

Software Architecture vs Software Design

I cannot find in the literature a precise distinction between Software Architecture and Software Design. Of course, I did not read all the books about software Architecture available in the market, but I read two great books, which I recommend (mentioned on footnotes below), but neither of them, IMHO, are... [Read More]

A Note on the Definition of Legacy Code

Many developers think that Legacy Code is an old code base that they inherit. A working application that other developer or other team wrote and you inherit it to maintain or enhance or to migrate to a newer platform. This is not entirely true, according to the definition of Michael... [Read More]