私は仕事で新しく、私は大きなコードjava/mobileベースを継承しました。数百ものJavaファイルがあります。私はそれを理解していない。ドキュメンテーションはほとんどありません。コードとその仕組みを理解することは私の仕事です。どのような戦略やアドバイスをすればこの問題に取り組むことができますか?大きなコードベースを理解するための戦略
これまで私が試したことは、アプリの特定の機能(印刷機能)を見て、コードにブレークポイントを置き、実行に沿って試してみたことです。これまでのところ、どのクラスがどのような順序で呼び出されるかしかわかりませんでした。しかし、私はこの方法は、この複雑なアプリケーションの限られた理解を提供することができると思う。私はまた、アプリの特定の機能に取り組むように依頼して、誰かがそれがどのように動作するかについて私に指導することができますが、人々はそのための時間がありません。他に何かお勧めできますか?
この質問はかなり広く、「意見に基づく」回答につながります。だからそれはここでは流行だ。あなたはquora.comで尋ねようとするかもしれません。私の意見:既存のソースコードから構造体/アーキテクチャを推測しようとするツールがあります。このようなツールをまず使用して、あなたのアプリケーションを構成するものを大まかに理解してください**。いくつかの領域でちょうど盲目的にデバッグすることは、ほとんど役に立たないでしょう。さらに重要なことは、以前にシステムを使って作業していた人を特定することです。アプリケーションが何をすべきかを理解しているドメイン専門家。その後、彼らに話してください! – GhostCat
もう1つの質問は、平均的なプログラマーとは何かを区別して、この問題に取り組むことができ、平均的な人よりも速く動作することが分かり、数日以内にコードを生成することができますか?これは管理者が探しているものですか? –
また、答えは "それは依存する"です。私は、巨大な既存のコードベースを分析するために必要な最も重要なスキルが**経験**であると思います。過去5、10、20の類似したことを使って作業した場合、あなたはあなたが探しているものが分かっているので、より迅速に "パターン"を見つけることができます。あなたがこれを初めてやっているとき、あなたは同じ時点で多くのことを学んでいます。多くの人がそれをよくしています。その場合、あなたの「コアコンピテンシー」は体系的な作業のための能力になります。しかし注意してください:SOはそのような議論の場ではありません。あなたはquora.comに向けるほうがいいかもしれません... – GhostCat