2012-03-01 12 views
17

Donde trabajo, utilizamos principalmente Java. Siempre hemos hecho un uso extensivo de CheckStyle para hacer cumplir nuestros estándares de codificación para Java.¿Existe una herramienta de cumplimiento de normas de codificación para Scala?

Ahora estamos ramificando en Scala. Muchas de las mismas consideraciones que en Java se aplican (indentación/espacio en blanco, convenciones de nomenclatura, ...) - y podría decirse que tener un estilo de codificación consistente es aún más importante dado el poder del lenguaje.

Sin embargo, no parece haber un equivalente de Checkstyle para Scala.

¿Alguien sabe de uno?

+1

Me gusta el término "herramienta de cumplimiento de estándares de codificación". Suena como un dispositivo de tortura. :-) – Madoc

Respuesta

15

Sí. Se llama Scalastyle. (El mismo tipo de enfoque que Checkstyle y findbugs). Es actualmente en la versión 0.2.0, estamos añadiendo reglas todo el tiempo

EDITAR (diciembre 2012):

Scalastyle 0.2.0 fue lanzado el mes pasado, con un total de 46 reglas. Hay, sin ningún orden en particular:

  • Un experto complemento
  • Un eclipse plugin de
  • Un SBT complemento

en desarrollo son:

  • Un Intellij complemento
  • Un complemento de sonar

Contribuciones/corrección de errores siempre son bienvenidos: github.

+0

Eso es justo lo que quería escuchar, gracias. Apuntará a involucrarse. –

7

Para formatear el código, puede usar Scalariform.

Se puede usar de forma independiente, integrado en un editor, o como un SBT plugin que lo ejecuta automáticamente antes de cada compilación.

+0

Parece útil, pero tengo miedo de que una herramienta realice demasiados cambios automáticos en mi código. –

3

Hay sniff, que detectan "olores de código" en base a expresiones regulares. Se puede utilizar como una prueba Specs2, lo cual es bueno.

4

Codacy integra Scalastyle (increíble trabajo de Mateo), junto con reglas personalizadas (como la comprobación de Option.get() y le advierte cuando se les hace) y funciona como un sonar mejorado para la Scala. Gratis para fuente abierta.

También tiene abide del equipo Typesafe y scapegoat de los fabricantes de SCoverage.

Cuestiones relacionadas