Escrever a documentação completa do código primeiro é provavelmente um exagero e uma reminiscência da metodologia em cascata. No entanto, descobri que uma abordagem mais pragmática está escrevendo o README primeiro. Aqui está o porquê:
O README não documenta todos os detalhes do seu projeto. Em vez disso, normalmente contém as seguintes informações:
- Descrição : breve "discurso de vendas". Diga ao leitor por que eles devem continuar lendo.
- Exemplos rápidos : snippets de código curto ou capturas de tela para dar suporte à descrição.
- Início rápido : como começar, instruções de instalação e mais exemplos.
- Mais documentação : links para a documentação completa e mais informações.
- Organização do projeto : quem são os autores, como contribuir, como arquivar bugs.
- Avisos legais : licença, direitos autorais e outros detalhes legais.
Escrever o "discurso de vendas" antecipadamente me obriga a esclarecer por que esse projeto deveria existir e por que os desenvolvedores deveriam usá-lo. O simples ato de escrever frases completas para descrever o projeto geralmente o altera para melhor: você o entende melhor, desenvolve novas idéias e descobre possíveis problemas. Também é uma ótima ferramenta de priorização: qualquer coisa no "discurso de vendas" é essencial!
Os "exemplos rápidos" e o "guia de início rápido" me forçam a pensar nos principais casos de uso da perspectiva do usuário. Descobri que fazer isso antes de escrever qualquer código - antes de se atolar nos detalhes da implementação e nos prazos apertados - leva a APIs e designs muito mais limpos. Lembre-se: os programas devem ser escritos para as pessoas lerem e, incidentalmente, para as máquinas executarem ( SICP ).
Em "documentação adicional", crio um esboço das peças que precisarão de documentação detalhada, a ser feita posteriormente. "Organização do projeto" permite-me descobrir quem trabalhará no projeto e nas práticas de codificação. "Avisos legais" ... bem, também podem tirá-los do caminho.
Depois de ter este README básico em vigor, você terá um documento útil para discussão, revisões de design, divisão do trabalho e planejamento do projeto. Enquanto você trabalha no projeto, verifique frequentemente o README para garantir que você ainda esteja no caminho certo. Além disso, atualizar gradualmente o README e a "documentação adicional" à medida que avança significa que toda a sua documentação será concluída quando o código for concluído, o que é uma experiência muito mais agradável do que ter que se apressar em documentar tudo no último minuto.
Para mais informações, confira o seguinte:
- Desenvolvimento orientado por leia-me
- O código mais importante não é código
- Você é o que você documenta