web-dev-qa-db-ja.com

それは私の最初の週です。コードをチェックアウトしました。来週割り当てがあるまで、コードを確認するように指示されます。私は何をしますか?

重複の可能性:
どのようにして大きなコードベースに飛び込むのですか?

私は以前にこのような状況にあったことがあり、実際にインターネットをサーフィンしている間、私はコードをいじっただけです。私はこの仕事に関心があり、エクセルにしたいと思っています。どのようなものを探すべきですか?フレームワークの学習を開始するにはどうすればよいですか?私の経験では、私は実践することで学んでいますが、明らかに彼らは私に何かを期待しているか、今週はコードを理解するために私にくれないでしょう。

17
RankWeis
  • 製品の使用方法をご覧ください。
  • 一般に、ほとんどのアプリケーションはデータベースを使用します。スキーマを見てください。コードがデータをどのように使用するかを理解してください。

(私と同じ)を実行して学習した場合、修正するいくつかのバグを見つけようとするでしょう。優先度の低いいくつかのバグに陥る可能性がある場合は、コードに慣れるための優れた方法です。

17
Andrew Fielden

私は通常、欠陥追跡システムをざっと見ていきます。ほとんどの欠陥が集中しているように見える場所を見て、そのコードを調べ始めます。オッズは、とにかくすぐにそのようなものに取り組むことになるので、それは始めるのに良い場所です。

それができない場合は、いつでもプロジェクトアーキテクチャの「ガイド付きツアー」を依頼して、関心のある領域を確認したり、問題があると言及したりすることができます。少なくとも、物事がどのように組み合わされているかを感じるでしょう。

あなたの雇用主(またはあなた)がコードから図を生成できるものにお金を払っている場合、最初の2つのセクションに基づいていくつかを生成し、グラフィカルな概要を取得します。

12
Dataknife

まず、ドメインに関する知識を収集します。コードが行うことになっていることなど。

その後、順不同で

  • デバッガーでそれを突きます。
  • テストスイートを実行します(ある場合)
  • そのドキュメントを読む(存在する場合)
  • ドキュメントを読む/そこで使用されているサードパーティのライブラリを検索する
  • チームメンバーとの対話(これをKTと呼びます-知識の伝達)
8
Sujoy

彼らが完全に不合理でない限り、彼らはあなたが来週エキスパートとして地面に立つことを期待しません。

とはいえ、学べば学ぶほど、印象づけることができます。監督者を感動させるには常に良い。

あなたが行うことによって学ぶなら、あなたは私のように学ぶので、私はいくつかの推奨事項を提供することができます。コンパイルされたバージョンのコードがあると思います。アプリケーションの動作方法、癖、「うーん、どうすればいいのかわからない」、内面のクールな部分に慣れます。コードから始めます。

次に、本当にそれを学びたい場合は、アプリケーション全体のデータ/制御の流れをたどってください。興味深い場所から開始するか、ユーザーとの対話の最初から、データがシステムをどのように通過するかを確認します。ユーザーインタラクションや時間ベースのタスクで低レベルで何が発生するかを確認します。見て、最適化または改善できると思われるポイントがあるかどうかを確認し、それらのポイントを調査します(可能な場合は、それらを変更してコンパイルします。これが大きなアプリケーションである場合は、まだ変更を管理にプッシュしないでください。社内に参入するときに提示できるものの内部リストを保持します。完全に理解していないシステムに変更をプッシュしようとすると、予期しない多くのsid効果が生じる可能性があるため、システムを完全に理解するまで待ちます。)

ただし、その結果は次のとおりです。新しい会社でfastの学習に集中できる最善のことは、ビジネスルールです。中心的な業界が1つある場合、それを学ぶ。数が少ない場合は、それらすべてを学習します。契約ビジネスの方が契約である場合、これはあまり適用されません。

誰でもコーディングできます。しかし、あなたが書いているコードが何をしているかを理解し、それを明確なビジネス用語で説明すれば、あなたは勝ちます。

7
Sam DeHaan

これが私の見つけるべきもののリストです:

  • コードのメンタルモデルを構築します。主なクラスは何ですか?クラス階層はどのように見えますか?
  • 規約。変数はどのように命名されますか?コード内のテストはどこにありますか?ファイルのコードがどのように構造化されているかにパターンがありますか?上のメンバーと下のメソッド?
  • やるべきことの周りにバグリストや機能リストがある場合は、それらのいくつかを取り、それらのタスクを実行してみてください。あなたが他の人ほど速くはないかもしれませんが、これは目的を持ってコードにあなたを連れて行く何かをするでしょう。優先度の低いバグは、ここでは簡単に実行できる小さなことの例である可能性があります。より重要なことを実行できるため、他の人が残しましたが、袖をまくってすぐに飛び込むことを恐れていないことを示すことは有用です。何かを成し遂げる。バグが他の誰かによって修正されたとしても、プロセスのコードについて得られた知識を見てください。
  • 相互作用のパターンについて同僚に注意してください。もっとおしゃべりに見える人は誰ですか?コーディングの専門家と思われるのは誰ですか?誰がどのような役割を果たしていますか?これは、注意を払ってドットを接続することで得られるものです。これも必ずしも簡単ではありませんが、ここで別の可能性のために誰かをシャドウイングすることを検討できます。 「ボブを数日間フォローして、彼と同じようにやってみましょう」という考えはうまくいくかもしれませんし、そうでないかもしれません。ここのプロセスはどうですか?
4
JB King

この間、ネットを「サーフィン」しないでください。

コードベースを見て、それをいじって実行してみてください(可能であれば)。実行できない場合は、コードとその機能を理解してみてください。興味のあるコードを見つけたり、困惑したりした場合は、そのドキュメントを見つけるか、誰かに聞いてみてください。

アプリケーションを開発した人など、他の人に質問することをためらわないでください。彼らはあなたの同僚になるでしょう、そしてあなたが新しいことを知っているので、私は彼らがあなたを助けてくれることを嬉しく思います。

このことを学ぶのが早ければ早いほど、コードを見ることだけでなく、「実行することによって学ぶ」ことがより早くできるようになります。 :)

概要:

  • ネットをサーフィンしないでください:)
  • 質問することを恐れないでください
  • ドキュメント、スキーマを確認し、アプリケーションで(可能であれば)遊んでください
  • 最初の学習ステップを早く完了すればするほど、「実行」ステップを開始できます
2
Rion Williams

これは短く聞こえるかもしれないし、考えられないかもしれませんが、実際に始める前に1週間コードベースを確認するように言われたときに、同僚の1人が私に指示したとおりです。

ソリューションを開き、コンパイルして実行し、F11(Visual Studio 2010デバッガーの次の行にステップイン)します。

1
slandau

ここでは、いくつかの手順を紹介します。

  1. ドキュメントがある場合は、それを読み始め、コードに適用してテストしてください。

  2. あなたが持っているフレームワーク/コードがどのように機能しているかを確認する必要があります。実際にフレームワークがどのように機能しているかを知ることは重要ではありませんが、このステップは、すでに存在するAPI /関数を使用して何ができるか、そしてどのようにできるかを理解することですその中に新しいコード/モジュールを入れてください。

  3. 次に、できる限り多くのことを実践するよう心がける必要がありますが、オープンマインドなアプローチです。オープンマインドなアプローチとは、単に仕事を終わらせるだけでなく、目的を実際に理解するためにこれを行うことを意味します。

  4. ステップ3を完了すると、ほとんどの作業が完了し、この段階で時間がある場合は、現在のコードまたはフレームワークが内部でどのように機能するかを確認するのが良いタイミングです。作業中に変更する必要がある可能性があるためです。すでに存在するフレームワークに存在するいくつかのバグやバグの修正。

これを完了すると、作業の準備がほぼ整います。

1
Hafiz

コードをねじ込む..ドキュメントを読んでください!あ、ちょっと待って...

1
Morons

最善の方法は、コードに慣れることでした。コードを実行し、読み通し、プログラムの流れを理解し、コードの各部分が何を行うかを理解します。このようにして、割り当てを行うと、コードを理解し、その方法をよりよく理解できるようになります。彼らがあなたにしてほしいことを何でもするため。

また、特に注意しなければならない点があるかどうかを確認しても問題ありません。彼ら(あなたのリーダーまたはマネージャー)はまだ特定のタスクを持っていないかもしれませんが、彼らにはアイデアがあり、あなたにもう少し良い焦点を与えることができるかもしれません。

0