Users’ names are formatted and displayed as “First Last” throughout
the application. If you want to change the formatting to include a
middle initial (example: “First M. Last”) you’ll need to make the same
small change in several places.
If your changes become spread out because you need to pass
information between boundaries for dependencies, try inverting
If you find yourself repeating the exact same change in several
places, make sure that you Don’t Repeat
If you need to change several places because of a modification in
your dependency chain, such as changing user.plan.price to
user.account.plan.price, make sure that you’re following
the law of Demeter.
If conditional logic is affected in several places by a single,
cohesive change, make sure that you’re following tell, don’t ask.
The canonical reference for writing fantastic Rails applications from authors who have created hundreds.