No, long method are not alway bad. In code complete, it is measured that long method are sometime faster and easier to write, and don't lead to maintenance problems. In fact, what is really important is to stay DRY and respect separation of concerns. Sometime, the computation is just long to write, but really won't cause issue in the future. However, from my personal experience, most long methods tend to lack separation of concern. In fact long method is a easy way to detect that something MAY be wrong in the code, and that special care is required here when doing code review. EDIT: As comment are made, I add an interesting point to the answer. I would in fact also check complexity metrics for the function (NPATH, cyclomatic complexity or even better CRAP). In fact, I recommend to not check such metrics on long function, but to include alert on them with automated tools (such as checkstyle for java for instance) ON EVERY FUNCTION.