Frage

Eine Sache, die ich an Java wirklich vermisse, ist die Tool-Unterstützung.FindBugs, Checkstyle und PMD sorgten für eine Dreifaltigkeit von Codequalitätsmetriken und automatischer Fehlerprüfung.

Gibt es etwas, das nach einfachen Fehlern und/oder Stilverstößen im Ruby-Code sucht?Bonuspunkte, wenn ich es für Frameworks wie Rails anpassen kann, damit die Rails-Redewendungen eingehalten werden.

War es hilfreich?

Lösung

Ich habe die aussehen wie diese für Ruby etwas vor kurzem begonnen. Was ich über so weit laufen:

Diese könnten Orte, um zu starten. Leider habe ich keine der drei genug noch verwendet, um eine gute Meinung zu bieten.

Andere Tipps

Saikuro und Fliegen können für die Zeugung eine Grundidee der Codekomplexität gut sein. Sie können auch ein Tool wie rcov verwenden, um Ihre Testabdeckung zu suchen.
Es ist ein Plugin für Rails-Projekte, die alle diese Metriken in eine einzige Rake Aufgabe kombinieren. Es heißt metric_fu .

Projekte Ich habe gefunden und getestet vor kurzem:

Vielleicht möchten Sie versuchen, RuboCop . Es ist ein Kontrolleur Ruby-Code-Stil basiert auf dem Ruby-Style Guide . Es ist gepflegt ziemlich aktiv und es basiert auf Standard-Ruby-Werkzeuge (wie die ripper Bibliothek). Es funktioniert gut mit Ruby 1.9 und 2.0 und großer Emacs Integration hat. Ich hoffe, Sie finden es nützlich!

Staub sieht aus wie es Ihnen helfen können, nicht verwendete und nutzlos Code finden, was scheint wie es Art-of paßt, was sie ist nach.

Ich bin nicht bekannt, dass andere solche Werkzeuge.
Dieses Problem ist in beträchtlichem Ausmaß härter in Ruby zu adressieren, als es in Java ist - Sie werden feststellen, dass alle diese Java-Tools Marke selbst als ‚statische Analyse‘ des Codes mit
. Statische Analyse von Ruby-Code ist oft nicht möglich, weil es nichts statisch ist, dass Sie analysieren können (Methoden häufig zur Laufzeit erstellt bekommen und so weiter)

Auf jeden Fall sind einige dieser Dinge nicht benötigte in Ruby, weil die Sprache sie in aufbaut. Zum Beispiel müssen Sie nicht einen Codierungsstandard erzwingen, dass Ihre Klassen sind alle NamedLikeThis, da der Code wird nicht funktionieren, wenn sie nicht sind.

P. S. I Haben der Standard Haftungsausschluss hinzufügen, die diese Art von Werkzeugen oft ein bisschen ein Ablenkungsmanöver sein kann. Sie können den ganzen Tag verbringen Sie Ihren Code machen sich an, was das Werkzeug denkt es sein sollte, und mit mehr Fehler am Ende, als Sie begann mit.
IMHO die beste Lösung, um Ihren Code ist fließend zu schreiben, so können Sie es leichter lesen. Kein Betrag der statischen Analyse wird so gut wie ein Mensch Lesecode zu dem eindeutig hervorgeht, was es tun soll. Die Möglichkeit, dies zu tun ist, wo Rubin Lichtjahre voraus vielen anderen Sprachen ist. Ich persönlich würde empfehlen Ihnen, Ihre Bemühungen zielen darauf ab, zu lernen, wie mehr fließend zu schreiben, und Ihr Team über solche Dinge zu erziehen, als die Zeit auf statische Analyse zu verbringen.

Ein weiteres nettes Tool, obwohl in frühen Stadien nach Ansicht des Autors ist rejek:

http://reek.rubyforge.org/

rejek derzeit sehr naive Kontrollen umfasst für den folgenden Code riecht:

  • Long-Methode
  • Große Klasse
  • Eigenschaft Neid
  • Uncommunicative Name
  • Long Parameterliste
  • Utility-Funktion
  • Verschachtelte Iteratoren
  • Steuer Paar
  • Die Vervielfältigung
  • Liste item

Ich persönlich denke, es immer noch zu viel falsch positive Ergebnisse, aber am Ausgang in einigen meiner Code hat mir geholfen, einige Entscheidungen einfach nur überdenken über Code-Stil und Architektur.

-Code Climate ein SaaS-Tool, das durch git integriert und automatisch "grades" Code. Es informiert Sie über verschiedene Kanäle, wenn es einen plötzlichen Abfall in der Qualität. Nizza UI als auch.

Ich habe nicht diese Fragen sehen, wenn Sie gefragt, aber eine Blog-Post ich auch tat könnte helfen. Darin decken ich ein Bündel von Ruby-Tools und speziell decken 4 Codequalität Tools ...

  1. Roodi
  2. Staub
  3. Flog
  4. Saikuro

Es könnte auch sein, lohnt sich Towelie und Flay

http://devver.wordpress.com/2008/ 03.10 / ruby-tools-Roundup /

Jetzt haben wir eine Menge von Werkzeugen in ein einziges Ruby-Code-Qualität und Metriken-Monitoring-Tool namens Caliper kombiniert. Dies könnte Ihre Bedürfnisse gut passen. Es verfolgt verschiedene Qualitätsmetriken über die gesamte Lebensdauer eines Projekts.

Caliper - verbessern Sie Ihre Ruby-Code

Es gibt auch ausgezeichnet . Ich habe es noch nicht ausprobiert, aber es sieht sehr vielversprechend.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top