This is the only rule that remained true to its own original version… like it was originally conceived while I was cleaning up my room before moving back to my hometown.
-
Every method will be of 20 lines max.
While a 400 lines long program can stay into a single method, a program longer than that must be modularized. When you vote for modularity, expecially in an object oriented environment, you are going to work for a division based on the data over which you must act: you keep the code that acts on a certain kind of data local to that data. Therefore it becomes useless to keep information on the way you act over, for example, end-of-the-year dates in the same method where you act over usernames or files on a remote filesystem. The remote filesystem files are not interested by how you well can handle the dates or username. And at 2.00 in the morning you wouldn't be interested by those relations as well if you are only trying to understand why you cannot suddenly access the remote filesystem.
So, in order to avoid this dispersion of concepts you need to factor your code into small, compact methods. 20 lines is actually a number large enough to allow some fragmentation and repetition, but it still allows a version of a CS algorithm like Merge-Sort (at least, a version I spiked out some time ago) without it being split further.
I think essentially the whole concept behind 700x128 boils down to "do not make methods that are long too much"... and remembering how was my Java life before changing job I think it is probably a strongly motivated rule. :)