C'è troppa astrazione nella comunità di Ruby on Rails?

5

Rails, per me, sembra un perfetto livello di astrazione per la maggior parte dei tipi di sviluppo web. Tuttavia, avendo visto alcuni esperti di Rails compilare un'applicazione, sto scoprendo che usano le gemme in misura tale che è spesso abbastanza difficile capire cosa sta succedendo nel codice. Come sviluppatore di Rails di livello intermedio, ho avuto difficoltà a scavare nel loro codice per capire come funzionano le cose, e sto davvero lottando per vedere il payoff di questo approccio.

Quindi sono io, o Rails, a forza del fatto che ha una comunità di contributori così vivace, che incoraggia l'eccessiva astrazione?

    
posta yalestar 23.11.2010 - 20:08
fonte

3 risposte

1

Rimanere aggiornati è molto difficile nella comunità Rails a causa della proliferazione di framework / componenti e della velocità con cui vengono adottati dal mainstream. Significa che il lavoro deve rimanere abbastanza aggiornato per comprendere il nuovo codice e che il vecchio codice diventa vecchio molto velocemente ...

Io programma Rails solo come hobby e non ho una preghiera di stare dietro; Ho in media solo un progetto significativo per versione principale da .11 e non mi definirò nemmeno uno sviluppatore di Rails.

    
risposta data 23.11.2010 - 21:24
fonte
7

La tua domanda mi ha ricordato un punto che Paul Graham fa in On Lisp :

If people complain that using utilities makes your code hard to read, they probably don’t realize what the code would look like if you hadn’t used them. Bottom-up programming makes what would otherwise be a large program look like a small, simple one. This can give the impression that the program doesn’t do much, and should therefore be easy to read. When inexperienced readers look closer and find that this isn’t so, they react with dismay.

Inoltre, questo è un nitpick minore, ma la maggior parte delle persone si riferisce a qualcos'altro quando usa la parola "astrazione".

    
risposta data 23.11.2010 - 21:53
fonte
3

Ruby in generale incoraggia la programmazione ad un livello elevato e Rails incoraggia specificatamente uno stile di programmazione un po 'dichiarativo (si potrebbe anche pensare a Rails come DSL dichiarativo per la definizione di pagine Web, in una certa misura). Di conseguenza, le app di Rails possono essere difficili da eliminare se non hai molta esperienza con l'app stessa e tutte le gemme che utilizza. Ma come la maggior parte delle cose di programmazione, per un programmatore esperto di Rails (e qualcuno che ha esperienza con l'app specifica in sé) probabilmente ha senso.

    
risposta data 23.11.2010 - 20:37
fonte

Leggi altre domande sui tag