TCC - Código Limpo

Preview:

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

Citation preview

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

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

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

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

1.2 Problema

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

5

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

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

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

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

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

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

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

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

3. Métodos

AmostraExperimento

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

14

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)

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)

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)

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

5. Conclusão

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

19

Treinamento Empresarial

Treinamento Individual