mÉtricas para melhoria contÍnua de cÓdigo um estudo de caso com java um estudo de caso com java...
TRANSCRIPT
MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGOMÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVAUM ESTUDO DE CASO COM JAVA
Faculdade Cenecista Nossa Senhora dos Anjos FACENSA
Sistemas de Informação
Objetivos Métricas de Qualidade de Código Ferramentas de Apoio Trabalhos Relacionados Estudo de Caso Perguntas
AGENDAAGENDA
ObjetivosObjetivos
Métricas de forma pró-ativa;
Maior qualidade de código fonte gerado.
Métricas de Qualidade de CódigoMétricas de Qualidade de Código
Testes Unitários – Funcionais
- Testar até não conseguir a pensar em mais nenhum possível teste. (BECK, 2004)
- Ambiente Automatizado
Code Coverage
- Garantir maior abrangência dos testes- Buscando qualidade nos teste
Métricas de Qualidade de CódigoMétricas de Qualidade de Código
OO - Acoplamento, Abstração (LANZA, 2006)
REFACTORING- Instrumento de otimização
C.I. (Continue Integration)
- Agir de forma
preventiva
TAMANHO - SLOC, LOC, KLOC - Mensurar métodos, classes, módulos etc.. (KOSCIANSKI, 2006)
COMPLEXIDADE- Sinônimo de Legibilidade!!
Ferramentas de Ferramentas de ApoioApoio
Junit
Cobertura
Selenium IDE
Ant
EMMA
Ferramentas de Ferramentas de ApoioApoio
PMD/CPD
Metrics
Checkstyle
NDepend
Simian
Ferramentas de Ferramentas de ApoioApoio
Netbeans
Cruise Control
Eclipse
Continuum
Trabalhos RelacionadosTrabalhos Relacionados
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE SOFTWARE USANDO MÉTODOS ÁGEIS.
- SPM (Social Program Management)
FUJA Voluntário!
Estudo de CasoEstudo de Caso
“Detector de Reuso de Código”
ProjetoProjeto: Classdiary
Situação AdversaSituação Adversa - CPD (Copy Paste Detector) - 12 incidências do trecho de código:
SoluçãoSolução: - Adotado reuso de código; - Criado método publico(public) em classe base.AutomatizaçãoAutomatização:- Refatoração de código (IDE Netbeans)
Beneficios TrazidosBeneficios Trazidos:- Redução de mais 75 LOC;- Reducão do % de CC (Métodos e Classes);- Novo teste unitário específico;- Aumento cobertura para:
- Bloco refatorado- Método refatorado
If (rs != null){rs.close();
}If(st != null){
st.close();}If(c != null){
c.close();}
Estudo de CasoEstudo de Caso
PERGUNTAPERGUNTASS
??
Sites
- EMMA – http://emma.sourceforge.net- ChecStyle – http://checkstyle.sourceforge.net/ - Junit – http://www.junit.org- Cruise Control Java http://cruisecontrol.sourceforge.net- Selenium IDE - http://selenium-ide.openqa.org - Ant Apache - http://ant.apache.org- PMD / CPD – http://pmd.sourceforge.net- Metrics – http://metrics.sourceforge.net- Netbeans – http://www.netbeans.org- Eclipse – http://www.eclipse.org - Continuum - http://continuum.apache.org
Livros
- BECK, Kent. Extreme Programming Explaned. Bookman, Porto Alegre, 2004;- LANZA, Michele. Object-Oriented Metrics in Pratice, using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer, 2006.- KOSCIANSKI , André e dos Santos Soares, Michel. Qualidade de Software. São Paulo: Novatec, 2006;
ReferênciasReferências
http://fuja.dev.java.net
http://furor.dev.java.nethttp://groups.google.com/group/fuphp
http://groups.google.com/group/FacensaNET