Why most software defects are caused by improper abstraction

This title was summarized by AI from the post below.
View profile for Claudio Rodrigues

TL;DR: I get things done. The…2K followers

Virtually none of the expensive-to-fix software defects I've seen in my career were caused by lack of coding skills; they were caused by improper understanding and/or abstraction of the problem in hand. Improper abstraction usually leads to components with low cohesion and high level of coupling, which make changes harder to implement and riskier to deploy. That is why I advised people to: 1 - Understand the problem you're trying to solve, end to end. Use questions like "what about...?" and "what if...?" to stress scenarios. 2 - Work out the solution on paper, white board or whatever, before jumping into code. 3 - WRITE DOWN what the solution is supposed to do. #3 is unfortunately a lost art. People are usually very averse to writing and even more to reading. Besides being excellent to our brains (https://lnkd.in/gXR_PkyP), there are some concepts and interactions that are impossible to convey via diagrams. When a solution contains only diagrams, it will most likely leave important details out. I lost count of the times I was writing down a solution and I realized that some aspect of it made no sense and needed further clarifications.

Well said, Claudio....and "Oh, man..!

To view or add a comment, sign in

Explore content categories