Boas práticas de programação com Object Calisthenics
DaniloPinotti
101 views
23 slides
May 02, 2024
Slide 1 of 23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
About This Presentation
Apresentação sobre Object Calisthenics apresentada para a Let's em Abril/2024.
Size: 1.22 MB
Language: pt
Added: May 02, 2024
Slides: 23 pages
Slide Content
Object
Calisthenics
Por: Danilo Pinotti
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
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
Regras
1.Apenas UM nível de indentação por método
1.Apenas UM nível de indentação por método
1.Apenas UM nível de indentação por método
(forma 1)
1.Apenas UM nível de indentação por método
(forma 2)
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
2. Não
utilizar
ELSE
2. Não
utilizar
ELSE
3. Encapsular todos os tipos primitivos como Objetos
4. Utilizar Collections específicas
5. One Dot Per Line
5. One Dot Per Line
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
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
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
9. Não utilizar
Getters e Setters
-Polêmico
-Este princípio visa encapsular
regras associadas a um objeto à
ele mesmo.
9. Não utilizar
Getters e Setters
Referências
-CRUZ, R. Desenvolva um código melhor com Object Calisthenics.
Disponível em:
<https://medium.com/@rafaelcruz_48213/desenvolva-um-c%C3%B3dig
o-melhor-com-object-calisthenics-d5364767a9ba>. Acesso em: 2 maio.
2024.
-DURAND, W. Object Calisthenics. Disponível em:
<https://williamdurand.fr/2013/06/03/object-calisthenics/#8-no-classes
-with-more-than-two-instance-variables>. Acesso em: 2 maio. 2024.