大規模なコードベースが既に配置されている既存のチームに参加することは、困難な場合があります。最善のアプローチは何ですか;
- ブロード; コードから、すべてがどのように相互にリンクしているかの概要をつかむようにしてください
- 狭い; 一度にコードの小さなセクションに集中し、それらがどのように機能するかを完全に理解する
- 開発する機能を選択し、作業を進めながら学習します
- クラス図と UML が利用可能である場合 (および最新の場合) から洞察を得るようにしてください。
- まったく別の何か?
私は現在、約 20k 行の C++ アプリとライブラリに取り組んでいます (編集: 物事の壮大な計画では小さい!)。業界では、経験豊富なプログラマーから紹介を受けると思います。しかし、そうでない場合、できるだけ早く付加価値を開始するにはどうすればよいでしょうか?
--
回答の要約:
- デバッグ モードでコードをステップ実行して、その動作を確認します
- あなたよりもコードベースに精通している人とペアを組んで、コーディングする人と見たり議論したりする人を交代で行います。チーム メンバー間でパートナーをローテーションして、知識が広まるようにします。
- 単体テストを書きます。コードがどのように機能すると思うかについての主張から始めます。期待どおりの結果が得られた場合は、おそらくコードを理解しています。そうでない場合は、パズルを解くか、問い合わせを行う必要があります。(ドナルに感謝します。これは素晴らしい答えです)
- 上記と同様の方法で、機能コードの既存の単体テストを実行します
- UML、Doxygen によって生成されたクラス ダイアグラム、およびその他のドキュメントを読んで、コードの全体像を把握してください。
- 小さな編集やバグ修正を行い、徐々に積み上げていきます
- メモを取り、飛び込んで開発を開始しないでください。面倒なコードや不適切なコードを生成するよりも、理解に時間を費やす方が価値があります。
この投稿は、 the-best-way-to-familiarize-yourself-with-an-inherited-codebaseの部分的な複製です