Ruby on Rails
Strumenti per l'ottimizzazione e la pulizia del codice Ruby on Rails
Ricerca…
introduzione
Mantenere il proprio codice pulito e organizzato mentre si sviluppa una grande applicazione Rails può essere una vera sfida, anche per uno sviluppatore esperto. Fortunatamente, c'è un'intera categoria di gemme che rendono questo lavoro molto più facile.
Se vuoi mantenere il tuo codice gestibile, sicuro e ottimizzato, guarda alcune gemme per l'ottimizzazione e la pulizia del codice:
Questo mi ha particolarmente colpito. La gemma dei proiettili ti aiuta a uccidere tutte le query N + 1, così come le relazioni caricate inutilmente ansiose. Una volta installato e avviato la visita di varie rotte in fase di sviluppo, verranno visualizzate caselle di avviso con avvisi che indicano le query del database che devono essere ottimizzate. Funziona fin da subito ed è estremamente utile per ottimizzare l'applicazione.
Analizzatore di codice statico per la ricerca di odori di codice specifici di Rails. Offre una varietà di suggerimenti; utilizzare l'accesso all'ambito, limitare i percorsi generati automaticamente, aggiungere indici di database, ecc. Tuttavia, contiene molti suggerimenti che ti offriranno una prospettiva migliore su come ridimensionare il codice e imparare alcune best practice.
Un analizzatore di codice statico Ruby che puoi utilizzare per verificare se il tuo codice è conforme alle linee guida del codice comunità di Ruby. La gemma riporta violazioni di stile attraverso la riga di comando, con un sacco di utili codici di refactoring come l'assegnazione di una variabile inutile, l'uso ridondante di Object # to_s nell'interpolazione o anche l'argomento del metodo inutilizzato.
Una cosa buona è che è altamente configurabile, dal momento che l'analizzatore può essere piuttosto irritante se non stai seguendo la guida in stile Ruby al 100% (cioè hai un sacco di spazi bianchi finali o raddoppi le stringhe anche quando non interpolate, ecc.) .
È diviso in 4 sub-analizzatori (chiamati poliziotti): Style, Lint, Metrics and Rails.