2. Sobre nós
Desenvolvedora de Software na ThoughtWorks
Formada em Informática pela Universidade Estadual de
Maringá
Especializada em Desenvolvimento Web pela Universidade
Estadual de Maringá
Experiência de 6 anos de desenvolvimento de software
@EdlaineZamora
3. Sobre nós
Deva na ThoughtWorks =)
Formada em Sistemas de Informação pela Universidade
Federal dos Vales do Jequitinhonha e Mucuri
Especializada em Gestão de Projetos Ágeis
Experiência de 6 anos de desenvolvimento de software
@ThalitaPinheiro
5. Por que devemos escrever um bom código?
Escreva código para Pessoas além de Máquinas
6. Por que devemos escrever um bom código?
Escreva código para Pessoas além de Máquinas
7. Por que devemos escrever um bom código?
Escreva código para Pessoas além de Máquinas
Equipe
escreve
código ruim
Fica irritante
qualquer
alteração no
código
É solicitado o
replanejamento
do software
Uma nova
equipe é
selecionada
para isso
8. Por que devemos escrever um bom código?
Teoria da Janela Quebrada
Escreva código para Pessoas além de Máquinas
10. O que é um bom código?
Escreva código para Pessoas além de Máquinas
11. O que é um bom código?
Escreva código para Pessoas além de Máquinas
12. O que é um bom código?
Escreva código para Pessoas além de Máquinas
13. O que é um bom código?
Escreva código para Pessoas além de Máquinas
"É elegante, eficiente, simples, possui lógica direta, poucas
dependências, um bom tratamento de erro, abstrações claras, contém
apenas o necessário, possui testes automatizados, pode ser alterado com
facilidade, possui nomes significativos, possuem métodos e objetos que
fazem apenas uma tarefa, não possui nada de óbvio para ser melhorado.
Pode ser lido de forma natural, possui alta expressividade e parece que foi
escrito por alguém que se importa."
Tio Bob (Robert C. Martin)
15. Como podemos escrever um bom código?
Utilize a Regra do Escoteiro
Deixe a área do acampamento mais limpa do que como você a encontrou!
Escreva código para Pessoas além de Máquinas
16. Como podemos escrever um bom código?
Escreva Nomes Significativos
Variáveis, funções, parâmetros, classes,
pacotes, arquivos fontes, diretórios, etc.
Escreva código para Pessoas além de Máquinas
17. Como podemos escrever um bom código?
Escreva Nomes Significativos
Escreva nomes com fácil pronúncia
❖ Ex: generation date, year, month, day, hour, minute e second)
Escreva código para Pessoas além de Máquinas
18. Como podemos escrever um bom código?
Escreva Nomes Significativos
Escreva código para Pessoas além de Máquinas
19. Como podemos escrever um bom código?
Escreva Boas Funções
Escreva funções:
❖ Pequenas
❖ Sem estruturas aninhadas
❖ Que faça apenas uma coisa
Escreva código para Pessoas além de Máquinas
20. Como podemos escrever um bom código?
Escreva Boas Funções
Mantenha o menor número de parâmetros possível
Escreva código para Pessoas além de Máquinas
21. Como podemos escrever um bom código?
Escreva Boas Funções
Cuidado com "Efeitos Colaterais"
Escreva código para Pessoas além de Máquinas
22. Como podemos escrever um bom código?
Escreva Boas Funções
Evite duplicações
❖ A duplicação pode ser a raiz de todo o mal no software
Escreva código para Pessoas além de Máquinas
23. Como podemos escrever um bom código?
Escreva Boas Funções
Porém…
Escreva código para Pessoas além de Máquinas
24. Como podemos escrever um bom código?
Escreva Boas Funções
Escreva código para Pessoas além de Máquinas
25. Como podemos escrever um bom código?
Evite Escrever Comentários
Escreva código para Pessoas além de Máquinas
26. Como podemos escrever um bom código?
Evite Escrever Comentários
"Não insira comentários em um código ruim, reescreva-o"
(Brian W. KErnighan e P.J. Plaugher)
Escreva código para Pessoas além de Máquinas
27. Como podemos escrever um bom código?
Evite Escrever Comentários
Escreva código para Pessoas além de Máquinas
28. Como podemos escrever um bom código?
Evite Escrever Comentários
Escreva código para Pessoas além de Máquinas
29. Como podemos escrever um bom código?
Comentários em Códigos Público
❖ Se o código é público, uma biblioteca por exemplo, escrever um bom Javadoc é
essencial para sua utilização
Escreva código para Pessoas além de Máquinas
30. Como podemos escrever um bom código?
Faça uma Boa Formatação
❖ A formatação do código é importante
❖ Serve como comunicação
○ Cada linha representa uma expressão ou estrutura
○ Cada grupo de linhas representa um pensamento completo
Escreva código para Pessoas além de Máquinas
31. Como podemos escrever um bom código?
Faça uma Boa Formatação
E o mais importante...
Escreva código para Pessoas além de Máquinas
32. Como podemos escrever um bom código?
Faça uma Boa Formatação combinada com a Equipe
❖ Cada desenvolvedor(a) tem suas regras de formatação preferidas
❖ Se for trabalhar em equipe, as regras são delas
○ O software precisa ter uma formatação consistente
○ A última coisa que precisamos é adicionar mais complexidade ao código
programando-o com um monte de estilo diferente
Escreva código para Pessoas além de Máquinas
33. Como podemos escrever um bom código?
Saiba Diferenciar Estrutura de dados de Objetos
As estruturas de dados expõem seus
dados e não possuem funções significativas
Escreva código para Pessoas além de Máquinas
Estrutura de
dados
34. Como podemos escrever um bom código?
Saiba Diferenciar Estrutura de dados de Objetos
Os objetos usam abstrações para esconder
seus dados, e expõem as funções que operam
em tais dados
Escreva código para Pessoas além de Máquinas
Estrutura de
dados
35. Como podemos escrever um bom código?
Faça um Bom Tratamento de Erro
❖ Retornar código de erro é uma violação da separação comando-consulta
○ Ex.: if (deletePage(page) == E_OK) {...}
❖ Além disso, o chamador da função é obrigado a lidar imediatamente com o erro
Escreva código para Pessoas além de Máquinas
36. Como podemos escrever um bom código?
Faça um Bom Tratamento de Erro
❖ A exceção deve fornecer o contexto suficiente para determinar a fonte e a localização de
um erro
❖ Crie mensagem de erro informativa e a passe juntamente com a exceção
❖ Mencione a operação que falhou e o tipo de falha
Escreva código para Pessoas além de Máquinas
37. Escreva código para Pessoas além de Máquinas
Como podemos escrever um bom código?
Faça Testes Automatizados
❖ Teste deve ser mantido limpo
❖ Os testes devem ser legíveis
❖ E o que torna o teste legível?
○ Clareza
○ Simplicidade
○ Consistência de expressão