About
fv_2007
Agile innovative developer with deep insight into lots of platforms, technologies and protocols. Absolute “early adopter” in Web 2.0 technologies and more. Large professional network and eagerly talking about architecture, strategy, design patterns, restful ressources, object-oriented thinking and modeling languages such as PML. Special interest in programminglanguages constructs, knowledge on languages like Smalltalk, Erlang, Java, Clojure, Scala, Ruby... read more
Comments
Language

Rails Best Practices September 20, 2007 05:38 over 4 years ago

Michael Koz Koziarski og Marcel Molina viste nogle best practices i Ruby on Rails som fik mig til at være glad. Dels var koden flot og omhandler fat model skinny contoller metoden. Molina blev lidt retorisk og kunne ikke styre sig. Okey, forstil dig starten på en god bog; Det er en fryserne morgen, vinden blæser og X kan ikke klare det mere. X begår selvmord. Han forsatte; Det er en fryserne morgen, vinden blæser og X kan ikke klare det mere. X pisser i bukserne. Salen var målløs, halvdelen grinede og andre sad som forstenede. Vildt sjovt.

Og hvad kan vi lære af det? Jo, faktisk ret meget. Molinas pointer er jo at man kunne føre det vigtigste frem i sætning og bruge en naturlig sprogkonstruktion, så ville man umiddelbart vide om det kunne betale sig at læse resten. Dette giver god mening når man tænker på den måde hvorpå kode skrives, læses og måske især forstås. En forfatter kan have en bestem mening med at gemme sætningens hovedstyrende element til sidst, men når vi skriver kode kan hele forståelsen forsvinde hvis lege med sprogkonstruktionerne.

De to rå Rails core members tog også udspring i et par gamle bøger om objekt orienteret programmering, en af de ting som de var faldet over var at alle metoder skal behandle samme niveau af abstraktion. Ja tak, det har altid være belejligt men desværre en noget overset faktor. Det hænger godt sammen med at en controller metode indeholder linjer af kode som kontroller forløbet og uddelegere til lavere abstraktionsled.

Check skinny controller fat model artiklerne herunder.

Bloatware
Object-oriented programming
Fat model
Skinny Controller


By Frank Vilhelmsen - 2 tags: architecture rails - Add comment