2008-09-16 9 views

Respuesta

1

FXCop es un buen comienzo para la codificación de los problemas/errores, StyleCop es bueno para el estilo (obviamente) de codificación, pero si ninguno de los dos trabajan entonces usted entonces usted puede escribir un parser sí mismo o utilizar la clase VBCodeProvider en el. Net Framework

16

En lugar de escribir su propio analizador de código estático, le recomiendo que use FxCop: y en su lugar, escriba reglas FxCop personalizadas para sus necesidades. Te ahorrará mucho tiempo. http://www.binarycoder.net/fxcop/

0

Comience con FxCop. Si no puedes hacer lo que estás intentando allí, prueba algo como NStatic o NDepend.

4

Le sugiero que utilice el Gendarme de Mono. Es una herramienta muy buena, con muchas reglas integradas. También genera buenos informes HTML.

0

Las mejores opciones son usar FxCop o StyleCop y escribir reglas personalizadas si es necesario.

0

Utilice FxCop, este no es un proyecto que desea emprender personalmente. Las reglas analíticas/léxicas involucradas y las posibles capturas serían una locura. La única forma en que podría imaginar hacerlo manteniendo un mínimo de cordura sería usar Lisp gracias a la gran cantidad de expresividad, pero de nuevo, lo mejor es usar FxCop.

Si debe escribir una herramienta interna personalizada por algún motivo (¿dogmático?), Le recomendaría escribir un programa Lisp que solo haga una comprobación básica de las reglas. No trate de que sea exhaustivo, estamos hablando del tipo de frontera con la que se enfrentan los investigadores de AI en términos de las capacidades de análisis de un programa.

Simplemente use Lisp para encontrar los posibles ofensores obvios, o simplemente para atrapar lo que sea que sea bueno capturando en términos de código no conforme, y luego expóngalo a una breve exploración del ojo humano. Recomiendo abusar de macros si usa Lisp para escribir el analizador.

2

si necesita información arquitectónica de mroe use NDepend. Esta herramienta no para asombrarme. Puede hacer mucho más que FxCop. Aunque es comercial, pero tiene una versión de prueba gratuita

0

Estoy de acuerdo con uno de los carteles que sería una tarea bastante difícil, pero en lugar de con Lisp comenzaría con F #, al igual que Microsoft lo hizo con su tercera parte ventanas herramienta de análisis de los conductores:

http://arstechnica.com/journals/microsoft.ars/2005/11/10/1796

F # acciones expresividad de Lisp (bueno, casi) y trabaja en CLR como VB.NET, lo que haría todo más fácil.

Cuestiones relacionadas