Slide 1

Slide 1 text

FLAVIA FORTES @flafortes FlaviaFortes

Slide 2

Slide 2 text

Learn from my mistakes

Slide 3

Slide 3 text

Como faz um software bom?

Slide 4

Slide 4 text

Como ser um programador bom?

Slide 5

Slide 5 text

BOAS PRÁTICAS

Slide 6

Slide 6 text

1. Escreva testes!

Slide 7

Slide 7 text

Tá, mas por quê?

Slide 8

Slide 8 text

Reduz bugs

Slide 9

Slide 9 text

Auxilia a evolução do software

Slide 10

Slide 10 text

Facilita a manutenção

Slide 11

Slide 11 text

Serve de documentação

Slide 12

Slide 12 text

Aumenta a velocidade

Slide 13

Slide 13 text

2. Teste no browser!

Slide 14

Slide 14 text

3. Documente seu código

Slide 15

Slide 15 text

4. Crie um README para o seu projeto

Slide 16

Slide 16 text

Uma breve descrição da aplicação

Slide 17

Slide 17 text

Dependências

Slide 18

Slide 18 text

Setup

Slide 19

Slide 19 text

Processo de deploy

Slide 20

Slide 20 text

5. Defina um Style Guide

Slide 21

Slide 21 text

http://guidelines.plataformatec.com.br

Slide 22

Slide 22 text

E lembre-se: O código é de todo o time :)

Slide 23

Slide 23 text

6. Utilize diferentes ambientes

Slide 24

Slide 24 text

➔ Development ➔ Staging ➔ Production

Slide 25

Slide 25 text

7. Utilize ferramentas de controle de segurança e qualidade

Slide 26

Slide 26 text

Análise de código

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Detectores de vulnerabilidades

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

8. Evite o Big Design Up Front

Slide 31

Slide 31 text

YAGNI (YOU AIN’T GONNA NEED IT)

Slide 32

Slide 32 text

9. Faça Code Review

Slide 33

Slide 33 text

Foco no coletivo

Slide 34

Slide 34 text

Disseminação do conhecimento

Slide 35

Slide 35 text

Nivelamento

Slide 36

Slide 36 text

Pull Requests

Slide 37

Slide 37 text

10. Escreva mensagens de commit úteis!

Slide 38

Slide 38 text

git commit -m “fix”

Slide 39

Slide 39 text

Commit early and often

Slide 40

Slide 40 text

Merge early and often

Slide 41

Slide 41 text

Leitura recomendada The Pragmatic Programmer - Andrew Hunt - David Thomas cc Leitura recomendada

Slide 42

Slide 42 text

Leitura recomendada Test-Driven Development By Example - Kent Beck cc Leitura recomendada

Slide 43

Slide 43 text

Leitura recomendada Clean Code - Uncle Bob cc Leitura recomendada

Slide 44

Slide 44 text

Leitura recomendada The Clean Coder - Uncle Bob cc Leitura recomendada

Slide 45

Slide 45 text

Leitura recomendada Eloquent Ruby - Russ Olsen cc Leitura recomendada

Slide 46

Slide 46 text

Leitura recomendada Refactoring Ruby Edition - Jay Fields - Shane Harvie - Martin Fowler - Kent Beck Leitura recomendada

Slide 47

Slide 47 text

cc Leitura recomendada Driving Technical Change - Terrence Ryan

Slide 48

Slide 48 text

Recapitulando …

Slide 49

Slide 49 text

1. Escreva testes

Slide 50

Slide 50 text

1. Escreva testes 2. Teste no browser

Slide 51

Slide 51 text

1. Escreva testes 2. Teste no browser 3. Documente seu código

Slide 52

Slide 52 text

1. Escreva testes 2. Teste no browser 3. Documente seu código 4. Crie um README

Slide 53

Slide 53 text

1. Escreva testes 2. Teste no browser 3. Documente seu código 4. Crie um README 5. Defina um Style Guide

Slide 54

Slide 54 text

1. Utilize diferentes ambientes 2.

Slide 55

Slide 55 text

1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de segurança e qualidade 3.

Slide 56

Slide 56 text

1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de segurança e qualidade 3. Evite o Big Design Up Front 4.

Slide 57

Slide 57 text

1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de segurança e qualidade 3. Evite o Big Design Up Front 4. Faça Code Review 5.

Slide 58

Slide 58 text

1. Utilize diferentes ambientes 2. Utilize ferramentas de controle de segurança e qualidade 3. Evite o Big Up-Front Design 4. Faça Code Review 5. Escreva mensagens de commit úteis 6.

Slide 59

Slide 59 text

É preciso ser humilde para aprender e para ensinar

Slide 60

Slide 60 text

OBRIGADA!