Quantidade de linhas em uma classe

Boa noite! Sou iniciante em Java e meu professor fez um comentário que me deixou intrigado.

Segundo ele, se eu estiver trabalhando em uma classe e ela tiver mais de cem linhas, há algo de errado nela, pois em raríssimos casos uma classe tem cem linhas ou mais.

O que vocês acham?

Acho que seu professor não tem experiência profissional.

Uma classe com 100 linhas não é grande, mas se passar de 500, ou 1000, provavelmente a classe está fazendo mais do que deveria.

Você também tem que evitar é criar métodos e construtores com muitos parâmetros e com muitas linhas. Eu considero de 20 a 30 linhas algo aceitável em um método.

Eu particularmente não gosto de classes com muitos métodos públicos, geralmente fica melhor fazer classes menores, talvez seja isso que seu professor queira dizer.

1 curtida

Em Java 100 linhas é expressivamente pouco.

Pois é. Quanto a experiência dele eu não sei, nem perguntei, mas achei estranho.

Obrigado pelas respostas e pelas dicas!

Pesquise sobre clean code, tem um livro muito bom sobre o assunto.
Lá o autor chega a exagerar em certas coisas (ao meu ver), dizendo que um método não deve ter mais de 2 parâmetros e mais de 5 linhas internas e coisas do tipo. Mas, é um livro excelente.

Seu professor está por parte errado, 100 linhas em uma classe pode ser até considerado pouco, eu mesmo tenho Interfaces que levam a 500/600… Porém eu acho que sim, uma classe para algo besta, como um “Enum” não deveria passar de 110 linhas… Mas tente diminuir o código, usando o CTRL + SHIFT + F por exemplo, que organiza tirando espaços desnecessários.

Só vi isso em soluções muito antigas, sem qualquer padrão ou cuidado com boas práticas.

1 curtida

Livro excelente, escrito pelo Robert Martin (Uncle Bob), tem versão em português também, se chama Código Limpo.
Tem outro livro bacana que é o Clean Coder, em português é O Codificador Limpo.

O primeiro livro aborda boas práticas de desenvolvimento.
O segundo aborda aspectos mais processuais e gerenciais dentro das empresas, praticamente um código de ética para bons profissionais.

1 curtida