2008-12-01 22 views
44

¿Alguien sabe de un buen analizador de código fuente extensible que examine los archivos JavaScript?JavaScript Source Code Analyzer

+0

¿Qué estás buscando en cuanto a análisis? –

+0

Más o menos, los errores típicos y el análisis de problemas de compatibilidad, pero también la capacidad de examinar las convenciones de nombres y el estilo también. – JamesEggers

+0

¿Puede proporcionar un analizador de código de ejemplo para un idioma diferente? –

Respuesta

61

en el interés de mantener esta cuestión hasta a la fecha, no existe un tenedor de JSLint llama JSHint una explicación de por qué se creó JSHint se puede encontrar here, pero para resumir:.

JSHint es un tenedor de JSLint , la herramienta escrita y mantenida por Douglas Crockford. JSLint me sirvió bien para bastante tiempo, pero en los últimos meses se ha puesto incómodamente obstinado y hostil hacia su código . Se está transformando rápidamente de una herramienta que ayuda a los desarrolladores a evitar errores en una herramienta que asegura que escriba su código como Douglas Crockford.

+41

Ha, un voto negativo :-) ¿Fuiste tú, Douglas? – CodeNaked

+7

Si bien esta es una pregunta anterior, moví la respuesta a JSHint. Respeto tanto a JSLint como a JSHint; sin embargo, JSLint es demasiado obstinado y estricto para mí. JSHint permite la libertad de estilo que prefiero (a saber, la coma primero) y todavía proporciona mucha potencia en términos de validación. – JamesEggers

23

JSLint ha sido históricamente la principal herramienta para esto, pero varios más ahora existen:

1

He encontrado JSLint que ayuda a corregir una gran cantidad de errores comunes y cosas así; sin embargo, espero encontrar algo para poder agregar mis propias reglas y para ayudar a automatizar algunos estándares de codificación que mi empresa desea implementar en JavaScript.

http://www.jslint.com/

tengo que mirar en él es modelo de extensibilidad más.

+0

Me encantaría ver algo más poderoso también, pero no he encontrado nada todavía ... – chills42

1

Hay algunas herramientas en el list of tools for static code analysis en wikipedia que tienen soporte de JavaScript, también puede ver JavaScript Debugging si cualquiera de las herramientas mencionadas ayudaría. También hay algunas buenas herramientas en YUI (Red de desarrolladores de Yahoo), así como una gran cantidad de útiles componentes.

Siempre he usado JSLint, y esa es la única herramienta de análisis para JS que he probado. Cada vez soy más aficionado a JavaScript, pero las buenas herramientas siguen siendo un problema. :(

1

uso Aptana para el análisis de archivos JavaScript. Atrapa un montón de pifias (si la condición con una sola =). También se describe el diseño de clase. Creo que tiene una aplicación JSLint incrustado en él.

2

JSAnalyse acaba de ser publicado en codeplex. Es una herramienta que analiza las dependencias entre los archivos javascript. Incluso puede definir las dependencias permitidas y JSAnalysis verifica si las reglas definidas se cumplen o no. Eso permite hacer un seguimiento de las dependencias javascript incluso en proyectos grandes y tener una arquitectura limpia.

JSAnalyse se puede ejecutar como una herramienta de línea de comandos o configurar a través del Visual Studio Layer Diagramm. También es fácil de integrar en la construcción. Con check-ins cerrados puede mantener las dependencias bajo control.

+2

Parece interesante. Lo único que no me gusta de un vistazo rápido es que requiere .Net (¿y Visual Studio?). No sé si alguien podría usar esto para analizar sus JS en Python, Ruby, Java, etc. A pesar de eso, SI se ve interesante, tendrá que verificarlo. Gracias por agregar la respuesta. – JamesEggers

2

Además de JSLint, JSHint, ESLint, Plato, Google Closure-Linter hay otra herramienta llamada Esprima. Aquí está el enlace para ello: http://esprima.org/

Además, este es el enlace de GitHub para la herramienta Esprima: https://github.com/ariya/esprima

que se enfrentaron a problemas de instalación mientras estaba probando Google Closure-Linter para Windows. Pero, menciona en la página web que su soporte para Windows es experimental. Todas las demás herramientas son fáciles de usar.