The Painter and the Paint Bucket: A new explanation for Technical Debt

Technical Debt is a metaphor that explains about the consequences of doing an incomplete work, in which software development problems are compared with a debt acquired by means a loan, relating those problems to both the principal and the interests of that debt. This analogy will be understood if the target audience have somewhat common […]

A Semantic Versioning convention of Corporate or Parent POMs

Maven allows us to inherit from parent POMs to allow reuse of project or corporate standards, like: Forcing a given minimum maven version. Using a specific library version. Defining an exact plugin version (for maximum build reproducibility). If the IT organization share some basic configurations across all their project, it usually represent it as a […]

Struts2-JUnit 0.2 Released!

Wow! It’s been a while since my last post, and luckily I managed to have some free time to work on some interesting projects. Finally I can write about this handy, little utility library I developed for testing our projects, hosted on Google Code under the name struts2-junit. Based on JUnit 4, it’s very easy […]

Things to consider before doing big refactorings in small businesses

When someone in the team advice to carry out a big refactoring, seems like a revelation made present into the room. There are the ones that look really surprised and find the proposition somewhat bold and there are others that may think “finally! someone brings this subject to the table!” If you are lucky, the […]

Some confusing cases of method overloading – Part 3

Following this series of posts related to method overloading in Java, now we will see how will the compiler behave when calling an overloaded method which actual parameter is a result of the conditional ? operator. First of all, in the case you missed the previous posts, here you have the links to the first […]

Some confusing cases of method overloading – Part 2

Some days ago I posted about an example program which called an overloaded method where its parameters are final variables. This time I’ll call an overloaded constructor where its actual parameter is a null literal. As per the Java Language specification, overloaded constructor resolution is identical to overloaded method resolution, so for methods these same […]

Some confusing cases of method overloading

Some time ago I was starting to wonder how the Java compiler actually worked, because some programs I was reading at that time compiled without errors but looked like something was out-of-place, particularly some example programs which included overloaded methods. Method overloading is basically a feature offered by a programming language allowing to create several […]