Je voudrais savoir quelles options sont disponibles pour documenter un projet qui a déjà été développé, car les développeurs qui ont travaillé n'ont pas écrit une seule page de documentation.
Le projet n'a pas d'autres détails que de nombreuses pages de scripts avec des fonctions écrites et modifiées par les développeurs qui ont travaillé sur ce projet au cours des 2 dernières années. Tout ce que j'ai, c'est le schéma de la base de données et les fichiers de projet. Je voudrais savoir s'il existe un moyen d'organiser ce projet et de le documenter afin qu'il puisse être utile pour les développeurs qui travailleront sur ce projet à l'avenir.
Le projet a été développé avec PHP et MySQL. Les fonctions sont mal commentées, donc je ne peux pas obtenir de bons résultats lorsque je l'exécute avec doxygen.
la source
The functions are poorly commented so I can't get good results when I run it with doxygen
. Essayez de l'exécuter avec un débogueur. Cela expliquera mieux ce que cela fait que d'avoir une copie des commentaires avec le code source supprimé.Réponses:
Qui lira la documentation? À quoi servira la documentation? Ce sont les questions les plus importantes auxquelles répondre. Par exemple, la documentation destinée aux développeurs de maintenance se concentrerait davantage sur la structure, tandis que la documentation destinée aux développeurs intégrant le produit se concentrerait davantage sur les services Web et la structure de la base de données.
En général, faites autant de documentation que nécessaire et pas plus. De nombreuses organisations ont besoin de documentation parce que quelqu'un a insisté sur le fait que c'était la meilleure pratique, mais la documentation finit par s'accumuler.
En supposant que les gens utiliseront réellement la documentation, n'essayez pas de capturer le code et la base de données au plus petit niveau. Les développeurs examineront le code pour les minuties. Au lieu de cela, concentrez-vous sur des détails qui ne sont pas apparents dans le code , par exemple:
Même si toutes ces informations ne sont pas disponibles, commencez dès maintenant . Les développeurs qui viendront après vous vous remercieront.
De bons tests unitaires automatisés ou des cas de test peuvent également être une documentation utile, bien que difficile d'accès pour les personnes moins techniques.
Il semble également que vous deviez apporter un changement culturel pour inclure la documentation . Commencez petit, mais, idéalement, le projet ne doit pas être «terminé» tant qu'il n'a pas au moins un niveau minimal de documentation. C'est probablement l'étape la plus difficile, car ce qui précède sont des choses que vous pouvez contrôler. C'est quelque chose que les autres doivent acheter. Cependant, cela peut également être le plus gratifiant, en particulier si le prochain projet que vous réalisez est accompagné d'une bonne documentation.
la source
Dans le passé, j'ai géré une situation comme celle-ci en m'asseyant avec les différents propriétaires de produits ou utilisateurs avancés, en examinant leurs principaux cas d'utilisation et en les documentant avec un ensemble de tests. Vous pouvez les utiliser comme référence pour le système lorsque vous commencez à apporter des modifications à l'avenir. Cela peut également aider à identifier les zones du système qui n'ont pas de propriétaire ou de cas d'utilisation et qui sont potentiellement supprimées.
Tout dépend vraiment de la taille du système. S'il s'agit d'un système complexe avec de nombreuses parties prenantes différentes, vous pouvez créer un diagramme de composants de haut niveau détaillant les capacités existantes et où elles sont satisfaites. Cela peut être très utile pour identifier les problèmes architecturaux dans la conception du système.
En général, je suggère d'éviter la documentation à l'ancienne, car elle deviendra obsolète et il manquera des développeurs principaux à l'avenir. J'essaie toujours de produire une documentation vivante sous forme de tests qui seront maintenus à mesure que le système évolue.
la source
Tout d'abord, quel est votre public cible? Futurs développeurs ou autres gens d'affaires? Avec la réponse à cette question à l'esprit:
Comme d'autres l'ont dit, une description de haut niveau est la première chose dont vous avez besoin. Expliquez ce que le système essaie de faire dans le cadre plus large des choses. Expliquez sur quoi il fonctionne, comment il s'intègre dans le réseau et parle à tout autre système. Ensuite, je parcourais chaque écran, le capturais et donnais une explication rapide de ce que fait l'écran et de la façon dont il interagit avec les autres parties du système. Si c'est pour les développeurs, restez conversationnel comme si vous leur expliquiez l'application pour la première fois. Après tout, c'est le but du doc (je suppose).
Tout traitement ou logique compliqué j'utiliserais un diagramme d'état, un diagramme de flux de données ou un diagramme de séquence. Certainement faire un diagramme d'entité, puis une conception de schéma de base de données (deux choses différentes!). Peut-être un diagramme de classe de base mais restez simple, notez seulement les choses principales qui vous intéressent, les développeurs peuvent comprendre ces choses en regardant le code.
Si vous rencontrez des problèmes pour démarrer, faites comme s'il y avait un autre développeur dans la pièce juste à côté de vous, qui ne connaît pas la première chose sur le système, je suis relativement impatient et j'ai juste besoin de savoir l'essentiel. Ensuite, commencez à expliquer et notez ce que vous dites :)
la source
Les suggestions précédentes sont toutes bonnes, mais j'envisagerais également de rechercher si votre communauté d'utilisateurs a créé elle-même une documentation ad hoc. Votre question ne précise pas si une version de votre «produit» (existant depuis deux ans) a déjà été mise à la disposition des utilisateurs. S'il a été utilisé et qu'il n'y a pas de documentation officielle, alors aucune documentation n'a été nécessaire, ou il existe un document «non officiel» qui peut être rudimentaire, mais aussi probablement perçu comme essentiel par les utilisateurs. Essayez de rechercher sur le Web des artefacts susceptibles de représenter des API critiques, des forums de recherche, demandez aux utilisateurs expérimentés et recherchez des sites de questions et réponses. Si possible, essayez d'écrire une documentation qui répond à un besoin technique ou commercial.
la source
La question est, voulez-vous le documenter tel qu'il est maintenant ou tel qu'il devrait être?
Ce que j'ai lu de votre question, c'est que vous pensez à la documentation de l'API et pas tellement à la documentation utilisateur et que le code n'est peut-être pas si bien entretenu et cryptique.
Je crains que si vous documentez maintenant, vous finirez par jeter la plupart de votre travail une fois le code refactorisé.
Je prendrais l'approche suivante:
Maintenant, vous avez encore des choses non documentées: ce peuvent être les concepts généraux, l'architecture, etc. Pour cela, j'écrirais en fait de la documentation - mais j'écrirais seulement ce qui est vraiment utile et utile.
la source