Quali sono i più comuni antipasti Ruby on Rails e come evitarli?Antipattern con Ruby on Rails
risposta
ci sono due principali anti-pattern che ho visto in un sacco di codice Rails:
un sacco di "lavoro pesante" in vista. Qualunque cosa più complicata della semplice iterazione su collezioni o interpolazione di stringhe dovrebbe essere in aiutanti o metodi modello. Non eseguire query per oggetti modello, costruire grandi matrici JSON o aggiornare le variabili di sessione dai modelli ERB.
Oggetti del modello che non sono utilizzabili per lo scripting o l'implementazione dell'API. I tuoi modelli definiscono la semantica del dominio per la tua applicazione. Dovresti essere in grado di attivare script/console, o scrivere wrapper API del servizio, che riutilizzano i metodi del modello funzionale esistenti per manipolare tutti i dati chiave nell'applicazione. La funzionalità del controller è disponibile solo nel ciclo di richiesta/risposta HTTP, che è solo una parte del ciclo di vita di qualsiasi sito completo.
Zuppa di alfabeto?
(Nessun tipo dichiarato e senza senso di denominazione variabile che porta a codice quasi illeggibile)
nome del modello deriva da variabili nomi come 'a', 'b', 'c', 'd', etc.
Non imparare Rubino.
Heh, non posso credere di aver ottenuto un upvote per questo :-) –
È una risposta intelligente :) – lucapette
UTILIZZO se non con il resto
antipattern:
unless is_the_weekend?
do stuff that you do during the week
else
do stuff that you do on weekends
end
Alternativa:
if is_the_weekend?
do stuff that you do on weekends
else
do stuff that you do during the week
end
è questo in qualche modo RoR-specifico? – SilentGhost
Non per niente. È qualcosa che ho notato molto di più in Ruby rispetto ad altre lingue (e la maggior parte di ciò che ho visto usare per Ruby è RoR). –
ovviamente non esiste un tipo dichiarato, è un linguaggio dinamico. e chiunque usi una singola lettera come variabile come qualcosa di diverso da un iteratore in qualsiasi lingua ha bisogno di qualcosa di duro lanciato contro di loro –