Some weeks ago I read “Clean Code” from Robert C. Martin.
General speaking, I think its guidelines are too extreme, but the approach of the problems are good. For example, he made an 10 line method to a 3 line method, by extracting some lines in other methods.
Most of the time this is the right way, if the difference in abstraction or logic is too big. But if you have so many methods, that you always jump from method to method, you will lose the overview.
You can buy the book at amazon
English version on amazon.de
German version on amazon.de