2. Object Calisthenics
- Introduzido por Jeff Bay no livro Thoughtworks Anthology
- Conjunto de boas práticas e regras de programação
- Visa melhorar do código a sua:
- Qualidade
- Manutenabilidade
- Legibilidade
- Testabilidade
- Compreensão
3. Object Calisthenics: 9 Regras
1. Only One Level Of Indentation Per Method
2. Don’t Use The ELSE Keyword
3. Wrap All Primitives And Strings
4. First Class Collections
5. One Dot Per Line
6. Don’t Abbreviate
7. Keep All Entities Small
8. No Classes With More Than Two Instance Variables
9. No Getters/Setters/Properties
7. 1. Apenas UM nível de indentação por método
(forma 1)
8. 1. Apenas UM nível de indentação por método
(forma 2)
9. 2. Não utilizar ELSE
- Evitar o máximo possível a utilização do “ELSE”.
- O “ELSE”, junto com mais níveis de indentação, aumenta a
quantidade de “caminhos” de execução do código.
- Para evitar o ELSE podemos aplicar alguns conceitos e
práticas como:
- Polimorfismo
- Early Return
- Inversão de condicional
16. 6. Não abreviar
- Não abreviar nomes de variáveis e métodos
- Não utilizar nomes com significado implícito ou piada interna
17. 7. Mantenha todas as entidades pequenas
- Classes com no máximo 50 linhas (ou uma quantidade pré
estipulada dentro da empresa, por exemplo, 200)
- Objetivo principal de separar bem as responsabilidades por
classes
18. 8. Não ter mais de duas instâncias de variável
por classe
- Alta coesão e princípio da responsabilidade única
- Sugestão: Utilizar esta regra como métrica
Fonte: https://williamdurand.fr/2013/06/03/object-calisthenics/#8-no-classes-with-more-than-two-instance-variables
19. 9. Não utilizar
Getters e Setters
- Polêmico
- Este princípio visa encapsular
regras associadas a um objeto à
ele mesmo.