Domanda

Una cosa che mi manca davvero su Java, è lo strumento di supporto.FindBugs, Checkstyle e PMD fatto per una santa trinità del codice di metriche di qualità e automatico bug di controllo.

C'è qualcosa che si verifica per il semplice bug e / o stile di violazioni del codice Ruby?Punti Bonus se posso adattare per l'utilizzo di framework come Guide in modo che Rails idiomi sono rispettate.

È stato utile?

Soluzione

Recentemente ho iniziato a cercare qualcosa di simile per Ruby.Quello che ho imbattuto finora:

Questi potrebbero essere i luoghi ideali per iniziare.Purtroppo non ho usato alcuna delle tre ancora abbastanza per offrire una buona opinione.

Altri suggerimenti

Saikuro e Flog può essere buono per ottenere una idea di base di codice di complessità.È inoltre possibile utilizzare uno strumento come rcov a guardare la copertura del test.
C'è un plugin per Rails progetti che combinano tutti questi parametri in un unico task rake.Si chiama metric_fu.

Progetti che ho trovato e testato di recente:

Si potrebbe desiderare di provare RuboCop.Si tratta di un codice Ruby controllo di stile basato sul Ruby Stile Di Guida.Si è mantenuto abbastanza attivamente e si basa su standard di Ruby utensili (come il ripper biblioteca).Funziona bene con Ruby 1.9 e 2.0 e ha un grande Emacs integrazione.Spero vi sia utile!

Polvere sembra in grado di aiutarvi a trovare inutilizzati e inutili code, che sembra una sorta di adatta a quello che stai cercando.

Io non sono a conoscenza di tali strumenti.
Questo problema è di gran lunga più difficile di indirizzo in ruby che è in java, potrete notare che di tutti quelli strumenti java marca come l'utilizzo di 'analisi statica' del codice.
Analisi statica di codice ruby spesso non è possibile, perché non c'è nulla di statico, che potrai analizzare (metodi spesso creati a runtime e così via)

In ogni caso, alcune di queste cose sono inutili in ruby perché la lingua li costruisce in.Per esempio, non hai bisogno di uno standard di codifica per imporre che le classi sono tutte NamedLikeThis perché il codice non funziona se non lo sono.

P. S.Io sono per aggiungere la dichiarazione standard che tipo di strumenti può essere spesso un po ' di red herring.Si può trascorrere tutta la giornata rendendo il vostro codice di aderire a ciò che lo strumento che pensa che dovrebbe essere, e alla fine con più bug che hai iniziato con.
IMHO la soluzione migliore è quello di scrivere il codice in modo fluente in modo da poter leggere più facilmente.Nessuna quantità di analisi statica sta per essere buono come un umano di lettura di codice in cui si afferma chiaramente che cosa si vuole fare.Essere in grado di fare questo è dove ruby è anni luce più avanti di molte altre lingue.Io personalmente consigliamo di puntare i vostri sforzi per imparare a scrivere in modo fluente, e di educare il vostro team su queste cose, di spendere il loro tempo in analisi statica.

Un altro strumento molto bello, anche se nelle prime fasi, secondo l'autore è puzzano:

http://reek.rubyforge.org/

puzzano, attualmente, è molto ingenuo verifica il seguente codice odori:

  • Lungo Metodo
  • Grande Classe
  • Funzione Di Invidia
  • Poco Comunicativo Nome
  • Lungo Elenco Di Parametri
  • Funzione Di Utilità
  • Nidificato Iteratori
  • Controllo Di Coppia
  • Duplicazione
  • Voce di elenco

Personalmente penso che ha ancora troppi falsi positivi, ma solo guardando l'output in alcuni di il mio codice e mi ha aiutato a ripensare alcune decisioni in merito il codice di stile e architettura.

Codice Clima è un SaaS strumento che si integra tramite git e automaticamente "gradi" del codice.Si avvisa l'utente tramite diversi canali, se c'è un improvviso calo di qualità.Bella interfaccia utente così.

Non ho visto questa domanda quando è stato chiesto, ma un blog post che ho fatto potrebbe aiutare pure.Io copertura di un mazzo di Ruby strumenti e in particolare la copertura di 4 codice di strumenti di qualità...

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

Potrebbe anche essere la pena di verificare Towelie e Flay

http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/

Abbiamo combinato un sacco di strumenti in un solo codice Ruby qualità e metriche strumento di monitoraggio chiamato Pinza.Questo potrebbe soddisfare le vostre esigenze bene.Le tracce varie metriche di qualità oltre la vita di un progetto.

Pinza - migliora il tuo codice Ruby

C'è anche eccellente.Io non l'ho ancora provato, ma sembra troppo promettente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top