The DRY Principle




Rails Coach show

Summary: According to The Pragmatic Programmer by Andy Hunt and Dave Thomas, "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." Last week I talked about extending your Ruby on Rails application. This is because in many cases in order to avoid repeating your logic across multiple classes (models or controllers) you need another place to put your functionality. Mix-in modules, plugins, and single table inheritance all allow you to codify your knowledge into a single place depending on what you’re working with. The DRY principle is more than just a way to avoid having to update multiple files when something changes. Rather, it’s a way of assuring yourself that things are done in a consistent manner. It also helps you when you’re trying to find something in your application because there’s only one place where it can be found.