




Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Estudo sobre a boa prática de se escrever código limpo, padronizado, de fácil leitura e compreensão no desenvolvimento de software
Tipologia: Notas de estudo
1 / 8
Esta página não é visível na pré-visualização
Não perca as partes importantes!





Citação “ Toda linha de código que você escreve deve estar testada, e Ponto final.” Uncle Bob/ Robert C. Martin autor de Code Clean book.
Seja Profissional Você é responsável pelo seu código, pela estrutura do código por isso seja profissional e escreva códigos que não exijam altos custos ou grande esforço para mantê-lo ou entendê-lo. Estude e procure conhecimento com profissionais, você é responsável pelo seu futuro, pelo seu conhecimento e seu estudo, não seu chefe, nem a empresa onde você trabalha. Seja profissional, você recebe para resolver os problemas da empresa e não os seus durante as 40 horas semanais de seu trabalho. Então vamos fazer uma continha simples e dar exemplos:
Sentimentos ao ver código ruim Raiva – Ao tentar ler um código sujo, feio, fedido é comum sentir raiva de quem fez algo tão depreciável. Perda de Tempo – Perder algo tão precioso e extremamente útil tentando ler, entender, interpretar, desmistificar um código ruim. Frustração – Sentimento sentido, pois você se vê em um beco tão fundo quanto possível, mas sem uma única saída. Pois você tenta enxergar e corrigir o problema que aquele código causa, mas de tão ruim não sentimo-nos capazes de resolver o problema. Dor – Ao sentir aquela entrave pontiaguda entrando pelo canal da garganta e descer velozmente em direção ao estômago, é o que produz ao se deparar com um código sujo e mal feito.
Clean Code? É um código que reúne ao mesmo tempo as seguintes características:
Há exceções é claro, mas mesmo com exceções preze sempre pela responsabilidade única ao método. Seu nível de endentação (muitos dizem identação) não deve ser maior que 2 para uma compreensão fácil e rápida. Reforçando a regra, métodos e funções devem fazer apenas uma coisa, fazê-la eficientemente e somente fazê-la. Não economize bits, use várias palavras e as palavras certas para que o método seja facilmente entendido e possa transmitir o que ele realmente faz. Mas cuidado há boas práticas da orientação a objetos que restringe o uso de métodos com identificadores longos e que cansam o compilador.
Parâmetros Já como dizia nossa nova e já velha orientação a objetos (POO), métodos com diversos parâmetros além de confundirem quem o implementa para a chamada, devem ser evitados, exceto aqueles que se justifiquem e o por que de conter tantos parâmetros. Na orientação a objetos, como já é de se esperar trabalha-se com objetos. Assim objetos encapsulam atributos ou variáveis de instância contendo informações estritamente pertinentes a ele, assim métodos devem trabalhar com objetos como argumentos para parâmetros. Um método com uma lista grande de parâmetros além de causar todo este alvoroço, fazem com que a dificuldade de realizar testes unitários aumente.
Ainda falando de Métodos Métodos devem ter e realizar somente uma responsabilidade, e para isso existe o conceito command query separation , que diz que um método deve executar algo ou retornar algo, mas nunca as duas tarefas. DRY ( Don’t repeat yourself ) Conceito que diz, não repita código. Ou seja, evite duplicidades e reutilize ou refatore o código.
Classes A regra segue a linha de raciocínio dos métodos, que diz que devem ser pequenas e coesas, realizam somente uma responsabilidade. Classes pequenas são mais fáceis de ler e mais simples de entender. Convenções dizem que classes com tamanho superior a 200 linhas (sem um motivo claro e justificado para serem maiores) e que contem linhas com mais de 100 caracteres, é uma classe grande e que pode conter responsabilidades a mais ou distintas em seu escopo.
Ao abstrair, definir ou classificar uma classe evite usar preposições como: “e”, “mas”, “se” e “ou”, o que poderá significar que elas realizam mais que uma responsabilidade. O princípio da separação de responsabilidades (SRP) diz que uma classe deve conter apenas uma razão para ser modificada. Não há razão para ter que alterar outra classe para poder modifica-la.
Coesão Classes devem conter poucas variáveis. Cada método deve manipular uma ou mais variáveis e manter distâncias de números mágicos. Quanto mais variáveis o método manipula, mais coeso ele é para a classe. Quando há coesão, significa que métodos e variáveis são co-dependentes.
Comentários Comentários geralmente não recebem manutenção. Comentários raramente são modificados à medida que o código evolui. Há aqueles que imaginam que inserindo comentários em um código fedido, sujo e poluído, irá esconder o que já de errado nele. Comentários devem ser usados para explicar alguma tomada de decisão ou precaver e prever alguma funcionalidade anormal que poderia ser causada por alguma prática de programação já identificada anteriormente a implementação. O correto é, explique-se no código e não nos comentários. Comentários só existem para que outros desenvolvedores saibam por que causa algo foi feito daquela forma. Exemplo: // check if the employee is eligible for beneif ((employee.flags == 100) && (employee.age > 65))fits
Ao invés, use: if (employee.isEligibleForBenefits()) Comentários são úteis para mostrar a intenção por trás de uma decisão tomada, e não só pela informação.
Exemplos de comentários sem sentido e sem necessidade e muitas vezes indicando algo feito erroneamente: try {String meuStr; while (1 == 3) {i++; …
O contexto da Exception deve informar detalhes como o que aconteceu (a mensagem específica lançado pela exceção), o que estava sendo executado e o que causou o erro. Nunca utilize o tratamento da condição excepcional para dar continuidade no fluxo que foi interrompido utilizando outras funções ou métodos. Separe as regras de negócio de erros. Não retorne null quando exceções forem lançadas, procure sempre utilizar objetos especiais (Special Case Objects, Martin Fowler) ou no caso de collections ou coleções um objeto da coleção sem itens. Não passe como argumento null para métodos, é perigoso e pode causar exceções do tipo NullPonterException.
Testes Unitários Siga as três leis do TDD:
Testes nunca podem ser sentidos como um peso, ou um atraso no desenvolvimento. Testes devem ser vistos como segurança para o seu código produzido e que irá realizar o trabalho para o qual foi idealizado e designado. Mau Cheiro (Bad Smells) São exemplos de mau cheiro e que significa que seu código deve ser refatorado são: