web-dev-qa-db-ja.com

新しいコードベースに慣れるには、どのような手順を踏む必要がありますか?

小規模なソフトウェア開発チームに参加して、既存のコードベースに取り組みました。私は必要なプログラミング言語を学び、実際にコードを読むことを自分自身に課していますが、ソフトウェアエンジニアが慣れていないコードベースを効率的に使いこなすために私が推奨することはあるのかと思います。

私の質問が広すぎるのではないかと心配しているので、どうすれば改善できるかについてコメントをいただければ幸いです。

2
Galen

それはあなたの強み次第です。

  • いじくり回すことで最もよく学ぶ人もいます。コードを取得し、コンパイルし、どこかにそれを突っ込み、結果を見て、必要に応じて繰り返します。
  • 一部の人々はマッピングを通して最もよく学びます。彼らはエントリポイントを見つけて、重要なコードの流れに沿ってフローをたどり、依存関係と構造を感じます。
  • 一部の人々は図表を通して最もよく学びます。彼らは誰かに、アーキテクチャがホワイトボードなどでどのようなものかを見せてもらいます。高度な用語といくつかの専門用語が得られたら、さらに質問をしたり、コードを調べたりして、すべてがどこに並んでいるかを確認します。
  • 一部の人々は社交を通じて最もよく学びます。彼らは既存の開発者とペアを組んで、彼らがどのように働くかを見守ります。どこに行くの?彼らは何をしますか?彼らはどうやって物を見つけるのですか?
  • 一部の人々は目標を通して最もよく学びます。彼らはすべてに圧倒されないようにいくつかの基本的なタスクに焦点を当てたいと思っています。彼らは、1つの簡単なことを見つけ、その自信を武器に、次第に大きな目標を達成していきます。
  • 一部の人々は使用を通して最もよく学びます。彼らはプログラムを開き、それが何をするか(+方法+理由)を理解した後、コードを調べてユーザーインターフェイスと実装をマッピングします。

実際には、よく学ぶ方法を知っていても、ほとんどの組織はそれを受け入れるのに十分ではないため、混合になる傾向があります。そして、あなたがどのルートを取るにしても、途中でいくつかの間違いを犯してそこに到達するには、時間と労力がかかります。

6
Telastyn

役立つと思われるいくつかの一般的な手法には、次のものがあります。

  • デバッガーを接続してアプリケーションを実行し、コードのコア部分をそのように実行します。このようにして、アプリケーションの実行中にアプリケーションを流れるデータのスローモーションビューを見ることができます。これは、コードのどの部分がアプリケーションの特定の部分に責任があるかをよりよく理解するのに役立つはずです

  • ユニットテストを読んで、主要なクラスのユースケースをよく理解してください。これは、クラス間の相互作用と依存関係の一部を説明するのにも役立ちます。

1
Oleksi