Slide 1

Slide 1 text

Escrevendo funções que falam por si só Clean Code:

Slide 2

Slide 2 text

Rita Lino Desenvolvedora Front-End @ Creditas Coordenadora @ Mulheres na Tecnologia Baixada Santista @ritalinux @rita-lino

Slide 3

Slide 3 text

Clean Code Robert C. Martin (Uncle Bob)

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Quantas linhas uma função deve ter? 1, 5, 10, 20?

Slide 6

Slide 6 text

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

Slide 40

Slide 40 text

@ritalinux @rita-lino OBRIGADA!