Boas práticas de desenvolvimento de software: TDD, Clean Code e Clean Architecture
Gabarito: letra A. A sequência correta é 1, 2, 3, 1, 3, 2. A associação correta exige conhecer os conceitos fundamentais: TDD (Test Driven Development) prega escrever testes antes do código e segue os princípios F.I.R.S.T.; Clean Code foca em legibilidade e simplicidade; Clean Architecture busca independência tecnológica e organização em camadas.
Vamos analisar cada lacuna:
"Preconiza que os testes de software devem ser escritos antes da codificação propriamente dita, possibilitando alcançar 100% de cobertura do código." → TDD (1). Essa é a essência do desenvolvimento orientado a testes.
"Orienta os desenvolvedores a escreverem códigos facilmente compreendidos por outros desenvolvedores." → Clean Code (2). O objetivo principal do Clean Code é a legibilidade.
"Tem por objetivo padronizar e organizar o código desenvolvido, favorecer sua reusabilidade, bem como sua independência tecnológica." → Clean Architecture (3). A independência de frameworks e a organização em camadas são características centrais.
"Segue o modelo F.I.R.S.T. (Fast, Isolated, Repeatable, Self verifying, Timely)." → TDD (1). F.I.R.S.T. é um conjunto de princípios para testes unitários, fortemente associado ao TDD.
"Baseia-se em entidades e casos de uso, adaptadores, frameworks externos, regras de dependência e fluxos de controle." → Clean Architecture (3). Essa descrição remete diretamente à arquitetura em camadas e à regra de dependência.
"Baseia-se nos princípios de legibilidade, manutenibilidade, simplicidade, documentação, abstração adequada e testabilidade." → Clean Code (2). Esses são os pilares do código limpo.
Portanto, a sequência é 1, 2, 3, 1, 3, 2, correspondente à alternativa A.
As demais alternativas trocam a ordem em algum ponto, mas não refletem a associação correta. Por exemplo, a alternativa B (1,2,3,1,2,3) erra ao colocar Clean Code no lugar de Clean Architecture no quinto item. A alternativa C (1,3,2,1,3,2) inverte o segundo e terceiro itens. A alternativa D (2,1,3,3,2,1) começa com Clean Code e mistura tudo. A alternativa E (3,2,1,1,2,3) começa com Clean Architecture no primeiro item.
Prática | Conceito central | Princípios-chave |
|---|
TDD (Test Driven Development) | Testes escritos antes do código | F.I.R.S.T. (Fast, Isolated, Repeatable, Self-verifying, Timely) |
Clean Code | Código legível e compreensível | Legibilidade, simplicidade, manutenibilidade, documentação |
Clean Architecture | Organização em camadas com independência tecnológica | Entidades, casos de uso, adaptadores, regra de dependência |
Gabarito: letra A.