2
respostas

Coesão significa ter muitas classes ?

Minha dúvida com a coesão é que como no exemplo apresentado foi necessário criar diversas outras classes a medida das porcentagens definidas. Criar muitas classes não seria uma coisa ruim pois assim você vai ter que entender como cada uma funciona ?

2 respostas

Oi Matheus, a ideia de um código coeso é que vc partes no sistema com responsabilidades muito bem definidas. Por isso que, muitas vezes, vc vai acabar criando várias classes pequenas com responsabilidades únicas :). Claro que em desenvolvimento de software tem muito do bom senso.. Por isso que é muito importante entender exatamente o negócio que vc está resolvendo, para que vc possa modelar suas classes de maneira apropriada.

Ter muitas classes não é o problema, desde que você dê nomes coerentes a a elas - entenda nome coerente como sendo nomes que por si só já explicam o motivo da classe existir.

A mesma regra vale para todas as nomenclaturas em seu código, incluindo métodos ou variáveis.

Se você chamar uma classe de Manager por exemplo, você precisará ler o código para saber tudo que ela faz, e possivelmente ela estará fazendo tantas coisas (mais de uma responsabilidade) que ela será uma classe poucos coesa. Mas se você criar uma classe chamada ConnectionManager, o próprio nome te orienta que ali é onde a gestão de CONEXÕES acontece, e saberá se é onde você tem que mexer ou não.

Então comece escolhendo bons nomes e separando cada classe com sua responsabilidade, assim não terá problema.