Так, остаточно, АЛЕ:
- Гниль посилань буде проблемою, в ідеалі динамічно генеруйте посилання з відомого цільового документа, але отримуйте префікс з якоїсь форми конфігурації. Якщо сервер зміниться, ви можете зберегти старіший код дійсним, оновивши цей елемент конфігурації. Ви також можете зробити документ доступним на локальному рівні також просто змінивши цей конфігурацію префікса.
- Версія : У тому ж дусі, якщо ви можете включити версію в посилання в якійсь якості, щоб посилання завжди вказувало на правильну версію документації.
- Зробіть документ доступним для редагування Щось на зразок веб-сайту типу вікі для вашої документації, де ви можете динамічно виправляти помилки, в ідеалі також дозволяти користувачам коментувати безпосередньо на сторінці. це набагато полегшить вашим користувачам участь та пошук того, що їм потрібно, і ви отримаєте золоту інформацію про підтримку свого документа в хорошому робочому стані, але переконайтеся, що ви регулярно його стежите, і більшість з них активно берете участь самі.
- Згенеровані шаблони змушують вашу систему збирання генерувати основний шаблон для документації з приміток у коді безпосередньо. Нехай це буде просто, але це гарантуватиме, що всі посилання завжди вказують на дійсну документацію. Якщо ви користуєтесь вікі, переконайтеся, що ви можете легко пересувати ці шаблони, і переконайтеся, що ви можете просувати сайт документації так само, як і для свого коду (мати розроблений веб-сайт, який відрізняється від веб-сайту prod та рекламний код для prod буде виконати вставки на сайті prod автоматично).
Якщо ви розробляєте Java або .NET, документ може бути включений у jar-файл або файл DLL і, змінивши префікс, ваш код може отримати його локально.
Якщо ви все-таки обираєте підхід до wiki, я настійно рекомендую DokuWiki для його простоти і для того, щоб він ґрунтувався на текстових файлах з плоскими текстами, що зробило б дуже доброзичливим автоматичне введення з системи складання. При цьому я не знаю достатньо вашого оточення чи клієнтів, щоб дійсно знати, чи добре це підходить YMMV.
Деякі з найуспішніших інструментів, які я створив, застосовували аналогічний підхід, коли повідомлення про помилку було націлене на реального користувача, який, швидше за все, виконав завдання. Це означало, що я повинен зробити багато вилучень та обгортань винятків, щоб переконатися, що помилка знаходиться на відповідному рівні абстракції. Я також переконався, що кожне повідомлення про помилку міститиме найімовірніші джерела помилок та вказує на потенційні рішення "Ви забули встановити значення конфігурації xxxx?", "Переконайтесь, що xxx та yyy не конфліктують, даючи їм різні назви" тощо. Де XXX і те, що не буде створено з контексту, де сталася помилка.
Цей підхід був дещо простішим, але й більш обмеженим. Однак він мав на увазі те, що документація завжди буде присутня, коли потрібно, не можлива гниття посилання.
Ваш підхід - наступна еволюція. Набагато складніший, але також має набагато більше потенційних прибутків. Хоча це буде дорого, але, якщо зробити все правильно, легко окупиться.