37 votos

El código de forma automática herramienta de calidad para Ruby?

Una cosa que realmente echo de menos acerca de Java es la herramienta de apoyo. FindBugs, Checkstyle y PMD hecho para una santísima trinidad de código de métricas de calidad y automático de errores de comprobación.

Hay algo que se echa de errores simples y / o estilo de violaciones de código Ruby? Los puntos de bonificación si puedo adaptarlo para marcos, tales como Rieles para que Rails modismos son respetados.

17voto

Austin Moody Puntos 306

Recientemente he comenzado buscando algo como esto para Ruby. Lo que yo he conocido hasta ahora:

Estos pueden ser lugares para empezar. Por desgracia no he utilizado ninguno de los tres lo suficiente para ofrecer una buena opinión.

7voto

scottd Puntos 4120

Saikuro y Azotar puede ser bueno para tener una idea básica de la complejidad del código. También puede utilizar una herramienta como rcov a mirar a su cobertura de las pruebas.
Hay un plugin para Rails proyectos que combinan todos los parámetros en una sola tarea de rake. Se llama metric_fu.

6voto

Rich Puntos 1870

Los proyectos que he encontrado y probado recientemente:

3voto

Orion Edwards Puntos 54939

El polvo parece que puede ayudarle a encontrar y sin usar código inservible, que parece que es una especie de ajuste a lo que buscas.

No estoy al tanto de cualquier otro de tales herramientas.
Este problema es mucho más difícil de abordar en ruby que es en java - tenga en cuenta que todas esas herramientas java marca a sí mismos como el uso de 'análisis estático" del código.
Análisis estático de código ruby, a menudo no es posible, porque no hay nada estático que se puede analizar (métodos a menudo se crean en tiempo de ejecución y así sucesivamente)

En cualquier caso, algunas de estas cosas son innecesarias en ruby, porque el lenguaje construye en. Por ejemplo, usted no necesita un estándar de codificación para exigir que sus clases son todos los NamedLikeThis debido a que el código no funcionará si no lo están.

P. S. me tiene que agregar el estándar de descargo de responsabilidad que este tipo de herramientas pueden a menudo ser un poco de un arenque rojo. Usted puede pasar todo el día haciendo que su código se adhieren a lo que la herramienta piensa que debería ser, y terminar con más bugs que el que comenzó.
En mi humilde opinión, la mejor solución es escribir el código con fluidez lo que se puede leer con más facilidad. Ninguna cantidad de análisis estático va a ser tan buena como la de un humano, un código de lectura que establece claramente lo que se pretende hacer. Para poder hacer esto es donde ruby está a años luz por delante de muchos otros idiomas. Yo personalmente recomiendo objetivo de sus esfuerzos en aprender a escribir de forma más fluida, y la educación de su equipo sobre tales cosas, que el gasto de tiempo en el análisis estático.

2voto

krusty.ar Puntos 3141

Otra buena herramienta, aunque en las primeras etapas de acuerdo con el autor es de los listones:

http://reek.rubyforge.org/

los listones en la actualidad incluye muy ingenuo busca el siguiente código de olores:

  • Larga Método
  • Gran Clase
  • Característica De La Envidia
  • Poco Comunicativa Nombre
  • Larga Lista De Parámetros
  • Función De Utilidad De
  • Anidado Iteradores
  • Control De Par
  • La duplicación
  • Elemento de la lista

Personalmente creo que todavía tiene demasiados falsos positivos, pero con sólo mirar a la producción en algunos de mi código me ayudó a repensar algunas decisiones sobre el estilo de código y la arquitectura.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X