About
Hi! I'm Avdi Grimm, and this is my software development blog. More...
Books and Screencasts
Objects on Rails
A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.
-
Subscribe
-
Recent Posts
Archives
Categories
Meta
Tag Archives: design
Your Code is My Hell
It occurred to me recently that my experience as a Rails developer may be somewhat unique. I often get brought in to help preexisting Ruby/Rails projects evolve and mature in a sustainable way. As a result, the vast majority of … Continue reading
Posted in Rails, Rants, Ruby
Tagged architecture, design, legacy, maintenance, patterns, ruby. rails
125 Comments
The Coding Wasteland
Lately it has become popular to justify any messy code written in haste as intentional technical debt: “we chose to sacrifice quality for speed.” I’m not sure this is a constructive trend. In my own work I’ve begun making a … Continue reading
Posted in Rants
Tagged agile, debt, design, discipline, technical debt, technical waste, waste
15 Comments
Demeter: It’s not just a good idea. It’s the law.
Is #try really so bad? In response to my recent post about #try being a code smell, a lot of people made the reasonable objection that the example I used—of using #try on a a Hash—was a pathological case. A … Continue reading
Posted in Ruby
Tagged bdd, coupling, demeter, design, law of demeter, objects, oo, oop, ruby, Ruby on Rails, structural coupling, tdd, testing
72 Comments
My 99Designs Experience
A lot of people asked me to report on my experience with 99Designs, so now that the contest is over I thought I’d jot down some notes. For those who don’t know, 99Designs is a “design crowdsourcing” service. You post … Continue reading
Posted in Business
Tagged 99designs, branding, crowdsourcing, design, designers, graphics, web
7 Comments
Full Exploitation
“Full exploitation” is essentially a pattern in itself, and one we will come back to repeatedly. Whether it is applied to software development, architecture, or music composition, exploiting a good idea repeatedly can enhance the integrity and cohesion of the … Continue reading
The Mechanics of Web Design
I am a stereotypical developer: I can’t design my way out of a wet paper bag, and I tend to regard every potential bout with CSS with trepidation. I’m trying to get better, though. Progress is slow. I started working … Continue reading
Everything You Love about Java is Everything I Love About Good Design
I just read Why I love everything you hate about Java. You should too. There are some very good points about modularity in there. Unfortunately they are all mixed up with some unnecessarily combative us-vs-them rhetoric. Apparently in Nick Kallen’s … Continue reading
Writing Self-Confident Code
A common idiom in ruby is to call a method only if its receiver is not nil: thing.foo if thing or: thing && thing.foo Various libraries exist for making this a little more convenient. You can use andand, or if … Continue reading
Simple Design & Testing Conference 2007
I attended the Simple Design & Testing Conference over the weekend. A co-worker made me aware of it about two weeks ago, and since it was a) free; b) held at Penn State York, about 20 minutes from my house; … Continue reading




