Concordo e gostaria de complementar: detesto essas regras que determinam um limite para a quantidade de linhas de uma classe, método, ou seja lá o que for.
Pra isso vou contar um caso real. Uma vez uma função ultrapassou esse limite, não lembro o número exato mas vamos dizer que era 30 linhas e ela ficou com 31. Ou seja:
class blabla {
// vários métodos...
function fazAlgo() {
// 31 linhas aqui dentro
}
// outros métdodos
}
Pra satisfazer a regra, tive que pegar um trecho qualquer (digamos que foi de 10 linhas) e jogar para outra função:
class blabla {
// vários métodos...
function fazAlgo() {
// 21 linhas aqui dentro
novaFuncao(); // nova função com 10 linhas tiradas daqui
}
function novoMetodo() {
// 10 linhas que antes estavam em fazAlgo
}
// outros métodos...
}
Ou seja, o método original tinha 31 linhas e fiz o seguinte:
- joguei 10 linhas para outro método (original fica com 21)
- adicionei a chamada do novo método (original fica com 22)
Mas olha só, pra fazer isso eu tive que adicionar também a linha function novoMetodo() { e o respectivo fechamento }. E uma linha em branco antes e depois (regras de formatação do projeto). Ou seja, a classe como um todo ficou com mais linhas.
E ao fazer isso com vários métodos, o limite de linhas por classe também foi ultrapassado, ou seja, tive que criar uma classe auxiliar e mover alguns métodos para lá.
E no fim o código ficou pior porque não fazia sentido quebrar em métodos menores, já que tudo era parte da mesma operação. O mesmo vale para a classe auxiliar, que só ajudou a aumentar a complexidade desnecessariamente.
Tudo isso pra satisfazer uma regra arbitrária envolvendo um número mágico que alguém definiu.
Não me entenda mal, algum conjunto mínimo de regras e padrões devem existir para não virar bagunça. E tem vezes que faz todo sentido quebrar em métodos menores ou separar em outras classes (mas se vc fez isso somente por causa da quantidade de linhas, aí complicou à toa, na minha opinião).
E a partir do momento em que essas regras começam a atrapalhar, deve-se questionar se os benefícios compensam os problemas causados. Eu particularmente detesto essas regrinhas do tipo "máximo de linhas", "nunca use tal coisa", "quantidade máxima de parâmetros", etc. Tem que sempre avaliar caso a caso e não seguir cegamente só porque algum guru/influencer/livro famoso falou.