Rails Best Practices: introduzione

Ho deciso di dedicare una serie di post alle Best Practices in Rails perché ritengo sia importante diffonderle e condividerle al fine di migliorare sempre il proprio modo di programmare.

La scrittura di questi post sarà anche un occasione per me di approfondire meglio le mie conoscenze, per cui vi invito fin da ora a seguirmi in questo percorso e a contribuire con i vostri commenti.

Questo primo post è solo un introduzione in cui voglio mettere in evidenza i vantaggi dello scrivere applicazioni Ruby On Rails seguendo le regole di best practices. Nei post che seguiranno cercherò di approfondire i concetti base per scrivere codice migliore e più gestibile attraverso degli esempi concreti.

Ma vediamo ora in sintesi i principali vantaggi derivanti dal seguire le best practices:

  • Leggibilità: un codice più leggibile e più chiaro è utile soprattutto in progetti in cui sono coinvolti più sviluppatori ma anche su progetti individuali. Vi è mai capitato di riprendere in mano del codice che avete scritto a distanza di qualche mese? Era abbastanza chiaro e leggibile?
  • Flessibilità: del codice ben scritto è generalmente più modulare, quindi più facile da adattare a nuovi requisiti o richieste di modifiche da parte del cliente. Ma rende anche più facile riutilizzare su nuovi progetti funzionalità e blocchi di codice già implementati in passato;
  • Manutenibilità: un codice modulare e che segua la filosofia DRY è più semplice da correggere ed anche da comprendere.
  • Testabilità: scrivere codice secondo le best practices rende più semplice, come vedremo nei prossimi post, il flusso di operazioni eseguite nei controller. In tal modo anche la scrittura dei metodi di test risulterà più semplice e più efficace.

Nel prossimo post inizieremo a vedere come spostare parti di codice dal Controller al Model, secondo la pratica che nel mondo rails viene detta “Fat Model – Skinny Controller“.

Gli argomenti dei post successivi saranno invece:

  • Convenzioni REST
  • Ottimizzazione del Model
  • Scomposizione del Model
  • Best Practices per le Migration
  • Utilizzo dei filtri nei Controller
  • Rimuovere la logica dalle view RESTful Conventions
  • Utilizzare gli helper Model Optimization

Tags: , , ,


About Claudio

Claudio Marai is a co-founder of DevInterface.

After graduating in Computer Science has contributed to develop complex web applications based on Java/J2EE and desktop applications with the. NET framework for the Ministry of Justice and ultimately for the banking ambit.

The passion for web in recent years has led him to be interested in more modern frameworks such as Ruby on Rails and Django, and to a development approach based on agile methodologies such as eXtreme Programming and SCRUM.

About DevInterface

We are an information and communication technology agency. Our mission is to provide web application development, design services and communication strategies. We specialize in building web applications with modern and efficient frameworks.

Related Post

5 Responses to “Rails Best Practices: introduzione”

  1. Rafael scrive:

    Excellent! I was waiting this kind of articles for a while. I’ll follow you nearly.

  2. Samatha Brockel scrive:

    Great blog post.Really looking forward to read more.

  3. Richard Huang scrive:

    Hey, you should add the reference to ihower’s presentation, http://www.slideshare.net/ihower/rails-best-practices, I think your posts are the same.

  4. Claudio scrive:

    Hi Richard, thank you for your contribute.
    I’ve read ihower’s presentation and yes, it has been one source of inspiration (not the only one) for this series of posts.
    But my intention is to write more detailed articles and stimulate a discussion on what are best practices to follow in Ruby on Rails.

  5. Shonna Brouwers scrive:

    Nice background, your posts were very good to read and it was something related to me.

Leave a Reply

Insert code beetween <code lang="ruby"> and </code>

Copyright 2012 DevInterface s.n.c.

DevInterface Blog is proudly powered by WordPress