Tamanho da Classe

7 respostas
Basic

Tenho a seguinte dúvida, sei que lendo algum livro posso obter o ponto de vista do autor, mas gostaria do ponto de vista da comunidade.

Existe o tamanho ideal para uma Classe?
E se um programa contiver uma Classe enorme sai fora do padrão?

Se alguem puder discorrer sobre esse assunto, ficaria muito agradecido.

Obrigado!

7 Respostas

_fs

Não há regra absoluta para isso. Contudo uma classe com muitas linhas indica que talvez ela esteja fazendo coisas de mais. Portanto é boa prática analisar com mais carinho classes muito grandes.

luis.soares

Uma classe deve ser coesa, ou seja, saber cuidar das suas responsabilidades.
Se uma classe está muito grande, provavelmente está exercendo papéis que deveria delegar a outras classes.
Exemplo simples:

Imagine uma classe pedido, que tenha método para conectar no banco de dados, calcular os totais do pedido, os impostos, imprimir … (nossa, quanta besteira !! arrrggg…). Bom, está tudo errado !
Porque na verdade a classe está com funcionalidades que não são delas.
O correto seria ter classes de conexão ao banco (DAO), classes de regras de negócio, utilidades (impressão), ou seja, cada uma com responsabilidades definidas.
Se o sistema for corretamente modelado, usando padrões de projeto e orientação a objetos de forma correta, você não vai ter problemas com classes “grandes demais”, tenha certeza.

Abraço !

Bravox

Não !! dés que vc não fuja da orientação a objetos ou seja se perceber que a sua classe tá fazendo coisa que podia estár em outras classes dessa forma ficando mais parecido com um programa estruturado do que orientado a objetos pode se dizer que existem alguma coisa de errado ai .Não que o seu programa não vai funcionar mais sim que vc não está usando o verdadeiro
poder da orientação a objetos

bravox

T

Fugindo um pouco da parte de design:

Se uma classe for excessivamente grande (passar de 64 KB de código compilado) ela terá problemas ao ser carregada. Mas é difícil criar uma classe dessas, exceto se ela tiver sido gerada dinamicamente (por exemplo, o JSP Compiler costuma criar classes muito grandes se a página JSP original for muito grande).

Mantu

thingol:
Fugindo um pouco da parte de design:

Se uma classe for excessivamente grande (passar de 64 KB de código compilado) ela terá problemas ao ser carregada.


De que natureza?

T

Por exemplo, se um método for muito grande (ele tiver mais de 64 KB de código compilado), e se ele tiver um loop que tem de dar um “salto” muito grande - aqui estou falando de bytecodes - , o compilador normalmente não sabe tratar isso, e acaba gerando código errado ou se recusando a gerar código.)

Mantu

Pois é… Esbarrei com um problema parecido, mais relacionado à debugação…
http://www.guj.com.br/posts/list/45659.java

Criado 13 de novembro de 2006
Ultima resposta 13 de nov. de 2006
Respostas 7
Participantes 6