Post Made Community Wiki by Aniket Inge
source | link

Another vote that it's almost always wrong. I find two basic cases where it's the proper answer, though:

1) A method that basically just calls a bunch of other methods and does no real work itself. You have a process that takes 50 steps to accomplish, you get a method with 50 calls in it. There's usually nothing to be gained by trying to break that up.

2) Dispatchers. OOP design has gotten rid of most such methods but incoming sources of data are by their very nature just data and thus can't follow OOP principles. It's not exactly unusual to have some sort of dispatcher routine in the code that handles the data.

I would also say that one should not even consider the question when dealing with autogenerated stuff. Nobody's trying to understand what autogenerated code does, it matters not one iota whether it's easy for a human to understand.