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
Roteiro
1. Introdução
2. Fundamentação Teórica
3. Métodos
4. Resultado e Discussão
5. 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ário
A Importância do Código Limpo na Perspectiva dos
Desenvolvedores e Empresas de Software
7
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 abreviaturas
Usar nomes do domínio do problema
Renomear / Refatorar
Evitar números e strings “mágicas”
 Criar constantes
2.4 SOLID
Princípio da Responsabilidade Única
Princípio Aberto-Fechado
Princípio da Substituição de Liskov
Princípio da Segregação de Interface
Princí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ção
Impacto 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
Amostra
Experimento
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
Lim
po
C
onvencional
0
25
50
75
100
0,036
Indice de manutenibilidade
Media(desvio-padrão)
4.2 Tempo
A Importância do Código Limpo na Perspectiva dos
Desenvolvedores e Empresas de Software
16
Lim
po
C
onvencional
0
25
50
75
100
0,019
Tempo
Minutos
Media(desvio-padrão)
4.3 Quantidade de linhas
A Importância do Código Limpo na Perspectiva dos
Desenvolvedores e Empresas de Software
17
Lim
po
C
onvencional
0
25
50
75
100
0,001
Linhas de código
Media(desvio-padrão)
4.4 Características Subjetivas
Facilidade de leitura do código
Facilidade para adição de nova
funcionalidade
Tamanho de classes e métodos
Comentá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

TCC - Código Limpo

  • 1.
    Dezembro/2012 A Importância doCódigo Limpo na Perspectiva dos Desenvolvedores e Empresas de Software Aluno: Joberto Diniz Junior Orientador: Dr. Djalma Domingos da Silva
  • 2.
    Roteiro 1. Introdução 2. FundamentaçãoTeórica 3. Métodos 4. Resultado e Discussão 5. Conclusão A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 2
  • 3.
    1. Introdução A Importânciado 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
  • 4.
    1.1 Justificativa  Desenvolvedores “Escrevercó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
  • 5.
    1.2 Problema A Importânciado Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 5
  • 6.
    1.2 Problema A Importânciado Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 6 Encontrando o nosso caminho através do código ruim
  • 7.
    1.3 Objetivo  Mostraras 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ário A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 7
  • 8.
    2.1 Código ruimcusta 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
  • 9.
    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
  • 10.
    2.3 Nomes significativos AImportância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 10 Evitar abreviaturas Usar nomes do domínio do problema Renomear / Refatorar Evitar números e strings “mágicas”  Criar constantes
  • 11.
    2.4 SOLID Princípio daResponsabilidade Única Princípio Aberto-Fechado Princípio da Substituição de Liskov Princípio da Segregação de Interface Princípio da Inversão de Dependência A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 11
  • 12.
    2.5 Referência nula AImportâ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
  • 13.
    2.6 Testes unitários Umaforma de documentação Impacto na Arquitetura e Design do sistema A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 13
  • 14.
    3. Métodos Amostra Experimento A Importânciado Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 14
  • 15.
    4.1 Manutenibilidade A Importânciado Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 15 Lim po C onvencional 0 25 50 75 100 0,036 Indice de manutenibilidade Media(desvio-padrão)
  • 16.
    4.2 Tempo A Importânciado Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 16 Lim po C onvencional 0 25 50 75 100 0,019 Tempo Minutos Media(desvio-padrão)
  • 17.
    4.3 Quantidade delinhas A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 17 Lim po C onvencional 0 25 50 75 100 0,001 Linhas de código Media(desvio-padrão)
  • 18.
    4.4 Características Subjetivas Facilidadede leitura do código Facilidade para adição de nova funcionalidade Tamanho de classes e métodos Comentários ajudam? A Importância do Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 18
  • 19.
    5. Conclusão A Importânciado Código Limpo na Perspectiva dos Desenvolvedores e Empresas de Software 19 Treinamento Empresarial Treinamento Individual