わかりませんが、以前の開発者は、大きな問題もなく、問題なくコーディングに取り掛かったと言われています。ここで上級プログラマーとの簡単なミーティングをマネージャーに依頼するのは間違っているのではないかと思います。用心深く、この時間に敏感なトラッカーを長い道のりで終わらせる方が良いですか、それとも締め切りに間に合うように急ぐ方が良いですか?
余談ですが、このアプリを維持していた以前のプログラマーは、入社して 1 年も経たないうちに全員いなくなりました。何かに関係があるかどうかはわかりません。
わかりませんが、以前の開発者は、大きな問題もなく、問題なくコーディングに取り掛かったと言われています。ここで上級プログラマーとの簡単なミーティングをマネージャーに依頼するのは間違っているのではないかと思います。用心深く、この時間に敏感なトラッカーを長い道のりで終わらせる方が良いですか、それとも締め切りに間に合うように急ぐ方が良いですか?
余談ですが、このアプリを維持していた以前のプログラマーは、入社して 1 年も経たないうちに全員いなくなりました。何かに関係があるかどうかはわかりません。
これについては、1 年前に Slashdot にスレッドがありました。通常の Slashdot クラフトの中で、いくつかの良い答えがあります。誰かがここでそれらを抽出できるかもしれません。
いくつかの良いものは、デバッガー、Doxygen (もちろん) (および ctags/etags/GNU Global などの関連ツール) を使用してプログラムをステップ実行し、あきらめ、まさにこのトピックに関する本を 2 冊出版しています。Feathers and Code Reading: The Open Source Perspective by Diomidis Spinellis.
個人的にはThe PG Wodehouse Method Of Refactoringを読むことをお勧めします。少なくとも楽しい読み物です!
ユニットテストを読んでください。ユニットテストはありませんか?いくつかの単体テストを作成します。
この質問を見ましたか?
コンセンサスの答えは次のようです:
すぐに飛び込んでバグを修正してください。コードベースのごく一部に限定したものを選択してください。デバッガーを多用します。
私はそのような仕事をいくつか経験しましたが、そこではすべてのプログラマーが会社を去りました。私はそれを危険信号と呼んでいます。
プロジェクトにドキュメントがないのはおそらく偶然ではありませんが、そこに因果関係があるかどうかを判断するのは困難です。真実は、次のいずれかである可能性があります。
おそらく、コードに慣れるための最良の方法は、テストを作成することです。コード カバレッジ レポートを作成する単体テスト ツールを用意します。すべてのコードを実行するテストを作成します。コード カバレッジの視覚化は、まだ実行していないエッジ ケースを見つけるのに役立ちます。このプロセスを進めていくと、コードがどのように機能するかについて多くのことを学べることを保証します。副次的な利点として、完全な単体テスト スイートを作成できます。
API ドキュメントを生成するツールを入手することも別の選択肢です。他の人が言及しています。この種のドキュメントは、参照のみに役立ちます。特定のクラスまたはメソッドをいつ、どのように使用するのが最適かを示すのには役立ちません。
もう 1 つの課題は、システムの一部の UML ダイアグラムを作成することです。シーケンス図は、コードのオブジェクト指向アーキテクチャに欠陥がある場合でも役立ちます。
多くのテストを行って、彼らが何らかの単体テスト フレームワークをセットアップしていれば問題ありません。別のものを直そうとしているときに、何かを壊してしまうことほどイライラすることはありません。
参考までに、これをチェックしてみてください。この男はあなたよりも厳しい立場にあるようです。
(VisualStudioで)私が常に最初に行うことは、ソリューション内の各プロジェクトのクラス図を作成することです。それは私が働いているもののグラフィック表現を見ることができます。
そして、何らかの理由で、私は黄色のリーガルパッドを使用して主要なクラスを通過し、何が何に話しかけるかについてメモを書き留めました。これは私にとってはうまくいくようです。なぜ、または単にコードを読むよりも優れているのか、本当にわかりません。
また、どのように機能するのかわからない紛らわしいコードがある場合は、デバッガーを実行してステップスルーします。私は常にコールスタックを表示したままにして、さまざまなコードパスの感触をつかむようにしています。
最後にもう1つ(これはすべての人に発生するわけではありません)、プロファイラーを介して実行します。必ずしもパフォーマンスの数値を探しているわけではありませんが、キャプチャされたコードパスに関心があります。実行時に実際に何が起こっているかを確認するのに実際に非常に役立ちます。
どのプログラミング言語?コードベースの大きさ (1k、10k、100k 行?)
いずれにせよ、ブラウズしやすい HTML 相互参照を作成するには、 Doxygenを使用することをお勧めします。
これを行うのに十分小さい場合 (たとえば、10,000 行以下)、古き良きファッションのリストでかなりの成功を収めています。コードを印刷し、蛍光ペンと色付きのポストイット フラグを用意して、リストを調べ、メモを走り書きし、参考文献を見つけて、全体の構造をつなぎ合わせます。静かな場所に行ってコードを確認してください。
ctags などを使用できるもので書かれている場合は、コードを検索できるようにラップトップを用意してください。