Robert Martin is the author of CleanCode. Great stuff in this presentation. I have read most of his books and this talk felt a bit like a reread.
Some of the notes I took while watching the video:
Write small methods, then write them smaller In an if statement, call a function In the predicate, call a function Extract your logic into small methods and objects. Not only to separate concerns but also to document and name your code. If you feel troubled coming up with a name for a method; it's probably doing too much (and it's probably also too big) If there's much data sharing between methods in a class; you're probably better off extracting that logic into another class Etc etc.
On our current project we have done something similar. First we started by naming our methods in a more expressive manner. We then applied cutting off large chunks of code into smaller methods. One obvious downside to this is that you end up with quite steeps objects graphs and lot's of small methods.
We found that as long as you name them properly and stop caring about the inner details some method deep down you'll be fine. But letting go the habit to examine every bit of code to understand what something is doing is quite a steep learning curve.
Watch the screencast here.