対象読者
この質問に答えるとき、誰がこのドキュメントを読むつもりなのかを本当に尋ねる必要があると思います。開発者は、ユーザーまたはビジネスアナリストに対してもまったく異なるニーズを持っています。
- 開発者として:調査対象のコードに関連するドキュメント、インターフェイスコントラクトなどの詳細、および使用例。おそらくいくつかの高レベルのドキュメント、および適切な測定のためのプロトコル仕様。
- ユーザーとして:ヘルプメニューから入手できるドキュメント、またはソフトウェアの使用方法に関するアクセス可能なWebサイト。
- ビジネスアナリストとして:ドキュメントとして、またはアクセス可能なWebサイトとして利用可能なドキュメントが役立ちます。プロトコル、高レベルアーキテクチャ、およびユースケースについての控えめな詳細が最適です。
メンテナンス
このドキュメントのソースをどこに配置するかは、対象読者と、対象読者のために誰が書いているかに依存します。
- 開発者の家しかありませんか?コードにすべてを配置します。それが更新されることをお勧めします。ドキュメントの更新がコードの変更と同じくらい重要であることを奨励する文化に取り組む必要があります。
- 開発者とドキュメンテーションライターの家がありますか?責任を分割します。開発者向けの開発者向けツールを使用し、ドキュメント作成者用のドキュメント作成者ツールを使用します。
可能な場合は、コード例またはユースケースを実行できることを確認してください。実行を自動化し、内部的に障害にフラグを立てます。おそらく、これらのページは質の悪い、または悪いドキュメントです。
さらに、ドキュメントを記述するために選択するツールが何であれ、ドキュメントの特定のバージョンをコードの特定のバージョンに関連付けるための信頼できる手段が必要です。これは、単一の常緑展開のある幸せなクラウドランドでも有益です。
ドキュメントの統合
一部のドキュメントを作成するには統合が必要になる場合がありますが、必要なすべてのドキュメントにアクセスするための単一の場所をユーザーが期待することに注意してください。
ビジネスアナリストは、API仕様、設計仕様、および使用シナリオを個別のドキュメントまたはWebサイトの個別のセクションに配置することに非常に満足しています。
開発者はソースから見えるすべてのものを好みますが、いくつかの高レベルの設計ドキュメントと、コードの外部にある詳細なプロトコル仕様ドキュメントがあることは非常にうれしいですが、同じチェックアウト内であることが望ましいです。
あなたの場合
正直に言うと、Wikiのドキュメントは、おそらくコードベースのドキュメントと同じ種類ではありません。マージするのも意味がないかもしれません。
一方、2つの統合は、いくつかの簡単な方法で実現できます。
- ソースドキュメンテーションツール(doxygenなど)はhtmlを生成でき、wikiはWebサーバー上に存在します。Wikiと一緒にビルドバージョンを提供し、2つを相互リンクするだけの簡単な統合ポイントになります。
- 一部のウィキ製品では、コードベースにチェックインできるファイルからウィキを直接実行できます。これにより、ドキュメントをコードと組み合わせたまま、シンプルなwysiwygツールが提供されます。
- pdfなどの他の形式にも対応できますが、これは使用する特定のツールに依存します。wikiをマークダウンファイルにスクレイピングし、doxygen(または他のツール)経由でフィードすることは理にかなっているかもしれません。wikiとソースを個別にpdfにして、pdfマージツールを使用するのが理にかなっている場合があります。
1日の終わりに、どのドキュメントシステムのメンテナンスコストが低く、開発者、ビジネスアナリスト、ユーザーの視聴者に見られるような高品質の製品を提供するのに役立つかを把握してください。これらのグループのいずれかを妨げるものは、必然的に製品の品質を低下させます。