Important : nous n'avons aucun problème avec la documentation du code source . Cela appartient à l'audit de code régulier et est tenu à jour. Notre problème est avec la documentation des développeurs (ou, "externe" si vous le souhaitez), de petits conseils de programmeurs aux programmeurs qui ont tendance à être une fois écrits, souvent laissés pour compte.
Nous utilisons un système de type wiki pour produire de la documentation pour les programmeurs - des articles écrits par des programmeurs pour des programmeurs décrivant un peu plus en détail le fonctionnement d'un morceau de code particulier. Ces pages wiki incluent généralement:
- les motivations derrière les décisions de conception pour certaines parties de l'API (par exemple; nous avons fait cette chose moche parce que cette bibliothèque tierce particulière veut que les choses soient faites de cette façon, parce que cette autre bibliothèque ..., parce que ...)
- explication de la façon dont nous traitons certaines tâches courantes (par exemple; affichage d'une fenêtre contextuelle triviale, qui doit référencer les styles d'application appropriés, s'inscrire dans le composant de registre et implémenter une interface afin d'être automatiquement "analysé" par un autre composant)
- bonnes pratiques (aussi subjectives soient-elles, nous écrivons ces trucs)
- configuration de l'environnement, outils requis et son installation
En général, principalement des éléments liés à l'écriture de code qui ne correspondent pas à la documentation de code habituelle en raison de sa taille et de sa nature de blog / article.
Le problème
En ce qui concerne l'introduction de ce système qui semblait être une bonne idée il y a quelques mois, j'ai aujourd'hui l'impression qu'il cause plus de problèmes qu'il n'en résout. Par exemple:
- les gens font écrire des articles ... mais une fois changé le code, la mise à jour du wiki suit rarement
- beaucoup d' articles à gratter , écrits par quelqu'un pressé et partis comme ça
- même si la demande d'article provient généralement du chef de projet, son exactitude / composition est rarement vérifiée - ce qui entraîne parfois une mauvaise qualité
La dégradation habituelle. Le code a changé, le wiki reste le même. La prochaine fois que quelqu'un cherche des informations, ce qu'il trouve habituellement est un tas de choses obsolètes et de mauvaise qualité - et se demande ce qui se passe, si les choses qu'il a trouvées sont exactes ou (pire encore) quelles parties en sont. Et ce qui était censé aider, finit par faire le contraire.
Pour le moment, il semble que les gens soient conscients du problème, chef de projet inclus, mais apparemment, personne ne semble être dérangé de faire quoi que ce soit avec cela (ou a des choses plus intéressantes à faire).
Ma pensée initiale était de jeter tout cela dans l'oubli (après avoir été mordu par des "conseils" obsolètes plusieurs fois de suite), mais je suppose que cela pourrait être trop extrême. Certaines informations méritent d'être notées et bien lues parfois, mais le problème est toujours le même: comment gérez-vous leur "actualité" ? L'avez-vous lié au code source d'une manière ou d'une autre (donc lorsque la version mise à jour du fichier est archivée, l'auteur de l'article est informé qu'il pourrait avoir besoin de réviser le code / l'article)? Une personne désignée l'a-t-elle "surveillée" sur les bases quotidiennes? Faites des nettoyages réguliers?