About the Talk
March 20, 2010 10:30 AM
All codebases have entropy and tend to degrade over time. Ruby is a hugely flexible language, and as a consequence Ruby codebases tend to suffer more than most from this kind of gradual degradation over time. This is especially true in situations where part of the development team is new to either Ruby, or the project domain or both.
This talk is about all the ways in which a Ruby codebase can be slowly drawn and quartered over time. We will talk about the kinds of the anti-patterns one can expect to see, the smells which indicate their presence and the mechanisms that can be used to prevent their occurrence or minimise their effect on the codebase. Examples are drawn from the presenters' experience working with a suite of integrated Rails applications ranging from four years old (legacy applications in Rails terms) to a few months old as well as their experiences in working on open source Ruby projects.
We will cover runaway meta-programming (someone overwrote Object#responds_to?), poor performance (someone thought creating a Document for every response was a good idea - and used REXML) and other issues that are common, weird or simply entertaining.