Ejecutor estándar de código para Visual C++

Estoy buscando una herramienta para hacer cumplir nuestros estándares de codificación C++. Trabajamos en Visual C++ en MS Windows.

  1. Debe ejecutarse en MS Windows en el código fuente de Visual C++
  2. Debe marcar las desviaciones de nuestro estándar
  3. Debe ser configurable para hacer cumplir nuestro estilo y convenciones de nomenclatura al menos
  4. No debe costar mucho más de $300/desarrollador/año para 20 desarrolladores
  5. Sería muy bueno si pudiera integrarse bien con Visual Studio
  6. Sería muy bueno si pudiera configurarse fácilmente para que se ejecute automáticamente
  7. Sería bueno que se integrara bien con Subversion, Git, SmartBear's Collaborator y Cruise Control

Respuestas (2)

Le sugiero que eche un vistazo a PC-Lint de Gimpel :

  1. Debe ejecutarse en MS Windows en el código fuente de Visual C++. En realidad, se ejecuta desde la línea de comandos en casi cualquier plataforma de Windows que procese código C/C++.
  2. Debe marcar las desviaciones de nuestro estándar: eso depende mucho de su estándar. Si está utilizando partes seleccionadas de MISRA, puede adaptarlas simplemente; sin embargo, si tiene una regla que establece que todas las funciones deben tener nombres de personajes de los libros del Dr. Zuse. probablemente sin suerte.
  3. Debe ser configurable para hacer cumplir nuestro estilo y convenciones de nomenclatura al menos. Nuevamente, depende de cuáles sean.
  4. No debe costar mucho más de $300/desarrollador/año para 20 desarrolladores - Una licencia LAN para 10 usuarios en una sola ubicación cuesta $3500. Cada usuario adicional cuesta $300. Así que no muy lejos.
  5. Sería muy bueno si pudiera integrarse bien con Visual Studio. Hay integraciones disponibles para la mayoría de las versiones de VS.
  6. Sería muy bueno si pudiera configurarse fácilmente para que se ejecute automáticamente. Se ejecuta desde un archivo por lotes, por lo que se puede integrar con herramientas de CI como Jenkins.
  7. Sería bueno si se integrara bien con Subversion, Git, SmartBear's Collaborator y Cruise Control. Puede configurar la mayoría de los sistemas VCS para que se ejecuten como un enlace previo a la confirmación y rechacen la confirmación si el código es peor que antes.
Me parece un producto un poco muerto, ¿se actualiza aún a los nuevos estándares (no pude encontrar ninguna referencia)?
El equipo de ventas respondió bastante a mi solicitud de una copia de evaluación.
@DavidThornley Es bueno escuchar eso.
¿No es esta una herramienta de análisis estático? Y parece ser de una calidad bastante pobre. No proporcionan ejemplos realistas y no son compatibles con C++ 11 (y, por lo tanto, no es compatible con versiones recientes de VS).

¿ Probaste con CppDepend ? una herramienta de análisis estático bastante buena, fácil de escribir sus propias reglas de codificación usando CQLinq .