---
title: Zach Dennis to Teach Tutorial at RailsConf
description: Zach Dennis will be leading a tutorial at RailsConf 2008. The topic he will be presenting on Refactoring Your Rails Application.
---

[Home](https://mutuallyhuman-pr-605.herokuapp.com/)

- [Team](https://mutuallyhuman-pr-605.herokuapp.com/team)
- [Work](https://mutuallyhuman-pr-605.herokuapp.com/work)
- [Blog](https://mutuallyhuman-pr-605.herokuapp.com/blog)
- [Contact](https://mutuallyhuman-pr-605.herokuapp.com/contacts)

# Zach Dennis to Teach Tutorial at RailsConf

By [Zach Dennis](https://resources.mutuallyhuman.com/test/author/zach-dennis) on 07 05 2008

Zach Dennis will be leading a tutorial at [RailsConf 2008](http://railsconf.com/). The topic he will be presenting on [Refactoring Your Rails Application](http://en.oreilly.com/rails2008/public/schedule/detail/1962/).

## Tutorial Details

**Time:** 8:30am - 12:00pm Thursday, 05/29/2008  
**Location:** Portland Ballroom 251

## Summary

Refactoring is an essential part of a developer's life. It can be difficult to know when or what to refactor in a Rails application. Some common and more noticeable signs that you need to refactor are:

- controllers becomes bloated
- models become bloated
- the view ends up embedding logic within its template
- view helpers become large and complex, both in size and in number of methods
- view partials rely on instance variables and constants rather then local variables
- models start doing work for the view
- tests become large, complex and painful to maintain

Refactoring should be a continual process throughout the life of an application. In order to refactor well it requires the developer to have proper techniques, tools and discipline. For example:

- applying the single responsibility principle
- extracting objects from bloated methods
- splitting objects into two
- identifying what goes in a model and what doesn't
- identifying what goes in a controller and what doesn't
- extracting presenters
- when to use classes and when to use modules
- using integration tests to help you refactor
- writing better tests
- writing clear and meaningful code

In this talk we will show the audience how to use the above refactoring techniques and tools to keep their Rails project humming along through development. Not only will they be able to apply these techniques to existing code, but they will be able to use these techniques to write better code from this point forward.

### Related Topics

- [Uncategorized (106)](https://resources.mutuallyhuman.com/test/topic/uncategorized)
- [User Experience (20)](https://resources.mutuallyhuman.com/test/topic/user-experience)
- [Ruby (11)](https://resources.mutuallyhuman.com/test/topic/ruby)
- [Interaction Design (10)](https://resources.mutuallyhuman.com/test/topic/interaction-design)
- [JavaScript (9)](https://resources.mutuallyhuman.com/test/topic/javascript)

### Related Posts

### About Mutually Human

Mutually Human is a custom software design and development consultancy specializing in mobile and web-based products and services. We help our clients design, develop and bring to market innovative products and services based on insightful research and strategy aligned with business objectives. We’ve helped Fortune 500 companies, state governments, and startups.

- [Home](https://www.mutuallyhuman.com)
- [Team](https://www.mutuallyhuman.com/team)
- [Work](https://www.mutuallyhuman.com/work)
- [Blog](https://www.mutuallyhuman.com/blog)
- [Contact](https://www.mutuallyhuman.com/contacts)

logo

[Mutually Human Grand Rapids: 401 Hall St. SW Suite 430 Grand Rapids, MI 49503 USA](https://www.mutuallyhuman.com/contacts#grand-rapids)

[Mutually Human Columbus: 243 N. Fifth Street Suite 300 Columbus, OH 43215 USA](https://www.mutuallyhuman.com/contacts#columbus)

+1 616 475-4225

[hello@mutuallyhuman.com](mailto:hello@mutuallyhuman.com)

<https://twitter.com/mutuallyhuman/><https://www.linkedin.com/company/mutually-human-software> <https://www.facebook.com/mutuallyhuman/> <https://github.com/mhs>

© 2017 Mutually Human