Você está na página 1de 11

PMD

DAVID CAMILO SNCHEZ MORA (20132578060)


HECTOR FELIPE HURTADO ACOSTA (20131078401)
YOJHAN RODRGUEZ (20131078023)
SEBASTIN ESPITIA (20131078050)

NDICE
INTRODUCCIN
DEFINICIN
REQUERIMIENTOS TECNOLGICOS
FUNCIONALIDADES
EJEMPLO
CONCLUSIONES
BIBLIOGRAFA

INTRODUCCIN
EL OBJETIVO DE LA EXPOSICIN ES DAR A CONOCER UN SOFTWARE
ESPECIALIZADO EN ANALIZAR CDIGO DE JAVA LLAMADO PMD (PROGRAMMING
MISTAKE DETECTOR) QUE OPTIMIZA EL DESARROLLO EN NUESTRA APLICACIN
PARA QUE PUEDA VERSE E IMPLEMENTARSE DE UNA MANERA MS DINMICA, SE
ABORDARAN SUS REQUERIMIENTOS Y FUNCIONALIDADES, TAMBIN SE
MOSTRAR UN EJEMPLO DE APLICACIN Y POR ULTIMO UNAS CONCLUSIONES.

DEFINICIN
PMD
ES
UNA
HERRAMIENTA
QUE
COMPRUEBA QUE NUESTRA APLICACIN
CUMPLA UNA SERIE DE REGLAS QUE NOS
AYUDAN A OBTENER UN CDIGO MS
ELEGANTE, SENCILLO Y MANTENIBLE. ESTAS
REGLAS SE AGRUPAN POR CONJUNTOS Y
PUEDEN SER REGLAS DE COMPLEJIDAD,
COMO QUE LA COMPLEJIDAD CICLOMTICA
NO SEA DEMASIADO ALTA; DE DISEO, COMO
NO USAR INTERFACES COMO MEROS
CONTENEDORES
DE
CONSTANTES;
DE
OPTIMIZACIN, COMO PROCURAR USAR
ARRAYLIST EN LUGAR DE VECTOR; ETC.

REQUERIMIENTOS TECNOLGICOS

NETBEANS 7.4

INTERNET

WINDOWS 7

FUNCIONALIDADES
DETECTAR DUPLICACIN DE CDIGO.
DETECTAR CDIGO MUERTO (VARIABLES, PARMETROS O MTODOS SIN USAR).
DETECTAR COMPLEJIDAD DE MTODOS.
NPATHCOMPLEXITY: ES EL NMERO DE RUTAS DE EJECUCIN A CCLICOS A TRAVS
DE ESE MTODO.
EXCESSIVEMETHODLENGTH: EL MTODO EST HACIENDO DEMASIADO.
EXCESSIVEPARAMETERLIST: LISTAS DE PARMETROS LARGOS PUEDEN INDICAR
QUE UN NUEVO OBJETO DEBE SER CREADO PARA ENVOLVER LOS NUMEROSOS
PARMETROS.
EXCESSIVECLASSLENGTH: ARCHIVOS DE CLASE LARGOS SON INDICIOS DE QUE LA
CLASE PUEDE ESTAR TRATANDO DE HACER DEMASIADO.
COMPLEJIDAD CICLOMTICA: COMPLEJIDAD SE DETERMINA POR EL NMERO DE
PUNTOS DE DECISIN EN UN MTODO MS UNO PARA LA ENTRADA MTODO.

EXCESSIVEPUBLICCOUNT: PUEDE NECESITAR UN GRAN NMERO DE MTODOS Y ATRIBUTOS


DECLARADOS EN UNA CLASE PUEDE INDICAR LA CLASE DE PBLICOS PARA ROMPERSE COMO SE
REQUERIR UN MAYOR ESFUERZO PARA PONER A PRUEBA A TOPE.
TOOMANYFIELDS: LAS CLASES QUE TIENEN DEMASIADOS CAMPOS PODRA SER REDISEADO CON
POCOS CAMPOS, POSIBLEMENTE A TRAVS DE ALGN OBJETO AGRUPACIN ANIDADA DE PARTE
DE LA INFORMACIN.
NCSSMETHODCOUNT: ESTA REGLA UTILIZA EL ALGORITMO NCSS (NO COMENTANDO
DECLARACIONES FUENTE) PARA DETERMINAR EL NMERO DE LNEAS DE CDIGO PARA UN
MTODO DADO. NCSS IGNORA LOS COMENTARIOS, Y CUENTA LAS DECLARACIONES REALES.
NCSSTYPECOUNT: ESTA REGLA UTILIZA EL ALGORITMO NCSS (NO COMENTANDO DECLARACIONES
FUENTE) PARA DETERMINAR EL NMERO DE LNEAS DE CDIGO PARA UN TIPO DADO. NCSS
IGNORA LOS COMENTARIOS, Y CUENTA LAS DECLARACIONES REALES.
NCSSCONSTRUCTORCOUNT: ESTA REGLA UTILIZA EL ALGORITMO NCSS (NO COMENTANDO
DECLARACIONES FUENTE) PARA DETERMINAR EL NMERO DE LNEAS DE CDIGO PARA UN
CONSTRUCTOR DETERMINADO. NCSS IGNORA LOS COMENTARIOS, Y CUENTA LAS
DECLARACIONES REALES.
TOOMANYMETHODS: UNA CLASE CON DEMASIADOS MTODOS ES PROBABLEMENTE UN BUEN
OBJETIVO PARA LA REFACTORIZACIN, CON EL FIN DE REDUCIR SU COMPLEJIDAD Y ENCONTRAR
UNA MANERA DE TENER OBJETOS DE GRANO MS FINO.

EJEMPLO

EJEMPLO

CONCLUSIONES
USAR PMD NOS AYUDA A CORREGIR LOS ERRORES EN NUESTRO CODIGO DE
UNA MANERA MUCHO MS OPTIMA YA QUE NO DEPENDEMOS DE ESTAR
REVISANDO LINEA A LINEA POR ENDE NOS AYUDA A MINIMIZAR TIEMPOS Y
TAMBIEN COSTOS DENTRO DE PROYECTOS DE SOFTWARE MUY GRANDES
IMPLEMENTAR PMD EN UN IDE ES MUCHO MS PROVECHOSO QUE HACERLO
EN EDITORES DE TEXTO
PMD CUENTA CON UNA VARIEDAD DE FUNCIONALIDADES QUE NOS PERMITEN
AVANZAR EN PROYECTOS EXTENSOS DE UNA MANERA COMODA Y LA
HERRAMIENTA NO REQUIERE MUCHOS REQUISITOS TECNOLOGICOS, NO
OBSTANTE UTILIZA LO BASICO EN CUANTO A REQUERIMIENTOS SE REFIERE

BIBLIOGRAFA

HTTPS://PMD.GITHUB.IO/
HTTP://FINDBUGS.SOURCEFORGE.NET/
HTTP://DL.ACM.ORG/CITATION.CFM?ID=733618
HTTP://PMD.SOURCEFORGE.NET/PMD-4.3.0/MEANING.HTML
HTTP://WWW.JAVATIPS.NET/BLOG/2012/06/PMD-IN-ECLIPSE-TUTORIAL

Você também pode gostar