===== Consigli per chi inizia ===== ==== Dimentica tutto quello che hai imparato finora sullo sviluppo Web ==== Rails non è .NET o PHP, né cerca di emulare le loro metodologie. Studia e comprendi i framework concettuali [[wp>Model-view-controller | MVC]] e [[wp>Representational_State_Transfer | REST]] prima di iniziare a scrivere un'applicazione Ruby on Rails—questo accellererà il tuo apprendimento del framework Rails e migliorerà la qualità della tua applicazione. Se stai trovando molto difficile o scomodo sviluppare in Rails, accertati di nuovo di conformarti agli schemi MVC e REST; non è obbligatorio usare questi schemi, ma troverai spesso che è molto più difficile implementare qualcosa che li ignora. La decisione di fare le cose in modo diverso dovrebbe essere presa dopo attenta considerazione. ==== Abbraccia la convenzione ==== Ruby on Rails enfatizza volutamente la [[wp>Convention_over_Configuration|Convention over Configuration]] e il principio di sviluppo rapido [[wp>Don't_repeat_yourself|Don't Repeat Yourself]] (non ripeterti). ==== Usa un Version Control System ==== Niente può essere frustrante come fare qualche modifica minore e involontariamente far smettere di funzionare qualcosa. Usare un version control system (sistema di controllo versione) come [[it/howtos/Git | Git]], Mercurial, Subversion o CVS ti permette di fare modifiche e annullarle facilmente quando qualcosa va storto. La maggior parte della comunità Rails usa Git, per cui, se non hai mai usato il version control, parti da lì. ==== Cerca risposte (RTFM) ==== Sebbene ci siano molte persone volenterose di aiutare nelle comunità di Rails e Ruby che si rendono disponibili attraverso vari canali, prova a risolvere i tuoi problemi da solo prima di sollecitare il loro aiuto. Per la maggior parte, i problemi non sono unici e sono stati già risolti o risposti o in questo wiki o da qualche parte online. Ruby, il framework Rails e la maggioranza dei plugin e delle gem principali hanno una significativa documentazione online e rdocs che puoi generare tu stesso, e in più puoi sempre guardare il codice rilevante direttamente. Questo non è per dire che chiedere aiuto va evitato a tutti i costi, ma che è meglio fare un certo sforzo per trovare soluzioni prima di chiedere a qualcuno. Se hai bisogno di aiuto, due grandi sorgenti di informazioni sono la [[http://groups.google.com/group/rubyonrails-talk|Ruby on Rails talk mailing list]] e il canale IRC ''#rubyonrails'' su [[http://www.freenode.net/|Freenode]]. Con entrambi entrerai in contatto con sviluppatori Ruby e Rails con molta esperienza che saranno felici di aiutarti. ==== Impara Ruby, non solo Rails ==== Impara le convenzioni di Ruby e come scrivere un miglior codice Ruby. Prova a lasciare da parte le abitudini degli altri linguaggi. def add(a,b) # male - "return" è opzionale e non necessario return a + b # bene, per default viene restituito il valore dell'ultima istruzione a + b end # male, difficile da leggere e da capire puts "NO" if not @user.has_permission? # bene, il significato è chiaro puts "NO" unless @user.has_permission? Buone (e gratuite) introduzioni a Ruby possono essere trovate nella pagina ufficiale [[http://www.ruby-lang.org/en/documentation|ruby-lang.org]] o sottoforma di corsi online su [[http://www.rubylearning.org/class|rubylearning.org]]. ==== Impara ad amare i Test ==== Per quanto il testing possa apparire enorme e spaventoso all'inizio, imparerai ad amare il "big guy" una volta che lo provi. Il testing è qualcosa di "grosso" nella comunità di sviluppo di Rails, e dovrebbe esserlo anche per te. La prima volta che lo "afferri" è come vedere un raggio di sole attraverso il fango di altre pratiche di sviluppo. Leggi. Impara. Ama. ==== Tieni d'occhio gli screencast scelti ==== Ci sono diversi siti di screencast di alto profilo che vale la pena tenere d'occhio. Questi sono solo alcuni, sottoscrivi i loro feed RSS e dagli un'occhiata. http://www.railsenvy.com http://www.railscasts.com http://www.peepcode.com