Design de Software: Construa rápido ou construa bem?

38

Ao criar um aplicativo não-trivial, é melhor se concentrar em fazer as coisas funcionarem rapidamente e tomar atalhos no código, como misturar a lógica do modelo com suas visualizações, quebrar o encapsulamento - cheiros típicos de código? Ou é melhor você tomar o tempo para construir mais arquitetura, construí-la corretamente, mas correndo o risco de que todo esse código extra não seja usado já que seu design é bastante fluido e você pode ter que jogá-lo fora se o feedback causar ir em uma direção diferente?

Para o contexto, estou construindo um aplicativo de desktop. Eu sou o único desenvolvedor, e estou fazendo isso a tempo parcial desde que eu tenho um dia de trabalho. Agora, para o trabalho, tento fazer as coisas da maneira certa, agendando a permissão. Mas para este projeto, que espero que mude à medida que recebo feedback das pessoas, não tenho certeza se essa é a abordagem correta. Passei várias horas esta semana colocando um projeto de Model View Controller do livro-texto para comunicar as mudanças no modelo para a view. Isso é ótimo em geral, mas não tenho certeza se preciso de várias exibições para exibir os dados e sei que poderia ter exibido as coisas mais rapidamente sem a arquitetura adicional. Com talvez 10 a 15 horas por semana para gastar no projeto, acho que levará tempo para criar algo que eu possa demonstrar se seguir boas práticas de software. Eu sei que meus usuários não se importam que eu usei MVC internamente, eles só querem algo que resolva seu problema. Mas eu também estive na situação em que você incorreu em tanta dívida técnica com atalhos que o código é incrivelmente difícil de manter e adicionar novos recursos. Eu adoraria ouvir como outras pessoas abordam esse tipo de problema.

    
por Pedro Estrada 22.01.2011 / 17:51
fonte

0 respostas