Why Our Code Smells

Brandon Keepers | 11:45 – 01:00


Odors are communication devices. They exist for a reason and are usually trying to tell us something.

Our code smells and it is trying to tell us what is wrong. Does a test case require an abundance of setup? Maybe the code being tested is doing too much, or it is not isolated enough for the test? Does an object have an abundance of instance variables? Maybe it should be split into multiple objects? Is a view brittle? Maybe it is too tightly coupled to a model, or maybe the logic needs abstracted into an object that can be tested?

In this talk, I will walk through code from projects that I work on every day, looking for smells that indicate problems, understanding why it smells, what the smell is trying to tell us, and how to refactor it.


Brandon believes that software can always be better. His addiction to beautiful code is perfectly matched with his passion for testing and maintainability. As a Developer at GitHub, he spends most of his time on Gaug.es and SpeakerDeck.com. Brandon has created and maintains many open-source projects, and shares about his endeavors at opensoul.org.