継続的な開発環境構築に向けて(Javadocだけでは解決できないこと)

継続的な開発環境構築に向けて(Javadocだけでは解決できないこと)

システム開発は「作って終わり」ではありません。業務内容に合わせた仕様変更や、バグへの対応、機能改善など様々な変更が発生します。ということは、継続的にドキュメントを管理する観点が必要となります。

ソースコードの変更理由はどこに書くべきか

図2は、仕様書やソースコード、テストコード、ドキュメンテーションコメントの関連とソースコードの改変の様子をあらわしています。


ソースコード改変時の模式図
図2:ソースコード改変時の模式図
(画像をクリックすると別ウィンドウに拡大図を表示します)

ソースコードから仕様書への矢印は、前回作成したJavadocの拡張や仕様書タグで実現しています。ソースコードとテストコードの対応付けは、今回のテストタグで実現できています。それ以外の関連は、Javadocの通常の機能で実現可能です。

変更のない状態であればこれで十分ですが、問題となるのは「変更がある場合にソースコードの変更理由を記述する場所」です。変更した理由をドキュメ ンテーションコメントに追加して管理することもできますが、陳腐化した情報が蓄積されることによってソースコードが長くなり、可読性が悪くなることからあ まりお勧めできる方法ではありません。

普通、ソースコードは「ソースコード管理システム(以下、SCM)」を使って変更を管理しているはずです。変更した理由は、SCMに変更内容をコミットするときに、コミットログとして記述するべきです。

タスク管理と連動させる

ソースコードの変更には、変更に至るまでの経緯や背景があるはずです。しかしこれらをコミットログの中に延々と記述するのは現実的ではありません。そこで登場するのが「タスク管理との連携」です。


変更理由は冒頭にあげたように様々なものがありますが、具体的には変更するためのタスクを定義して管理することになります。図3は、タスクとコミットログの連携をあらわしています。


タスクとコミットログの連携
図3:タスクとコミットログの連携
(画像をクリックすると別ウィンドウに拡大図を表示します)

コミットログにタスクを識別できるIDを記述すれば、変更に至った経緯や背景を履歴から辿ることができるようになります。これを実現するツールとして「Trac」があります。

Tracについては以下の連載を参照してください。



最後に

本連載ではJavadocを起点にして、システム開発に関わるドキュメントの相互関係を整理してきました。

Javadocをきっかけにしましたが、Javadocのはたす役割を理解すれば、開発手法や開発言語に囚われないドキュメンテーションの本質がみえてきます。

それは「どのドキュメントに何を書くべきなのか」ということです。

本連載では様々なドキュメントが登場してきました。ドキュメント同士は関連があり、それらを通して開発に携わる人たちが情報共有を行うわけです。どのドキュメントが何をあらわすべきなのかが理解できれば「何を書くべきなのか」が自ずと明らかになります。

読者の皆さんが、どこに何を書けばいいか迷ったとき、本連載が道しるべのような役割を担えば幸いです。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30