2008-10-02 28 views
7

En Visual Studio 2008, ¿cuál sería la forma más fácil de evitar el uso de ciertas funciones? En concreto, estoy tratando de evitar que otros desarrolladores al usar los comandos de estilo VB6 "vieja escuela", tales como:Evitar llamadas a funciones heredadas en VB.NET

  • Len
  • LCase
  • Ucase
  • Instr
  • InStrRev
  • Recorte
  • Derecho
  • Izquierda
  • medio

etc., etc., etc. La lista sigue y sigue.

Normalmente puedo detectarlos durante la revisión manual del código, pero a veces las cosas se pasan de largo. Además, no hace nada con el código anterior que normalmente no se ve.

Sé que la educación es probablemente la mejor herramienta, en el largo plazo, pero sería bueno tener algo para complementar/hacer cumplir eso.

+0

Sin ofender, pero ¿por qué? – MarkJ

+0

@MarkJ, principalmente para que todos puedan tener la costumbre de pasar de las cosas que probablemente se deprecien al equivalente más reciente de VB.NET. Esto probablemente nos dé menos problemas más adelante en el camino para actualizaciones o para la transición de otros para mantener el código. –

Respuesta

6

No sé si puede establecer un indicador de compilación para este tipo de cosas, pero puede definir reglas personalizadas para algo como FxCop para verificar. Aquí hay un poco de documentación en writing custom rules.

1

Puede utilizar una herramienta similar a FxCop para revisar el código y advertencias generales o errores en un script NAnt.

2

Creo que este es un problema de gestión y generalmente las soluciones tecnológicas fallarán.

Proporcione estándares de codificación para el desarrollador, haga cumplir en las revisiones de código. Si tienes a alguien a cargo de revisar los parches de los desarrolladores, asegúrate de que rechacen los parches usando las funciones que no deseas ver.

+0

Esto es lo que hacemos ahora, pero sin una "solución tecnológica", es difícil atraparlo siempre durante las revisiones manuales. Y no aborda el código existente que no lo está revisando. –

0

Quizás otra opción sea agregar un evento de preconstrucción a VS que elimine las referencias a Microsoft.VisualBasic.Compatibility. Entonces cualquier uso de este tipo sería completamente regado :-)

2

Conexión FxCop a su construcción y haz que marque esos usos. Puede escribir sus propias reglas para aplicar sus estándares de codificación de manera automatizada.

Cuestiones relacionadas