Pergunta

Enquanto protótipos, até que ponto você joga melhores práticas para fora da porta em favor do código-and-fix hackers? Admitindo-se que o código não se destina a ser mantido em plena produção.

Adicionar: Eu estou trabalhando em um bastante grande protótipo semi-trabalho feito em Python, para descobrir a interface do usuário para um aplicativo incorporado. Eu sei que o código não se destina a ser usado na produção, mas ainda me incomoda que a qualidade da base de código declina de forma constante com o número de alterações feitas.

Foi útil?

Solução

Ele depende do que o seu protótipo está tentando provar. Você está protótipos da interface do usuário para a usabilidade e para demonstrar aos clientes ou você está prototipagem uma arquitetura?

Se eu estou protótipo de um UI então eu vou jogar fora tudo o que uma vez que o conceito tem sido através de iterações e comprovada.

Se eu estou prototipagem uma arquitetura em seguida, o código final estará de acordo com as melhores práticas e ser utilizável.

Dito isto, é incrível a quantidade de protótipos hack trabalho que acabam em plena produção devido ao tempo ou orçamento restrições. Se sua intenção é para o código para não acabar na produção (ou seja, uma UI protótipo), então ele pode ser útil para mock up screenshots em vez de código-los.

Outras dicas

Infelizmente, eu tive muitos protótipos transformar em produto de linha de base devido às limitações de tempo. Assim, idealmente, você vai seguir as melhores práticas. Realisticamente, você faz o que é preciso para fazer o trabalho, a fim de atender qualquer prazo você está atirando para. Não espere a oportunidade de reescrever completamente. O que você venha com será frequentemente a linha de base, especialmente se ele levou mais do que alguns dias para se desenvolver. O melhor conselho é para aprender a usar as melhores práticas em velocidades nível hacker.

Eu jogar fora métodos 'clean' e comentar (ou seja, classes de utilitários que 'fazer as coisas acontecerem'), mas não "objetos de negócios" se você quiser.

Assim, por exemplo, se eu tiver a escolha entre a definição de uma classe "Carro" para definir as propriedades de valor seqüência de "WheelCount", "DoorCount", ou apenas fazer uma rápida Hashtable, eu geralmente ir em frente e gastar um pouco tempo extra criando a classe Car.

A razão para isso é porque quando eu voltar para re-code-lo mais tarde, faz mais sentido olhar para os nomes de classe real (e às vezes essas classes pequenas são transferíveis para a versão 'real').

O maior perigo em prototipagem, em geral, é o pensamento "Eu vou corrigi-lo mais tarde" e, em seguida, não fazê-lo ... por isso, se em algum momento você pensar em sua mente "Eu tenho uma boa idéia bastante sobre como eu preciso fazer esta classe", vá em frente e passar alguns minutos extras em que classe e fazê-lo bem para que você possa reutilizá-lo.

Eu quase sempre protótipos tratar (referidas como "picos" Por aqui) como descartável código. O ponto de um protótipo é ganhar a compreensão de um problema , não resolvê-lo. Essa compreensão é muito mais importante do que quaisquer artefatos de código e implementar a solução correta deve ser trivial (se não for, eu diria o alcance do pico é muito grande).

Você pode refatorar o protótipo em um estado apto, mas na minha experiência é mais rápido para reescrever a partir do zero, dado que tem de se integrar com um sistema mais amplo.

Para um protótipo, apenas a parte externa é realmente importante. Se você for corajoso o suficiente para jogar fora o código a seguir, você pode usar qualquer truque sujo no livro, desde que ele parece ótimo.

Lembre-se, um protótipo é apenas uma ferramenta para obter uma resposta do cliente. (Sim, eu como este, ou, por que você colocar essa opção lá?).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top