Desenvolve decomposição em funções, módulos, interfaces e invariantes. Projetos pequenos mostram como reduzir repetição e controlar a complexidade do código.