コードを文書化するには、常にクラス図を使用する必要があると思います。コードを直接見ると、完全なアーキテクチャを見ることができるとは思いません。自分でコードを書いたり、長い間作業している場合は理解できますが、コードを見て、この新しいコードを追加する場所を検索する必要があるたびに新しい需要が発生するたびに同意します。
私たちが会社で行うことは、プロジェクトのクラス図ビューを持つことです。モデリングに時間を費やすのではなく、リバースエンジニアリング後のクラス図を使用してコードを視覚化します。コードが変更された場合、マージメカニズムがあり、クラス図は常に更新されます。
素晴らしいのは、Java docに加えて、図にコメントや制約を追加できることです。プロジェクトを逆にして、モデルを作成し、最終的にUMLクラス図として表示されたモデルからビューを抽出します。この段階ではコードを作成しませんが、コードアーキテクチャから青写真を取得し、現在のアーキテクチャを作成または拡張するためにそれに取り組みます。気に入ったらボタンを押すと、既存のコードがダイアグラムにマージされます。マージを意味し、完全なコード生成ではありません。毎回完全なコードではなく、既存のコードと私の図の間の差分のみが書き込まれます。
私は長年勉強していて、修士号を取得していて、まだコードを書いていますが、Javaライターになりたくないので、もう少し頭を使いたいです。UMLビューは、モデルの開発を使用せずに、既存の手動で記述されたコードとグラフィカルにクラス図を作成するだけで、アーキテクチャについて考え、他のチームメンバーと通信し、より良いアーキテクチャを作成するために必要なものを提供します。コードレベルでアーキテクチャを作成し、それを逆にしてモデルを確認します。ビューを作成し、コードでアーキテクチャを直接改善してから、もう一度逆にして、何が行われるかなどを確認します。これは、モデル駆動型コード生成ではなく、コードとUML間のライブ同期またはマージを伴う永続的な反復です。私が気に入っているのは、コードがUMLを駆動することであり、逆ではありません。