2017-12-16 13 views
1

私に割り当てられたプロジェクトでは、フロントエンドにSpringフレームワークとangularjsを使用する大きなJavaプロジェクトを理解する必要があります。サーバー(Jetty)上で多くのコードが実行され、多くのログが生成されます。バックエンドコードは、UI側よりも私にとって興味深いものです。複雑なJavaプロジェクトの探索を始めよう

私の質問はどこから始まりますか?私たちが大学/卒業生の練習に使うJavaコードはとてもシンプルで、まずは「主な」方法がありました。

大きなプロジェクトでは、私は主要な方法を見ません。プロジェクトの「出発点」を見つけ出し、さらにそれを探るにはどうすればよいですか?

この質問はやや似ていますが、探索を開始しないように正確にUnderstanding a big company project in Java

+1

ここでは、誰もあなたをお手伝いできません。あなたと一緒に座ることができる友人を探して、プロジェクトを分析するのを助けてください。 – vinS

+0

大きなプロジェクトは通常、オブジェクトの配線やコントローラクラスの初期化などを管理するいくつかのフレームワークを使用します。あなたのケースではspringeやjeeのようなものが使用されているかどうか知っていますか?このインフォーマリオンは、あなたにさらなるティップを与えるのに役立ちます。 – snap

+0

はい、私のプロジェクトではスプリングフレームワーク – user2306856

答えて

1

1つの可能な方法は、コードにコードから層に、アプリケーションと分析層への重要なエントリポイントを見つけることです。

私の説明は、あなたの質問のコメントに記載されている情報に基づいています。 (アプリケーションはanglejsとspringに基づいています)。これらの重要な情報は、一時的なものであり、予告なく削除することができます。

アプリケーションを起動し、そのいずれかの主な機能(または次のタスクで拡張したい機能)。

お気に入りのブラウザの開発ツールを開き、すべてのリクエストと応答を記録します。検出したいアクションをトリガーします。レコードを分析し、対応するREST呼び出しを見つけます。リクエストとレスポンスのparamを見て、このAPIが何をすべきか考えてみてください。

次に、バックエンドコード内の対応するREST-Controllerを検索します。ほとんどの場合、REST-Call-URLパスの後の値(コントローラまたはコントローラメソッドにバインドされている)のいくつかを検索すると、それを見つけることができます。

これで、そのアクションのエントリポイントが得られました。メインメソッドで行うのと同じように、もっと似たような発見ができます。

この手順を繰り返して、一部の機能の実装を理解することができます(1つずつ)。それにもかかわらず、このアプローチでは見つけられないアプリケーションの重要な部分があります。しかし、それはあなたにユーザーにWebインターフェイスによって公開されている機能を探索する出発点を与えるでしょう。

アーキテクチャによっては、いくつかの中心的なコア機能を持つ場所を見つけることができます。その後、apiから独立してこれらのコア機能をフロントエンドに探索することは良い考えです。アプリケーションf.e.ドメイン主導型の設計アプローチが進歩すれば、機能的(技術的ではない)ドメインが設計されている層を見つけることができます。それから、あなたはもっと大きな写真をここで見つけるでしょう。

アプリケーションの設計方法を知っている人がいる場合は、もちろんこの人にインタビューして発見を開始する必要があります。知識を持っているすべての人がアクセスできない場合は、いくつかのドキュメントを参照するか、記述しようとするようにアプリケーションを自分で見つけなければなりません。

関連する問題