apresentação clean code

Download Apresentação Clean Code

Post on 09-Apr-2017

74 views

Category:

Software

1 download

Embed Size (px)

TRANSCRIPT

Clean CodeAndr Luiz LeoniJean Leno Heidemann

SumarioO que ?Nomes Significativos;Comentrios;Formatao;Objetos; Estruturas de Dados;Tratamento de Erros;Refinamento;

Clean Code vs Rendimento da EquipeReplanejar a construo de um sistema nem sempre a melhor opo;

Um cdigo mal desenvolvido pode no comeo ser eficiente, porm, com o tempo, pode levar a empresa a descontinuidade dele. Definio SoftwareSoft - FlexvelWare - Produto manufaturado

Clean CodeCdigo testvelLegvelMtodos bem definidosSem duplicidade de cdigo e sobretudoVoc encontra a informao que voc esperava

Nomes SignificativosO nome de uma varivel ou classe, deve dizer o porque ele existe;Nomes devem ser bem distintos;Nomes de funes devem ser pronunciveis e passveis de busca;Nomes de classes devem sempre ser substantivos;Nomes de funes no podem dizer que a funo tem 2 funcionalidades;Nomes de mtodos devem ser descritivos e conter o verbo do que aquele mtodo ir fazer;Padronize as palavras escolhidas no sistema;Use nomes tcnicos na sua aplicao;Adicionar contextos significativos a variveis.

Nomes Significativos

No faa isso.Faa isso.

Nomes SignificativosEvite Usar nomes erradoscasa | cazaUsar nomes parecidosinformacaoProduto | dadosProdutoUsar nomes sequenciaiscontador 1 | contador2 | contador3Nomes de classes deve sempre ser substantivosProduto, Item, Carro, CasaNomes de funes devem conter verbo que indica o que o mtodo deve fazercadastrarProduto, pagarFatura, solicitarOrcamento

Exemplos...

FunesFunes devem ser de Responsabilidade nica e no podem inflingir os princpios de Aberto-Fechado;Funes no podem indicar duas funcionalidades;verificarVendaEOrcamento, receberOuPagarFaturaFunes devem ser pequenas;Mximo 20 linhasMximo 100 caracteres por linhaNvel de identao no deve ser maior que 2Nmero de parmetros ideal de 0 a 2

ComentriosOs melhores comentrios so aqueles que no precisam ser feitosBons comentriosQuando explica a inteno de uma deciso tomada, no apenas a informao do cdigoAlerta para futuros desenvolvedoresNo use comentrios quando voc pode usar variveis ou mtodos

ComentriosNo fazer comentrios bviosNo fazer comentrios de fechamento de instruesNo comente cdigosFuturos desenvolvedores no sabem o motivo de existir e os matm

FormataoNo regra, mas classes geralmente tem entre 200 e 500 linhasClasses menores so mais fceis de entenderSugere-se que um limite de at 100 ou 120 caracteres em uma linhaUtilize espao entre operadores, parmetros e vrgulas

Formatao

A leitura de um cdigo deveria ser to simples como um usurio l um jornal.

IdentaoFique atento na identao dos cdigos.

Objetos - Lei de DemtrioUm mdulo no deve saber as entranhas do objeto que ele manipula.

Objetos x Estruturas de DadosObjetosEscondem os dadosExpem os mtodos que manipulam os dadosEstruturas de dadosExpem os dadosNo possuem mtodos significativos

Tratamento de ErrosUtilizar exceptions em vez de cdigos de erro;Cdigos de erro so mais facilmente esquecidos de serem tratados;A linguagem Java por exemplo, quando adicionado a declarao throws em um mtodo, fora que o desenvolvedor trate o erroNo retorne null em um mtodo e no passe null em parmetrosValores null facilmente causam NullExcelptions

RefinamentoNo pense que Clean Code um trabalho fcil, exige muita prtica, conscientizao da equipe e um bom tempo de desenvolvimento para que o cdigo alcance o seu estado da arte.Refine seus cdigos diariamente, e voc em alguns meses j ver o resultado, e lembre-se sempre:A prtica leva a perfeio!

Obrigado! :)