Refactoring: How much?

On “Refactoring – Improving the Design of Existing Code”, Martin Fowler wrote “Code refactoring is the process of restructuring existing computer code without changing its external behavior.” [1]. Along with the “recipes” for safe refactoring, the term code smells was introduced. Code smells refer to certain structures in code that present potential design and implementation […]

Read More Refactoring: How much?

Waterfall good things

Nothing more has to said to be burned at the stake! We all know the disadvantages of Waterfall Software Development, A.K.A. Big Design Up Front, A.K.A. pure evil. But before we condemn Waterfall and every company for applying it, we should understand the context when it was created. “Standing on the shoulder of giants” is […]

Read More Waterfall good things

Best code I’ve ever written

On my life as a developers, I have been in several stages. On the beginning I was mesmerized with what I could do with code. I really thought I was an excellent developer. Until I found out is was only my narrow perception. I started hiding my code, afraid of what others would think. I […]

Read More Best code I’ve ever written

Be nice to tests

Today there is high focus on great quality on production code. With production code I mean code that is part of the application. Test code tests production code. I see little worry about quality of test code, only production code. Test code can come in any form or shape, just as long production code has […]

Read More Be nice to tests

Make unit tests faster

During development, we end up having to write so many different types of tests. Seems a bit too much, but I believe it is not. Every test is testing “something”. If the “something” is not clear, maybe the test has no purpose. It exists over having to write tests. Unit tests are the most common. The classic […]

Read More Make unit tests faster

Rewrite the whole thing

I want to talk about the great Software Development paradigm that has been around for many years: The “rewrite the whole thing”. Start by writing a software system. When it’s ready, put it in the market. Spend 1-2 years improving it, fixing bugs. Start again. We’ve seen it with Microsoft, for example. Remember Windows 3.11, […]

Read More Rewrite the whole thing