I like the concept of 'one unit, one task'.
Let your function do exactly one clearly defined thing that can be expressed in a telling, shortish function name and doesn't need an overly large interface.
My methods/functions have not much to do:
* do something with a value
* return it or print it
If the method needs a lot of calculations or other stuff then I write a method for the method. I think this keeps the code readable.
Diego Lol :D
Jason, asking for three doesn't mean they are only three, they might be more. To me, it's the same as to say, "Give me five coding languages?" And you know that out of thirteen, you only give five.
By the way, the three I can give are, readability, understandability and testability