TCC - Código Limpo

19
Dezembro/2012 A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software Aluno: Joberto Diniz Junior Orientador: Dr. Djalma Domingos da Silva

description

Este trabalho aborda a ciência do Código Limpo através de algumas de suas técnicas, tais como nomes significativos, príncipios SOLID e testes unitários, enfatizando por meio de exemplos a importância da aplicação do Código Limpo com a finalidade de se obter um sistema robusto com poucos erros e alta manutenibilidade. Destaca-se ainda o quanto um código ruim pode custar às empresas e diminuir drasticamente a produtividade dos desenvolvedores. Recorrendo a um pequeno experimento, o referido estudo também analisa estatisticamente as vantagens do Código Limpo comparado a um código convencional

Transcript of TCC - Código Limpo

Page 1: TCC - Código Limpo

Dezembro/2012

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e

Empresas de Software

Aluno: Joberto Diniz JuniorOrientador: Dr. Djalma Domingos da Silva

Page 2: TCC - Código Limpo

Roteiro

1. Introdução2. Fundamentação Teórica3. Métodos4. Resultado e Discussão5. Conclusão

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

2

Page 3: TCC - Código Limpo

1. Introdução

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

3

Por que essa estrutura está aqui?

Para onde será que essa ponte leva?

Essa placa não me ajuda muito.

//Esta é a ponte

Page 4: TCC - Código Limpo

1.1 Justificativa

Desenvolvedores“Escrever código limpo é o que você deve fazer a fim de se intitular um profissional. Não há nenhuma desculpa razoável para fazer nada menos que o seu melhor” (Martin, 2009)

Empresas Melhor qualidade de código Diminuição de bugs Manutenção eficiente e rápida Menores custos Clientes mais satisfeitos

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

4

Page 5: TCC - Código Limpo

1.2 Problema

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

5

Page 6: TCC - Código Limpo

1.2 Problema

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

6

Encontrando o nosso caminho através do código

ruim

Page 7: TCC - Código Limpo

1.3 Objetivo

Mostrar as técnicas do Código Limpo Mostrar as vantagens do Código Limpo

Através• Experimento• Análise Estatística

Analisando Métricas• Tempo gasto• Quantidade de linhas• Índice de manutenibilidade• Complexidade ciclomática

QuestionárioA Importância do Código Limpo na Perspectiva dos

Desenvolvedores e Empresas de Software7

Page 8: TCC - Código Limpo

2.1 Código ruim custa caro

Menor produtividade = gerência adicionando mais membros = maior custo

Pode levar a falência

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

8

Page 9: TCC - Código Limpo

2.2 O que é Código Limpo?

“Escrever um código limpo exige o uso disciplinado de uma miríade de pequenas técnicas aplicadas por meio de uma sensibilidade meticulosamente adquirida sobre “limpeza”. A “sensibilidade ao código” é o segredo. Alguns de nós já nascemos com ela. Outros precisam se esforçar para adquiri-la.” (Martin, 2008)

Um código limpo sempre parece que foi escrito por alguém que se

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

9

importava

Page 10: TCC - Código Limpo

2.3 Nomes significativos

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

10

Evitar abreviaturasUsar nomes do domínio do problemaRenomear / RefatorarEvitar números e strings “mágicas”

Criar constantes

Page 11: TCC - Código Limpo

2.4 SOLID

Princípio da Responsabilidade ÚnicaPrincípio Aberto-FechadoPrincípio da Substituição de LiskovPrincípio da Segregação de InterfacePrincípio da Inversão de Dependência

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

11

Page 12: TCC - Código Limpo

2.5 Referência nula

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

12

Charles Hoare Meu erro de

bilhões de dólares

Utilizar padrão de projeto Objeto Nulo

Page 13: TCC - Código Limpo

2.6 Testes unitários

Uma forma de documentaçãoImpacto na Arquitetura e Design do

sistema

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

13

Page 14: TCC - Código Limpo

3. Métodos

AmostraExperimento

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

14

Page 15: TCC - Código Limpo

4.1 Manutenibilidade

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

15

0

25

50

75

1000,036

Indice de manutenibilidade

Med

ia (

desv

io-p

adrã

o)

Page 16: TCC - Código Limpo

4.2 Tempo

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

16

0

25

50

75

100

0,019

Tempo

Min

uto

sM

edia

(de

svio

-pad

rão)

Page 17: TCC - Código Limpo

4.3 Quantidade de linhas

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

17

0

25

50

75

1000,001

Linhas de código

Med

ia (

desv

io-p

adrã

o)

Page 18: TCC - Código Limpo

4.4 Características Subjetivas

Facilidade de leitura do códigoFacilidade para adição de nova

funcionalidadeTamanho de classes e métodosComentários ajudam?

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

18

Page 19: TCC - Código Limpo

5. Conclusão

A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software

19

Treinamento Empresarial

Treinamento Individual