Документування базових кодів
Я настійно рекомендую дотримуватися правила розвідки зі застарілими кодовими базами. Спроба документувати спадковий проект незалежно від роботи над ним просто ніколи не відбудеться.
Внутрішньо-кодова документація
Найголовніше - використовувати засоби документації у обраному вами середовищі розробки, так що це означає pydoc для python, javadoc в java або xml коментарі в C #. Це полегшує запис документації одночасно з написанням коду.
Якщо ви покладаєтесь на повернення та документування речей пізніше, ви можете не обійтись, але якщо ви це зробите так, як пишете код, то те, що потрібно задокументувати, буде свіжим у вашій свідомості. C # навіть має можливість видати попередження про компіляцію, якщо документація XML неповна або не відповідає дійсному коду.
Тести як документація
Ще одним важливим аспектом є хороша інтеграція та одиничні тести.
Часто документація зосереджується на тому, які класи та методи роблять поодиноко, пропускаючи те, як вони разом використовуються для вирішення вашої проблеми. Тести часто ставлять їх у контекст, показуючи, як вони взаємодіють між собою.
Так само одиничні тести часто прямо вказують на зовнішні залежності, через які потрібно виправляти речі .
Я також вважаю, що за допомогою тестової розробки я пишу програмне забезпечення, яке простіше у використанні, оскільки я використовую його прямо від слова go. Завдяки хорошій схемі тестування, полегшення тестування коду та полегшення його використання часто одне і те ж.
Документація вищого рівня
Нарешті, є що робити щодо системного рівня та архітектурної документації. Багато хто закликає писати таку документацію у вікі або використовувати Word чи інший текстовий процесор, але для мене найкращим місцем для такої документації є також поряд із кодом у простому текстовому форматі, який є зручним для системи управління версіями.
Як і в документації з кодом, якщо ви зберігаєте свою документацію вищого рівня у своєму сховищі коду, ви, швидше за все, будете її оновлювати. Ви також отримуєте перевагу, що витягуючи версію XY коду, ви також отримуєте версію XY документації. Крім того, якщо ви використовуєте дружній формат VCS, це означає, що легко розгалужувати, відрізнятись та об’єднуватись, як і ваш код.
Мені дуже подобається перший , оскільки легко створювати з нього як HTML-сторінки, так і PDF-документи, і він набагато привітніший, ніж LaTeX , але все ще може включати математичні вирази LaTeX, коли вони вам потрібні.