Clean Code

Download Clean Code

Post on 03-Nov-2014

255 views

Category:

Documents

2 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

<ul><li> 1. Clean CodeFernando Gama Acadmico de Sistemas de Informao Bolsista AIT/CADIS/PROEG</li></ul> <p> 2. Clean Code O que isso? Elegante Eficiente Legvel Simples Direto nico Bem escrito Possui UMA responsabilidade 3. Clean Code Qual sua reao ao ver um cdigo ruim? 4. Clean Code O que todo bom cdigo deve ter? 1. Organizao; 2. Arrumao; 3. Limpeza; 4. Padronizao; 5. Autodisciplina; 5. Clean Code E se... o cdigo for confuso? Lentido; Uma alterao, vrias falhas; Remendos; Queda de produtividade; Alocao de mais recursos 6. Clean Code 1. Nomes significativos Nome deve revelar o seu propsito.O que fazem? Como so usados? Porque existem?No economize nos caracteres.Seja claro. Exemplo a no ser seguido: (int d;) //tempo em dias; 7. Clean Code public List getThem(){ List list1 = new ArrayList(); for(int[] x : theList) if(x[0] == 4) list1.add(x); return list1;public List getFlaggedCells(){ List flaggedCells = new ArrayList(); for(int[] cell:gameBoard) if(cell[STATUS_VALUE] == FLAGGED) flaggedCells.add(cell); return flaggedCells;} 8. Clean Code 1. Mtodos e funes O que os tornam mtodos e funes fceis de se ler e entender? A primeira regra dos mtodos que eles devem ser pequenos, a segunda que eles devem ser menores ainda. Recomenda-se 20 linhas.Deve fazer apenas uma coisa.Evite passar muitos parmetros. 9. Clean Code public boolean checkPassword(String username, String password) { String passwordStatus = cryptographer.decrypt(password); if(passwordStatus.equals(OK)) { Session.initialize(); return true; } return false; } 10. Clean Code 3. Comentrios O melhor comentrio aquele que no precisa ser escrito.Pode causar confuses.Se voc pensar em adicionar um comentrio melhor refatorar.Pode ser utilizado para informar ao leitor sobre alguma consequnciaNo apropriado inserir no cdigo crditos e autoria, redundncia,informaes excessivas, comentrios que devem ser explicados,etc. 11. Clean Code 4. Formatao Importante pois facilita o entendimento.Classes de no mximo 500 linhas uma boa prtica.Espaos entre operadores, parmetros e vrgulas.Conceitos relacionados prximos um do outro.Identao para visualizao do escopo. 12. Clean Code 5. Tratamento de exceo Evitar retornar um cdigo de erro.Lanamento de excesses.No retornar NULL.NULL no pode ser passado como parmetro.As mensagens devem ser informativas.Regras de negcio so tratadas em um lugar diferente das regras de erros. 13. Clean Code 6. Testes Garantir que cada pedao do cdigo esta funcionando.Regras do TDD:Voc no pode escrever o cdigo at que voc tenha criado um teste que falhe.Voc no pode escrever mais testes do que seja suficiente para falhar.Voc no pode escrever mais cdigo do que o suficiente para passar o teste que est falhando. 14. Clean Code 7. Diminuir o nmero de classes e mtodos Objetivo manter o sistema pequeno 15. Clean Code E muito +: http://blog.bluesoft.com.br/bluesoft-labsclean-code-por-bruno-lui/ http://www.slideshare.net/WillCaputo/clea n-code-13391715 16. Clean CodeOBRIGADO! </p>