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, especially 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.
Hacker. CTO and co-founder of C42 Engineering, a Ruby on Rails consulting firm.
Sign in to add slides, notes or videos to this session