Importante : não temos nenhum problema com a documentação do código fonte . Isso pertence à auditoria regular de código e é mantido atualizado. Nosso problema é com a documentação dos desenvolvedores (ou "externos", se você preferir), pequenas dicas de programadores para programadores que tendem a ser escritas uma vez, geralmente deixadas para trás.
Usamos um sistema semelhante ao wiki para produzir documentação para programadores - artigos escritos por programadores para programadores descrevendo um pouco mais detalhadamente como funciona um determinado código. Essas páginas wiki geralmente incluem:
- motivações por trás das decisões de design para partes da API (por exemplo; fizemos essa coisa feia porque essa biblioteca de terceiros em particular quer que as coisas sejam feitas dessa maneira, porque essa outra biblioteca ..., porque ...)
- explicação de como lidamos com tarefas comuns específicas (por exemplo; exibição de pop-up trivial, que precisa fazer referência a estilos de aplicativos apropriados, registrar-se no componente do registro e implementar alguma interface para ser "varrida" automaticamente por outro componente)
- boas práticas (subjetivas, na verdade, escrevemos essas coisas)
- configuração do ambiente, ferramentas necessárias e sua configuração
Em geral, principalmente coisas relacionadas à escrita de código que não se encaixam na documentação regular do código devido ao tamanho e natureza do artigo / artigo do blog.
O problema
Quanto à introdução desse sistema, parecia uma boa idéia há alguns meses, hoje em dia sinto que está causando mais problemas do que resolve. Por exemplo:
- as pessoas fazem escrever artigos ... mas uma vez que o código mudou, atualização wiki raramente segue
- muitos artigos de rascunho , escritos por alguém com pressa e saídos assim
- mesmo que a solicitação de artigo geralmente venha do líder do projeto, quase nunca é verificada a correção / composição - o que às vezes resulta em baixa qualidade
A degradação usual. Código alterado, o wiki permanece o mesmo. Da próxima vez que alguém procurar informações, o que ele normalmente encontra é um monte de coisas desatualizadas e de baixa qualidade - e está se perguntando o que está acontecendo, se as coisas que ele encontrou são precisas ou (ainda pior) quais são as partes. E o que deveria ajudar acaba fazendo o oposto.
No momento, parece que as pessoas estão cientes do problema, incluindo o líder do projeto, mas aparentemente ninguém parece se incomodar em fazer algo com ele (ou tem coisas mais interessantes para fazer).
Meu pensamento inicial foi jogar tudo no esquecimento (depois que fui mordido por "dicas" desatualizadas algumas vezes seguidas), mas suponho que isso possa ser extremo demais. Algumas informações são dignas de nota e, às vezes, são de boa leitura, mas o problema ainda é o mesmo: como você lida com sua "atualização" ? Ele está vinculado ao código-fonte de alguma forma (portanto, quando a versão atualizada do arquivo é registrada, o autor do artigo é notificado de que pode precisar revisar o código / artigo)? A pessoa designada "vigia" o básico diariamente? Faz limpezas regulares?