[arquitetura] O quão genérico?

10 respostas
_fs

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:

10 Respostas

rodrigousp

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

louds

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

dukejeffrie

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

_fs

hehe saquei.

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

Valeu! \o/

E

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.

dukejeffrie

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!!

_fs

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:

cv1

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…

_fs

nossa que animal esse site!

se consumindo em frente ao computador

babando

mais …

dukejeffrie

Eu também detesto esse site.

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

Detesto!!

Hehehehehehehe…

Criado 9 de fevereiro de 2004
Ultima resposta 13 de fev. de 2004
Respostas 10
Participantes 6