J'ai un problème que je me sens beaucoup de programmeurs peuvent se rapporter à ...Projet Documentation
Je travaille sur de nombreux projets à petite échelle. Après mon tempête de papier initiale, j'ai tendance à commencer à coder. Ce que je propose est généralement un modèle de travail approximatif de l'application réelle. Je conçois de manière déconnectée donc je parle de bibliothèques de code sous-jacentes, les interfaces utilisateur sont la dernière chose que la bibliothèque dicte habituellement ce qui est nécessaire dans l'interface utilisateur. Au fur et à mesure que mes projets prennent de l'ampleur, je m'inquiète aussi de mon «cahier des charges» ou document de conception.
Le paragraphe ci-dessus, de mes enquêtes, est répercuté partout sur l'Internet d'une manière ou d'une autre. Quand une interface utilisateur est concernée, il y a un peu plus d'informations mais il s'agit d'une interface spécifique et ne concerne pas les bibliothèques de code. Ce que je commence à réaliser est que peut-être le code est le code. Il semble de mes recherches approfondies qu'il n'y a pas de correspondance 1: 1 entre un document de conception et le code.
Quand j'ai besoin à la recherche d'un sujet que je largue des informations dans OneNote et à partir de là, je priorise des fonctionnalités dans les versions, puis en morceaux connexes afin que le développement fonctionne de façon assez linéaire, mes tâches ont tendance à ressembler à ceci:
- Mettre en oeuvre lecteur de fichier binaire
- Implémenter Binary File Writer
- Créer un objet pour encapsuler les données d'expression à l'appelant
N De toute façon, tout programmeur digne de ce nom est conscient que, entre ces trois choses à faire, il pourrait y avoir un mur de code potentiel qui pourrait s'étendre à plusieurs fichiers. J'ai essayé de cartographier le processus de code complet pour chaque tâche, mais je ne pense tout simplement pas que cela peut être fait efficacement. Au moment où l'on mange le pseudo-code, il s'agit essentiellement de code de toute façon, donc l'investissement en temps est annulé.
Alors ma question est la suivante:
Suis-je raison de supposer que la meilleure documentation est le code lui-même. Nous sommes tous d'accord pour qu'une vue d'ensemble de haut niveau soit nécessaire. Quelle devrait être cette hauteur? Concevez-vous le niveau de déclaration, de classe ou de concept? Qu'est-ce qui fonctionne pour vous?
"Ai-je raison de supposer que la meilleure documentation est le code lui-même." Oui, et moi, avec d'autres programmeurs, je pense que c'est un compromis malheureux. –