REGRA #1
elas devem ser pequenas
REGRA #2
elas devem ser ainda menores
Slide 7
Slide 7 text
REDUZA OS BLOCOS DE INSTRUÇÃO A
UMA LINHA
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
FUNÇÕES DEVEM FAZER UMA COISA.
ELAS DEVEM FAZER ISSO BEM.
Slide 10
Slide 10 text
UM NÍVEL DE ABSTRAÇÃO POR FUNÇÃO
Slide 11
Slide 11 text
USE NOMES DESCRITIVOS
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
1, 2 OU 3 ARGUMENTOS?
Slide 14
Slide 14 text
UM DOIS TRÊS
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
VERBOS PARA FUNÇÕES
SUBSTANTIVOS PARA PARÂMETROS
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
EXTRAIA OS BLOCOS TRY/CATCH
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
EVITE CÓDIGO DUPLICADO
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
CUIDADO COM OS EFEITOS COLATERAIS
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
FUNÇÕES DEVEM FAZER ALGO
OU RETORNAR ALGO
Slide 25
Slide 25 text
COMMAND
QUERY
Altera estado
Retorna valor
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
RESUMINDO...
Slide 28
Slide 28 text
RESUMINDO...
1) Tenha funções pequenas
Slide 29
Slide 29 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
Slide 30
Slide 30 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
Slide 31
Slide 31 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
Slide 32
Slide 32 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
5) Use nomes descritivos
Slide 33
Slide 33 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
5) Use nomes descritivos
6) Passe no máximo dois parâmetros
Slide 34
Slide 34 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
5) Use nomes descritivos
6) Passe no máximo dois parâmetros
7) Extraia blocos try/catch
Slide 35
Slide 35 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
5) Use nomes descritivos
6) Passe no máximo dois parâmetros
7) Extraia blocos try/catch
8) Evite código duplicado
Slide 36
Slide 36 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
5) Use nomes descritivos
6) Passe no máximo dois parâmetros
7) Extraia blocos try/catch
8) Evite código duplicado
9) Cuidado com os efeitos colaterais
Slide 37
Slide 37 text
RESUMINDO...
1) Tenha funções pequenas
2) Extraia os blocos de instrução
3) Funções devem fazer uma coisa
4) Tenha um nível de abstração por função
5) Use nomes descritivos
6) Passe no máximo dois parâmetros
7) Extraia blocos try/catch
8) Evite código duplicado
9) Cuidado com os efeitos colaterais
10) Uma função deve fazer algo ou retornar algo
Slide 38
Slide 38 text
Deixe o código mais limpo do
que quando o encontrou
mentalidade de escoteiro:
Slide 39
Slide 39 text
Profissionais usam seus poderes
para o bem e escrevem código que
outros possam entender.
— Uncle Bob