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." . 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… Continue reading Refactoring: How much?
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… Continue reading Waterfall good things
On my life as a developer, 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… Continue reading Best code I’ve ever written
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… Continue reading Be nice to tests
Gartner Hype Cycle provide a graphic representation of the maturity and adoption of technologies and applications . This curve is based in Amara's Law : We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run. In other words, it is easy to understand the… Continue reading Year 2025 – Why microservices are dead
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… Continue reading Make unit tests faster
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,… Continue reading Rewrite the whole thing