Criamos uma biblioteca comercial e exemplos de código que estão sendo usados por desenvolvedores externos. Temos (fechado, disponível para usuários registrados) documentação que explica extensivamente como usar a biblioteca.
Muitos dos desenvolvedores são usuários iniciantes, então muitos erros rudimentares são encontrados.
É apropriado incluir links para a documentação no log de erros? Quais são as possíveis desvantagens? Eu posso prever alguns, mas parece possível superar o seguinte
- URL da documentação desatualizado
- Erros específicos da versão que não são refletidos na documentação mais recente
- Outra coisa está errada, e estamos perdendo o tempo do desenvolvedor enviando-o para um documento irrelevante
Abaixo um exemplo do que quero dizer, é uma boa ideia adicionar o texto em negrito?
[ERRO] Falha ao executar a meta org.apache.maven.plugins: maven-archetype-plugin: 1.2.3: generate (default-cli) no projeto standalone-pom: O arquétipo desejado não existe (com.example.library. archetypes: library-archetype-blank: 1.2.3.0) -> Consulte http://example.com/docs/setting-up-an-archetype para obter mais informações e possíveis soluções de problemas
Respostas:
De acordo com essas diretrizes de mensagens de erro e com a minha experiência, as pessoas gostam de economizar tempo não lendo a documentação ou a ajuda. A pesquisa de um erro também pode estar além deles, por isso inclua um link quando tiverem um motivo para clicar nele.
fonte
Sim, definitivamente, MAS:
Se você desenvolver com Java ou .NET, o documento poderá ser incluído em um arquivo jar ou DLL e, alterando o prefixo, seu código poderá buscá-lo localmente.
Se você escolher a abordagem wiki, recomendo o DokuWiki por sua simplicidade e pelo fato de ser baseado em arquivos de texto simples, o que tornaria muito fácil a injeção automatizada do sistema de compilação. Dito isto, eu não sei o suficiente sobre seu ambiente ou clientes para realmente saber se isso seria um bom ajuste para o YMMV.
Algumas das ferramentas mais bem-sucedidas que eu criei adotaram uma abordagem semelhante, na qual a mensagem de erro foi direcionada ao usuário real que provavelmente executaria a tarefa. Isso significava que eu tinha que fazer muitas exceções de captura e empacotamento para garantir que o erro estivesse no nível apropriado de abstração. Também assegurei-me de que cada mensagem de erro incluísse as fontes mais prováveis de erros e aponte para possíveis soluções "Você esqueceu de definir o valor da configuração xxxx?", "Verifique se xxx e yyy não conflitam, fornecendo nomes diferentes" etc. Onde XXX e outros enfeites seriam gerados a partir do contexto em que o erro ocorreu.
Essa abordagem foi um pouco mais simples, mas também mais limitada. No entanto, havia a vantagem de que a documentação sempre estaria presente quando necessário, sem a possibilidade de roteamento de link.
Sua abordagem é a próxima evolução. Muito mais complexo, mas também com retornos muito mais potenciais. Porém, será caro, mas, se bem feito, será recompensado com facilidade.
fonte
Você deve preferir apontar para a documentação offline fornecida com a biblioteca, em vez de online.
(obviamente, se for uma biblioteca do Windows, o caminho seria diferente).
Os benefícios aqui são:
Dessa forma, a documentação está sempre sincronizada com a biblioteca. As pessoas desenvolvem e solucionam problemas de versões antigas da biblioteca. E sua empresa pode mudar seu nome, mudar o nome do produto ou alguém pode desistir da renovação
example.com
.A web muda rapidamente. O link que você fornece é
http
, mas em alguns anos seus prováveis principais navegadores apenas serão compatíveishttps
. Ou todos nós podemos voltar aogopher
protocolo.A solução de problemas de aplicativos nem sempre ocorre em um ambiente com acesso à Internet (ou pelo menos acesso direto ao seu domínio).
Você mencionou que sua documentação está atrás de um muro de "autenticação". Ter que criar uma conta em um site apenas para entender uma mensagem de erro não é agradável (é por isso que o SO não exige que as pessoas façam login).
fonte
Existe uma maneira realmente bem-sucedida de abordar esse problema. Verifique se a exceção combinada com a mensagem é única o suficiente para que colá-las em uma pesquisa na web encontre facilmente todas as postagens relevantes sobre exatamente esse problema.
Esta é a razão secreta pela qual odeio tanto as exceções de ponteiros nulos. É claro que odeio que tenhamos que procurar nulo, mas o que mais me incomoda é que, quando encontro um, o único identificador verdadeiramente único que tenho que pesquisar é um número de linha volátil.
Sim, eu gostaria de poder procurar por eles. Ah, claro, eu sei que aconteceu porque algo foi deixado nulo e depois usado. O que nem sempre é óbvio imediatamente é por que algo foi deixado nulo.
Portanto, considere todas essas outras soluções de documentação. Mas a coisa mais preguiçosa que você pode fazer e que me fará mais bem é me dar algo que eu possa pesquisar no Google.
Pretty Please?
fonte