2008-12-01 6 views
44

Est-ce que quelqu'un connaît un bon analyseur de code source extensible qui examine les fichiers JavaScript?Analyseur de code source JavaScript

+0

Que recherchez-vous en analyse? –

+0

À peu près, les erreurs typiques et l'analyse des problèmes de compatibilité, mais aussi la possibilité d'examiner les conventions de dénomination et le style ainsi. – JamesEggers

+0

Pouvez-vous fournir un exemple d'analyseur de code pour une langue différente? –

Répondre

61

dans l'intérêt de garder cette question mise à jour, il y a une fourchette de JSLint appelé JSHint une explication des raisons pour lesquelles JSHint a été créé peut être trouvé here, mais pour résumer:.

JSHint est une fourchette de JSLint , l'outil écrit et maintenu par Douglas Crockford .JSLint m'a servi Eh bien pour un certain temps, mais dans les derniers mois mois il a été désagréablement opiniâtre et hostile envers votre code . Il transforme rapidement de un outil qui aide les développeurs à prévenir les bugs à un outil qui s'assure que vous écrivez votre code comme Douglas Crockford.

+41

Ha, un vote négatif :-) Était-ce toi Douglas? – CodeNaked

+7

Bien que ce soit une question plus ancienne maintenant, j'ai déplacé la réponse à JSHint. Je respecte à la fois JSLint et JSHint; Cependant, JSLint est trop orienté et strict pour moi. JSHint permet la liberté de style que je préfère (à savoir virgule-première) et fournit toujours beaucoup de puissance en termes de validation. – JamesEggers

23

JSLint a toujours été le principal outil pour cela, mais il en existe plusieurs plus maintenant:

1

J'ai trouvé JSLint qui aide à corriger beaucoup d'erreurs courantes et autres; Cependant, j'espère trouver quelque chose que je peux ajouter mes propres règles et ainsi de contribuer à automatiser certaines normes de codage que mon entreprise souhaite implémenter dans JavaScript.

http://www.jslint.com/

je dois examiner c'est modèle plus extensible.

+0

J'aimerais voir quelque chose de plus puissant aussi, mais je n'ai encore rien trouvé ... – chills42

1

Il ya quelques outils sur le list of tools for static code analysis à wikipedia qui a la prise en charge de JavaScript, vous pouvez également voir JavaScript Debugging si l'un des outils mentionnés aiderait. Il y a aussi quelques bons outils au YUI (Yahoo Developer Network), ainsi que beaucoup de composants utiles.

J'ai toujours utilisé JSLint moi-même, et c'est le seul outil d'analyse pour JS que j'ai essayé. Je suis de plus en plus friand de JavaScript, mais les bons outils sont toujours un problème. :(

1

J'utilise Aptana pour l'analyse des fichiers JavaScript. Il attire beaucoup de gaffes (si la condition avec un seul =). Il décrit également la mise en page de classe. Je crois qu'il a une mise en œuvre de JSLint intégré en elle.

2

JSAnalyse vient d'être publié sur codeplex. C'est un outil qui analyse les dépendances entre les fichiers javascript. Vous pouvez même définir les dépendances autorisées et JSAnalysis vérifie si les règles définies sont remplies ou non. Cela permet de garder une trace des dépendances javascript même dans les grands projets et d'avoir une architecture propre.

JSAnalyse peut être exécuté en tant qu'outil de ligne de commande ou configuré via le Visual Studio Layer Diagramm. Il est également facile à intégrer dans la construction. Avec les check-ins bloqués, vous pouvez garder les dépendances sous contrôle.

+2

Cela semble intéressant. La seule chose que je n'aime pas d'un coup d'oeil rapide, c'est qu'il nécessite. Net (et Visual Studio?). Je ne sais pas si quelqu'un pourrait l'utiliser pour analyser son JS en Python, Ruby, Java, etc. Quoi qu'il en soit, il semble intéressant et devra le vérifier. Merci d'avoir ajouté la réponse. – JamesEggers

2

En dehors de JSLint, JSHint, ESLint, Platon, Google Closure-Linter, il existe un autre outil nommé Esprima. Voici le lien pour elle: http://esprima.org/

En outre, c'est le lien github pour l'outil Esprima: https://github.com/ariya/esprima

je faisais face à des problèmes d'installation tout en essayant Google fermeture Linter pour Windows. Mais, il mentionne sur la page Web que son support pour Windows est expérimental. Tous les autres outils sont faciles à utiliser.