Reflexões e anotações sobre Ruby, Rails e arquitetura de software.
Automated Testing: types, TDD, and testability
One of the most common reasons people give for writing automated tests is to prevent regressions, basically, making sure a new change doesn’t break a...
Dependency Management: what one part of a system needs to know about another
You’ve probably seen plenty of collaboration between components and parts of an application’s code. As a rule, every application is made of parts that need...
Single Responsibility (SRP): thinking beyond classes
Today let’s talk about Single Responsibility. If you’ve heard of SOLID, you’ve definitely run into this principle before, it’s the “S” in the acronym.
Layered Architecture
If you’ve ever worked with Rails, you’ve probably used layered architecture without even noticing. It shows up, in one way or another, in most of...
Coupling: what it is, types, and how to decouple it
When we talk about software architecture, one topic that always comes up is coupling, and whenever we talk about it, we tend to think mostly...
Static Analysis: beyond linting
The other day, studying Software Architecture, I ran into fitness functions, a concept that shows up a lot in architecture and refers to automated mechanisms...