[Dúvida] Tamanho da classe

5 respostas
Schoker

Galera…se uma classe for bem grande pode deixar o programa mais lento? e se deixar a partir de quantas linhas mais ou menos q o programa fika lento?

e se a resposta de cima for sim gostaria de saber outra coisa rsrs…

É melhor eu ter uma classe com 2000 linhas(por exemplo) ou eu ter 4 classes com 500 linhas cada?

Desde já agradeço!

5 Respostas

Alexandre_Saudate

Schoker:
Galera…se uma classe for bem grande pode deixar o programa mais lento? e se deixar a partir de quantas linhas mais ou menos q o programa fika lento?

e se a resposta de cima for sim gostaria de saber outra coisa rsrs…

É melhor eu ter uma classe com 2000 linhas(por exemplo) ou eu ter 4 classes com 500 linhas cada?

Desde já agradeço!

Não existe uma resposta simples assim pra essa pergunta… o que você deve responder é se a classe é usada muitas vezes. Óbvio que, quanto mais instâncias no sistema, mais pesado ele vai ficar. Mas uma classe Singleton, por exemplo (lembrando que singleton é um anti-pattern), teoricamente, não deve sobrecarregar muito um sistema.

Dito isso, lembre-se de dois princípios BÁSICOS de programação orientada a objetos : baixo acoplamento e alta coesão. Uma classe com tantas linhas me dá 99% de certeza de que esses princípios não foram seguidos (não só pela performance do sistema, como pela manutenção deste também). Assim, é melhor, sim, ter 4 classes com 500 linhas cada (sempre, sempre, sempre tendo em mente os dois princípios que citei). Tente separar o máximo possível as responsabilidades em cada classe, e deixá-las mais independentes uma da outra. Isso vai fazer menos instâncias serem utilizadas , e facilitar o serviço do Garbage Collector, também.

Ah, nota rápida: uma classe com um número muito grande de linhas corre o risco de não ser compilada.

[]´s

E

Cara…nunca ouvi falar de diminuir desempenho por causa do tamanho da classe…

O que pode acontecer é a sua IDE ficar lenta…quando abre uma classe muito grande, isso porque a IDE faz a verificação em todo arquivo procurando por erros por exemplo.

Agora…é sempre bom não ter classes muito grande, não por causa de desempenho, e sim por causa de organização. Eu não conheço o seu código, para falar que ta errado a classe de 2000 linhas, mas normalmente isso é problema de Projeto, você não penso bem em como implementar a aplicação, e você pode ter feito uma implementação não orientado a objeto em uma linguagem orientada a objeto.

eliangela

Para a máquina virtual, é indiferente vc fazer uma classe com 4 subclasses; ou fazer 5 classes; porque o Java transforma cada classe e subclasse em arquivos individuais (dá uma olhada na pasta build/classes do seu codigo compilado).

Mas, como o ezambomsantana disse, o problema nisso está na criação de classes altamente aclopadas, sem falar na performance da IDE que cai muito.

Utilize bem os padrões de projetos, pois a maioria deles falam sobre classes menores e com menos métodos.
Tudo isso facilita as manutenções.

Até mais

Alexandre_Saudate

ezambomsantana:
Cara…nunca ouvi falar de diminuir desempenho por causa do tamanho da classe…

Classes muito grandes sobrecarregam, sim, o sistema. Não pelo tamanho em si, mas pela chance de essa classe nunca ser tirada da memória pelo GC e, assim, conforme mais e mais classes forem usando instâncias, mais sobrecarregado ele fica (e, sim, uma classe maior ocupa mais espaço que uma menor).

Conforme disse, aliás, uma classe muito grande corre o risco de não ser compilada. Por exemplo, uma classe com 50000 linhas tem grandes chances de que isso aconteça (o compilador fica sobrecarregado e “desiste” de compilar).

[]´s

Schoker

vlw pelas respostas! Ajudaram muito!

Criado 24 de fevereiro de 2010
Ultima resposta 24 de fev. de 2010
Respostas 5
Participantes 4