Apresentação Clean Code

21
Clean Code André Luiz Leoni Jean Leno Heidemann

Transcript of Apresentação Clean Code

Clean CodeAndré Luiz Leoni

Jean Leno Heidemann

SumarioO que é?

Nomes Significativos;Comentários;Formatação;

Objetos; Estruturas de Dados;Tratamento de Erros;

Refinamento;

Clean Code vs Rendimento da EquipeReplanejar a construção de

um sistema nem sempre é a melhor opção;

Um código mal desenvolvido pode no começo ser eficiente, porém, com o tempo, pode levar a empresa a descontinuidade dele.

Definição Software

Soft - Flexível

Ware - Produto manufaturado

Clean CodeCódigo testávelLegívelMétodos bem definidosSem duplicidade de código e sobretudoVocê encontra a informação que você

esperava

Nomes SignificativosO nome de uma variável ou classe, deve dizer o porque ele existe;Nomes devem ser bem distintos;Nomes de funções devem ser pronunciáveis e passíveis de busca;Nomes de classes devem sempre ser substantivos;Nomes de funções não podem dizer que a função tem 2 funcionalidades;Nomes de métodos devem ser descritivos e conter o verbo do que aquele

método irá fazer;Padronize as palavras escolhidas no sistema;Use nomes técnicos na sua aplicação;Adicionar contextos significativos a variáveis.

Nomes SignificativosNão faça isso.

Faça isso.

Nomes Significativos

Evite Usar nomes errados

casa | caza

Usar nomes parecidos

informacaoProduto | dadosProduto

Usar nomes sequenciais

contador 1 | contador2 | contador3

Nomes de classes deve sempre ser substantivos

Produto, Item, Carro, Casa

Nomes de funções devem conter verbo que indica o que o método deve fazer

cadastrarProduto, pagarFatura, solicitarOrcamento

Exemplos...

FunçõesFunções devem ser de Responsabilidade única e

não podem inflingir os princípios de Aberto-Fechado;

Funções não podem indicar duas funcionalidades;

verificarVendaEOrcamento, receberOuPagarFatura

Funções devem ser pequenas;Máximo 20 linhas

Máximo 100 caracteres por linha

Nível de identação não deve ser maior que 2

Número de parâmetros ideal é de 0 a 2

ComentáriosOs melhores comentários são aqueles que não precisam ser feitos

Bons comentáriosQuando explica a intenção de uma decisão tomada, não apenas a informação do

código

Alerta para futuros desenvolvedores

Não use comentários quando você pode usar variáveis ou métodos

ComentáriosNão fazer comentários óbvios

Não fazer comentários de fechamento de instruções

Não comente códigosFuturos desenvolvedores não sabem o motivo de existir e os matém

FormataçãoNão é regra, mas classes geralmente tem entre 200 e 500 linhasClasses menores são mais fáceis de entenderSugere-se que um limite de até 100 ou 120 caracteres em uma linhaUtilize espaço entre operadores, parâmetros e vírgulas

Formatação

A leitura de um código deveria ser tão simples como um usuário lê um jornal.

IdentaçãoFique atento na identação dos códigos.

Objetos - Lei de DemétrioUm módulo não deve saber as entranhas do objeto que ele manipula.

Objetos x Estruturas de DadosObjetos

Escondem os dados

Expõem os métodos que manipulam os dados

Estruturas de dadosExpõem os dados

Não possuem métodos significativos

Tratamento de ErrosUtilizar exceptions em vez de códigos de erro;

Códigos de erro são mais facilmente esquecidos de serem tratados;

A linguagem Java por exemplo, quando adicionado a declaração “throws” em um método, força que o desenvolvedor trate o erro

Não retorne null em um método e não passe null em parâmetrosValores null facilmente causam NullExcelptions

RefinamentoNão pense que Clean Code é um trabalho fácil, exige muita prática,

conscientização da equipe e um bom tempo de desenvolvimento para que o código alcance o seu estado da arte.

Refine seus códigos diariamente, e você em alguns meses já verá o resultado, e lembre-se sempre:

A prática leva a perfeição!

Obrigado! :)