visual tools studio code vb.net coding-style static-analysis

vb.net - tools - code analyzer



Qué herramientas como StyleCop están ahí para VB.NET (5)

ver también Anaylsis del código estático de VB.NET

Para bien o para mal, ahora tenemos un documento de estándares de codificación VB.NET que se basa en un estándar de codificación C # tal como lo exige StyleCop.

Por ejemplo

  • la cantidad de espacios que debe colocar en cada lado de un signo "+", etc.
  • todos los Miembros de la instancia (¡campos y métodos!) deben tener acceso como "me.fieldName"
  • todos los miembros compartidos deben ser accedidos como "className.fieldName"

Como tiendo a pensar:

Si está en un documento de requisitos, debe verificarlo mediante un sistema automático

Estoy buscando herramientas (idealmente gratuitas) que verifiquen que no contengan reglas sobre el código VB.NET, ya que estos son problemas de estilo que no entran en el resultado compilado, FxCop no es útil.

(Personalmente coincidiría más bien con que solo verificamos cosas importantes como el código duplicado y la razonabilidad individual para cada clase (¡así que no más de miles de clases de líneas!), Pero como necesito seguir con el documento estándar de codificación, deseo tener una herramienta para ayudarme a hacerlo.)

ver también Hacer cumplir el uso del nombre de la clase siempre que se acceda a un miembro compartido.

Sobre la recompensa.
Estoy buscando una lista de herramientas de verificación de código VB.NET, con un breve resumen de lo que puede hacer cada herramienta y sus limitaciones. Si las herramientas no son gratuitas, incluya algún ideal de costo.

¿Alguien tiene experiencia en usar CodeRush/Refactor ? o ReSharper con VB.NET para verificar este tipo de problemas de estilo de codificación?


Activar la opción Explícita por defecto es siempre una gran idea y debería ser una práctica estándar. Yo diría que debería activarse de manera predeterminada en VS de forma predeterminada. Pero no se acerca a imponer las reglas de uso inmediato que StyleCop hace para C #, ni le permite crear sus propias reglas.

El motivo principal de la existencia de StyleCop es que FxCop solo funciona en ensamblajes compilados, lo que deja a los proyectos web a la intemperie en busca de una herramienta similar. Con StyleCop, los desarrolladores web obtienen la misma gran aplicación de reglas y una estrecha integración de VS. Es una gran herramienta para cualquier desarrollador de C #.

Es desafortunado que solo tenga capacidad para C #, una versión VB satisfaría a una gran comunidad que desea algo similar.


Los únicos que conozco son:

FxCop de Microsoft

Por supuesto, esto solo funciona en ensamblajes compilados, por lo que no ofrece la misma funcionalidad que StyleCop, y ciertamente no ayudará con cosas como los esquemas de nombres.

Sin embargo, lo más cercano es:

Aivosto''s Project Analyzer v9.0 para Visual Basic, VB.NET y VBA

La versión completa no es gratuita, pero esto es lo más parecido a StyleCop para VB.NET que puedo encontrar.

Ha habido una serie de llamadas para una versión de VB.NET de StyleCop de Microsoft, como las de este hilo en el sitio code.msdn.microsoft.com. Ese mismo hilo también da una buena idea de por qué una versión de VB.NET no existe.


No conozco ninguna herramienta gratuita de análisis de código fuente con buena compatibilidad con VB. Sin embargo, hay al menos dos herramientas comerciales que pueden ser adecuadas:

  1. Submain CodeIt.Right
  2. Auditor del Código SSW

Personalmente, prefiero el mecanismo de creación de reglas de CodeIt.Right, por lo que me gustaría que se planificara un desarrollo considerable de reglas personalizadas. Sin embargo, si solo desea usar reglas listas para usar, Code Auditor incluye algunas más reglas de estilo de código que CodeIt.Right, la mayoría de cuyas reglas incorporadas se enfocan en el IL compilado (como FxCop).


Uso ReSharper a diario y me parece bien tanto para el formato del código como para resolver problemas de nomenclatura. Permite configurar cómo se debe aplicar el nombre, cómo se muestran los problemas (pista, sugerencia, advertencia, etc.) y proporciona un formateador de código preciso (espacio, paránthesis, saltos de línea, este calificador, etc.).

Tenga en cuenta que no sé si se puede ejecutar en modo por lotes.


Ya hay una herramienta de estilo muy buena incorporada en el compilador de VB. Se llama Opción explícita activada, colóquela en la parte superior del archivo de código fuente o use Herramientas + Opciones + Proyecto y Soluciones + Valores predeterminados de VB, Opción Explícita = Activado. Si no se activó previamente, podría haber una montaña de errores al compilar el código después de cambiar eso.

Si está limpio o ya encendido, considere que está un 95% cerca de escribir el código limpio de C # y que el lenguaje en realidad ya no importa.