[arquitetura] O quão genérico?

Olá bom dia para todos nessa deliciosamente CINZA E CHUVOSA MALDITA SEGUNDA-FEIRA.

Enfim … :mrgreen:

Minhas dúvidas são muito simples:

O quão genéricas devem ser as classes num projeto? Até que ponto o ideal é manter a camada controller genérica, tratando as peculiaridades na view?

Ou estou pensando tudo ao contrário? O ideal é fazer classes bem específicas, com nomes e funções bem específicas (apesar de uma grupo delas poder ter funcionalidades idênticas)?

Até onde deve ir o esforço para manter as coisas funcionando para qualquer situação? Ou um amontoado grande de classes resolve a coisa?

Qual das formas é melhor para trabalhar a curto prazo? E a longo?

Muitérrimo obrigado :smiley:

Filosofia XP:
“pense simples”.
Resolva o seu problema de hoje. Amanhã resolva o problema de amanhã.
Tente fazer classes refatoráveis, mas não genéricas.
Se conseguir isto, terá as melhores classes a curto,
e refatorando… terá as melhores classes a médio e longo prazo.

E manda para o espaço aquelas horas idiotas de análise

Lembresse de escrever muitos unit tests. Assim teu código é refatoravel.

Exato. É melhor ter primeiro um código que funciona pra um caso, depois pra dois casos, depois pra todos os casos. Use a “regra dos três”.

Se vc vê código parecido em dois lugares, é indício de que existe uma abstração aí. Se vc vê em 3, é pattern: pode refatorar.

Eu sempre falo essas coisas e nunca é visível o caminho entre essas práticas todas e um código de qualidade. Mas ele existe, e está aí não pra ser visto, mas pra ser trilhado.

Hehehe, falei bonito!! : )
[]s

hehe saquei.

Eu estou tentando fazer o contrário. Realmente do jeito que disseram faz mais sentido.

Valeu! \o/

Você pode pensar: porra, terei que criar várias classes pequenas que fazem quase a mesma coisa!!! Quase a mesma coisa, pois se fizerem igual é melhor colocar em uma só.
Já me deparei com esse conceito, fiquei com preguiça mas criei várias classes. Só quando precisei dar manutenção que saquei que ficou mais fácil trabalhar só na classe específica.

No início meu Controller era gigantesco e depois dividi em vários sub-controles, o principal repassa o contexto para um sub-controle que resolve o problema que cabe a ele.

Isso ajuda também, mas não somente, quando vc pega o código de outra pessoa e quer entender, ou quando vc fica algumas semanas sem ver seu próprio código. É mais fácil entender uma classe que tem uma tarefa específica do que uma que tem todas as tarefas de um certo tipo.

Não só sobre isso fala este tópico do C2.

[]s!!

Te odeio duke … eu só parei de clicar nos links agora … e cada página que se abria havia mais e mais links interessantes … eu não consigo parar.

:smiley:

Putz, se vc gostou assim da C2, entao eu juro que eu NAO vou colocar aqui um link pra www.everything2.com :wink:

PS: oops…

nossa que animal esse site!

se consumindo em frente ao computador

babando

mais …

Eu também detesto esse site.

Detesto mais que café!
Detesto mais que cerveja!
Detesto mais que cigarro!!

Detesto!!

Hehehehehehehe…