私は他の環境については知りませんが、他の人が書いた大規模な(多くの場合オープンソース)PHPプロジェクトに関しては、phpXRefは絶対的な命の恩人です(特にドキュメントがオンラインに置かれ、Googleがインデックスを作成できる場合)。
ひどくコメントされたプロジェクトでさえ、少なくとも、物事が定義されている場所と使用されている場所を追跡するのに役立ちます(たとえば、リファクタリングの場合)。
よくコメントすると、結果のページはコードベースの完璧な聖書に近い形になります(とにかく私の用途のため)。
さらに、私の好みのIDEはコメントブロックを自動生成し(/ **と入力した場合)、コメント作成作業の約75%を行います。自分が何をしているのかを他の人(そして将来の私)に説明しなければならなかったからといって、コーダーの生涯にわたってコミットするのを止められた愚かなことは驚くべきことです。ドキュメントジェネレータに対する私のコメントがメソッドよりも大きい場合、これは通常、十分なコーヒーがなかったことを意味し、少し難しく考えたいかもしれません。
これらの同じコメントブロックはインライン補完の「ヘルプ」テキストも作成するため、関数呼び出しを書いているときに(他のコーダーが)期待していたものを正確に見ることができます。これは私にとって非常に大きな生産性の向上です(特に、他の有用な開発者が「善のためにXをやる」と書いている稀なエッジケースでは、多くの苦痛を軽減できます)。
複雑な(多くの場合、名前が間違っている)PHPプロジェクトで指定された予期される入力タイプと、あまり使用されないメソッドでの引数の順序を持つことの有用性を十分に強調することはできません。独自のコードを使用しても、時代に触れたことのないものに対してどの引数を指定したかを常に思い出すことはできません。
ある例では、再発する問題の原因は、以前の開発者にひどく反映されている何らかの理由で、いくつかの関数や定数でさえ非常に多くの場所で定義されていたということでした。それがプロジェクトから立ち去る兆候でした。
私が参加する前に始まった大規模なプロジェクトでは、どの開発者(クラスファイルに名前と電子メールのタグが付けられていると仮定して)がクラスを作成し、適切な開発者を見つけて話すことができるのは非常に役立ちます。
自動タスクリスト-@todoタグ(自分が作業しているプロジェクトでよくあることです)を使用すると、ドキュメントでさらに作業が必要なもの(または欠落していると認められている機能)を追跡できます。繰り返しますが、私のIDEはこれを追跡し、それだけで最初に注意が必要なものについての良いガイドとして機能します。
最後に(そして私にとって非常に重要なことです)、すべてを書き留め、一部の(多くの)コーダーが変更をコミットし、ドキュメントメンテナーと話をしないときに、それを最新に保とうとする重要なオーバーヘッドを取り除きます。
その理由は次のとおりです。
- 後の開発者の時間を節約し、
- 関数が呼び出される(および定義される)場所を追跡し、
- 愚かなコーディングの発見、
- 明らかに欠落しているものを見つける(別の人が指摘したように)
- リファクタリングの単純化(あまり楽しくない)
- (多くの場合)開発者が何をしようとしているかを把握する(メモを残していると仮定)。
- プロジェクトが複雑で、複数のライセンスが実行される(面白くない)場合、どのセクションにどのライセンスが適用されるかをすぐに確認できます。確かに、これは副ボーナスです。
- プロジェクトファイルについて話す相手のアイデアを得る。
- 自動タスクリスト
また、ボタンに触れるだけで先のとがった髪のボスを満足させる価値を過小評価しないでください。
要するに、「自動ドキュメンテーションコメント」は私のコーディング習慣にとって不可欠です。それは足の不自由だと思う人は多いと思いますが、私が言っていることを正確に知っている人がかなりいることも確信しています。phpXRef(および私のお気に入りのIDE)を発見するまで、どのように生き延びたのかわかりません。