Princípio da responsabilidade única:granularidade do motivo da mudança

StackOverflow https://stackoverflow.com/questions/27018

  •  09-06-2019
  •  | 
  •  

Pergunta

Ao aplicar o Princípio da Responsabilidade Única e observar o motivo da mudança de uma classe, como você determina se esse motivo da mudança é muito granular ou não granular o suficiente?

Foi útil?

Solução

Não sei se há uma boa resposta para isso além de "aplicar seu julgamento, com base em sua experiência". Não, não, obtenha ajuda, o que eu acho que é o que você está fazendo aqui;)

Sério, porém, se você descobrir que está criando um zilhão de classes para fazer o que parece ser um trabalho simples, provavelmente você está sendo muito granular.Se todas as suas aulas parecem colossais, provavelmente você está sendo muito grosseiro.Por favor, perdoe-me se isso é uma afirmação do óbvio.

Acho que este é um daqueles casos confusos e sem regras rígidas que nos mostram por que precisamos de programadores humanos.Apenas tente algo, buscando equilíbrio, e refatore se achar que está indo longe demais em uma direção ou outra.E lembre-se: se vale a pena fazer, vale a pena fazer mal.

Outras dicas

  1. Eu não ficaria muito preocupado com a granularidade inicialmente.Inicialmente, irei apenas com a separação de preocupações em um nível mais amplo.O ponto básico é que devemos evitar o excesso de engenharia aqui.Mas apenas o suficiente.Eu concordo com Lucas aqui, que este primeiro passo melhorará com a experiência.
  2. À medida que os requisitos mudam, à medida que começo a sentir os 'cheiros', à medida que minha compreensão do problema melhora, eu refatoraria o design, fatorando as preocupações separadas à medida que se tornassem óbvias.Basicamente, a separação de interesses também deve ser evolutiva, assim como o design geral.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top