Top Tips for Refactoring Rails Models

Different object types provide a great way of breaking down fat models.

Conditionality is filtering. Don't filter control flow, filter data.

Great example of removing conditional logic from your code.

Don’t forget about value objects!

Why value objects are ... well ... valuable!

Abstractivate: Reuse

When reuse is bad and good.

Revealing Interfaces

A little trick with IDEs to break down large classes.

Towards a Galvanizing Definition of Technical Debt

Technical debt viewed in a different way.

How much should I refactor?

By one problem at a time.

How Much Should I Refactor?

Michael Feathers: Runaway Methods