Quais são algumas das coisas que você deve saber ao se preparar para entregar um projeto?


10

Atualmente, sou o único desenvolvedor / arquiteto de um aplicativo Web bastante grande (pilha ASP.NET MVC, aproximadamente 150K + linhas de código) e o final do desenvolvimento está próximo. Como tal, estou começando a pensar no que precisa ser feito para a entrega do projeto e quero ter certeza de que faço a coisa certa para quem precisar manter o projeto no futuro.

Quais são algumas das coisas que você deve saber ao se preparar para entregar um projeto a outro desenvolvedor ou equipe de desenvolvedores de manutenção?

Respostas:


12

IMHO, se você pudesse fazer apenas uma coisa antes de entregar seu projeto (direta ou indiretamente), eu recomendaria que você duplique e triplique se ele é compilado como está no controle de origem.

Não ri, mas não posso dizer quantas vezes obtive "mais recente" de um controle de origem e ele falhou na compilação, apenas para descobrir mais tarde que eu não estava "na caixa antiga de Fred" porque, aparentemente, o código "apenas" compila na caixa antiga de Fred ". Eu até tive um ex-empregador prontamente remover minha área de trabalho do meu cubo e substituí-la por "caixa antiga de Fred" para que eu pudesse trabalhar no projeto que eu deveria.

Como uma extensão da recomendação acima, porque às vezes obter as últimas informações não é tudo o que é necessário para compilar um aplicativo, eu recomendo que você crie um README.txt e o coloque no diretório raiz do seu aplicativo e coloque-o no controle de origem. Este documento README deve conter uma lista de dependências externas que não puderam ser verificadas no controle de origem (se houver), como configurar o banco de dados e quaisquer outras curiosidades sobre os ciclos de compilação, execução ou implantação do aplicativo.

Qualquer coisa acima e além das duas sugestões acima seria apenas um molho, mas IMHO as duas acima são quase necessárias em qualquer projeto maior que o "Hello World".

EDITAR:

Sobre o tópico da documentação ...

Ao longo dos anos, escrevi e li meu quinhão de documentação de software com o objetivo de facilitar a transição de um desenvolvedor. Eu diria que esses documentos raramente valem o papel em que são impressos. Os desenvolvedores (inclusive eu) raramente pensam nas partes importantes do aplicativo enquanto escrevem esses documentos, apenas tendemos a pensar nos incêndios mais recentes que enfrentamos. Acima do fato de que esses documentos tendem a não cobrir todos os aspectos importantes do software, eles também são desatualizados MUITO rapidamente. Quando o documento estiver desatualizado, é provável que um desenvolvedor futuro o desconsidere completamente em vez de trazê-lo de volta para corresponder à realidade (pense nos requisitos de mudança).

Em vez de documentação propriamente dita, recomendo testes de unidade. Eu sei que provavelmente parece antigo neste momento, mas deixe o código fazer a documentação para você. Testes de unidade quebrados são difíceis de ignorar (e mais fáceis de detectar) do que um documento do Word. Além disso, o idioma inglês é terrivelmente impreciso ao articular os pontos mais delicados do design de software. Existem simplesmente muitas maneiras de interpretar o significado das frases mais simples em inglês, e isso apenas gera confusão e / ou bugs.


11
+1 para o arquivo leia-me. Na verdade, eu tenho dois deles no projeto neste momento, um geral "é o que eu pensava quando escrevi esse conceito" e outro que apenas lista todas as dependências externas e plug-ins jQuery existentes. junto com as linhas de onde eu as peguei. Definitivamente, compilação é algo que terei que verificar novamente novamente.
rjzii

@ Rob, uma VM geralmente é uma boa idéia ao tentar determinar se seu código pode ser compilado em um ambiente limpo. Uma instalação limpa do Windows e do Visual Studio e execute a instalação apenas dos itens mencionados no seu readmearquivo. Se o código compilar e executar, você estará pronto.
Jason Whitehorn

Não se esqueça da documentação!
Moshe

@ Jason - Consegui fazer isso por algum tempo nas mesmas circunstâncias (duas máquinas de desenvolvimento, uma com o Parallels Desktop), mas algumas novas bibliotecas foram inseridas no projeto desde então.
rjzii

11
@ Moshe - A documentação é a parte que mais me preocupa. Escrevi o código da maneira que gostaria de encontrá-lo, mas não tenho certeza de quais documentos adicionais devo escrever para complementar o código e os documentos leia-me básicos.
rjzii

1

É exatamente por isso que os comentários não têm cheiro de código. É também por isso que devemos documentar nosso código.

Você deve se certificar de ter uma documentação sólida. Existem programas que podem gerar documentação a partir de comentários, dependendo do formato dos comentários e da linguagem de programação.

Considere quais informações você deseja sobre uma biblioteca ou base de código ao assumi-las. Peça a um amigo que é programador que dê uma olhada rápida e veja se eles encontram alguma dúvida óbvia.

Boa sorte!


1

Verifique se o código está compilando e compactando no formato final com apenas um comando / clique.

Não consigo aprovar a resposta Quais são algumas das coisas que você deve saber ao se preparar para entregar um projeto? suficiente, então eu tenho que escrever isso novamente.

Eu sou muito exigente quanto a essa compilação com um clique , porque já dediquei tanto tempo a descobrir como realmente compilar ou empacotar um projeto que só precisei corrigir um pequeno bug. Comecei a colocar pequenos scripts de lote / bash nos meus projetos para empacotar o ZIP final, JAR ou EAR.

Além disso, adiciono um README.txt ao diretório raiz que descreve o design geral , as partes complexas e o ambiente do projeto (em termos de comunicação com outros departamentos ou pessoas).

Eu tento manter esse README.txt pequeno , porque ninguém lê mais de 200 páginas de documentos de especificação, se tudo o que você deseja fazer é corrigir um bug, compilar e empacotá-lo. Os detalhes da implementação estão documentados em testes de unidade , portanto, não há necessidade de anotá-los novamente em um livro ...


0

Minha lista de verificação de entrega padrão:

  1. Confira cópia limpa do VCS
  2. Construção de teste, implantação de teste
  3. Renomeie o repo do maven para fazer o repo-backup
  4. Teste a construção novamente
  5. Instale uma nova cópia do servidor de aplicativos do zip
  6. Verificar notas de configuração do servidor
  7. Teste a implantação novamente
  8. Verifique se nenhum teste de unidade está desabilitado
  9. Digitalize os comentários em busca de palavras de quatro letras e exclua-as

Se algo estiver quebrado, eu o corrigirei antes da entrega. Nada faz com que alguém comece a correr, depois faz o check-out, a criação e a execução do projeto no dia em que você recebe o projeto.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.