44 pontos por xguru 2024-06-25 | 9 comentários | Compartilhar no WhatsApp
  • Desenvolvimento orientado por README: uma abordagem em que o README é escrito primeiro no desenvolvimento de software
  • É comum ouvir falar de várias metodologias e técnicas de desenvolvimento, como TDD, BDD, Extreme Programming e SCRUM
    • Mas, se o software que desenvolvemos não atender às necessidades do usuário, tudo isso perde o sentido
    • Mesmo uma implementação perfeita não tem valor se seguir uma especificação errada, e uma biblioteca bonita sem documentação também quase não tem valor
    • Se o software resolver o problema errado ou não for possível saber como usá-lo, isso gera um problema sério

Solução: escrever o README primeiro

  • Por que o README deve ser escrito primeiro
    • Antes de escrever código, testes ou histórias, escreva primeiro o README
    • Escrever o README é uma etapa essencial para criar um bom software
    • Até que você escreva sobre o software em palavras, não fica claro o que deve ser codificado
    • O README ajuda a pensar no projeto de forma estruturada
  • Benefícios de escrever o README primeiro:
    • Oportunidade de pensar no projeto de forma estruturada:
      • É possível pensar no projeto de forma estruturada sem precisar alterar o código
      • Antes de programar, você pode refletir sobre a estrutura do projeto e as APIs que ele incluirá
    • Garantia de boa documentação:
      • É possível escrever a documentação no início do projeto, quando a motivação e o interesse ainda estão altos
      • Escrever o README depois tende a ser entediante e pode fazer com que detalhes importantes sejam esquecidos
    • Aumento da eficiência no trabalho em equipe:
      • Outros desenvolvedores da equipe podem compartilhar informações sobre a interface antes da conclusão do projeto e começar outras tarefas com confiança
      • Trabalhar sem uma interface clara pode exigir uma grande reescrita de código
    • Fornece uma base concreta para discussão:
      • O simples ato de escrever em texto a solução proposta permite que todos discutam com uma ideia clara em mente
  • Características do desenvolvimento orientado por README (RDD):
    • O RDD pode ser visto como um subconjunto ou uma versão mais limitada de Documentation Driven Development (DDD)
    • O RDD evita o problema de especificações excessivas ao limitar o documento de design a um único arquivo
    • Incentiva a manutenção de bibliotecas pequenas e modularizadas

Conclusão

  • Pense no processo de escrever o README como um verdadeiro "ato de criação"
  • Todas as suas ideias brilhantes devem ser expressas nesse documento, e o próprio documento deve servir como prova de criatividade e capacidade de expressão
  • O README deve ser o documento mais importante da base de código, e escrevê-lo primeiro é a abordagem correta

9 comentários

 
princox 2024-06-26

Seja software, romance ou filme, ao criar qualquer tipo de obra, acho que, se fizermos com planejamento e concepção no papel antes, fica mais fácil cuidar de detalhes mais minuciosos.. :)

 
markman 2024-06-26

Eu vinha esquecendo o mais básico por todo esse tempo, mas agora preciso começar a colocar isso em prática.

 
halfenif 2024-06-25

Nós decidimos chamar isso de "projeto básico".

 
gargoyle92 2024-06-25

Sem querer, isso é bem parecido com a forma como eu trabalho e com o contexto em que atuo.
Parece que essa parte acaba sendo produzida no formato de um README.

Quando trabalho, costumo definir claramente o What, Why e How e ir avançando enquanto vou dando forma ao que precisa ser feito, então é algo bem parecido.

 
kandk 2024-06-25

Desenvolvimento orientado por README

 
dbs0829 2024-06-25

Somos uma organização de pesquisa, então eu tinha muitas dúvidas sobre lançar o que foi pesquisado em forma de código, mas estou pensando que o desenvolvimento orientado por README pode combinar bem com a gente. Parece um método que vale a pena considerar desde a fase inicial da pesquisa.

 
jamsya 2024-06-25

De forma parecida, quando trabalho no backend, costumo começar escrevendo uma documentação mais rascunhada da API olhando para a tela,
e isso ajudou bastante a reduzir tentativas e erros.

 
bbulbum 2024-06-25

De certa forma, isso me passa a sensação da importância de definir com precisão, antes de tudo, o problema que precisa ser resolvido.

 
xguru 2024-06-25

É um texto de 2010, mas encontrei enquanto lia outra coisa e resolvi compartilhar aqui.