Crap4j: ¿es tu código basura?
jueves, octubre 4, 2007 at 12:16PM Alberto Savoia y Bob Evans de Agitar Labs. han liberado la primera versión de su librería para pruebas que implementa su métrica C.R.A.P (Change Risk Analysis and Prediction). El objetivo de esta métrica es determinar si el código es una basura o no (de hecho crap tiene un significado un poco más fuerte), como te puedes dar cuenta, el que un código sea crap o no es algo muy subjetivo por lo que los autores se basaron en la experiencia para determinar una fórmula para medir el nivel de crap.
La fórmula tiene como base el que por lo general la gente piensa que un código es malo si es innecesariamente complicado e intrincado. También revisa si se han escrito pruebas unitarias para el código a analizar, si no hay pruebas es porque es demasiado complejo para probar o por dejadez del programador lo que incrementa la dificultad para entender el código; en pocas palabras, la falta de pruebas unitarias incrementa el nivel de crap. Al final, la fórmula utilizada es:
CRAP(m) = comp(m)^2 * (1 – cov(m)/100)^3 + comp(m)
Donde comp(m) es el nivel de complejidad ciclomática de un método y cov(m) es la cobertura que tiene el método en pruebas unitarias.
Para poder usar la métrica, han desarrollado un plugin para eclipse que puede ser descargado desde las actualizaciones automáticas del IDE en la URL http://www.junitfactory.com/crap4j/update/.
j2se 
Reader Comments