Mavenの目標第一の目標は、最も短い期間で開発内容の状態を完全に理解できるようにすることです。 この目標を達成するために、Mavenが扱ういくつかの領域があります:
ビルドプロセスの単純化Mavenを使用するからといって、ベースとなるメカニズムの知識が不要になるわけではありません。 しかし、私たちが行ったJelly and Werkzのケースでは、新しいユーザを悩ませる、 あまりにひどい詳細部分の多くを気にかける必要がなくなっています。 Mavenのインストールは簡単です。 初心者、エキスパート共に同じように快適にインストール出来ることを目指しています。 また、その高い能力にもかかわらず、とても簡単にビルドを実行することが出来ます。 単一のビルドシステムの提供Mavenでは、プロジェクトオブジェクトモデル(POM)と、 1セットのAntビルドファイルを使用して、プロジェクトをビルドします。 このAntビルドファイルはMavenを使用するすべてのプロジェクトで共有され、 その結果、単一のビルドシステムが提供されることになります。 一度Mavenプロジェクトのビルド方法に慣れれば、 すなわちすべてのMavenプロジェクトのビルド方法を知ることになります。 そして、多くのプロジェクトを進めるときに莫大な時間を節約することが出来ます。 良質なプロジェクトの情報の提供MavenはプロジェクトのPOMとソースファイルから生成された、 プロジェクトの有益な情報のすべてを提供します。 現在、以下の情報が提供されます:
Mavenが改良されれば提供される情報も改良されるでしょう。 Mavenのユーザはそのすべてを受け取ることが出来ます。 開発プロセスの明確なガイドラインの提供Maven利用の一環として、開発にMavenを利用したプロジェクトの利用者たちによって集められた 開発プロセスのガイドラインにアクセスできます。 これは開発と一般的な改良が必要な領域ですが、より多くのプロジェクトがMavenを使えば、 一般的な開発プロセスに関するより多くのアイディアが集まり、 そしてすべてのMavenのユーザに広めることが出来ます。 詳細なテストプラクティスのガイドラインの提供プロジェクトの開始時点からユニットテストを正しく始めるための簡単な方法を提供します。 プロジェクトの開発ライフサイクルの一部分として、 テストを統合するように規則を強制できます。 また、ユニットテストを統合するための一般的なパターンも提供します。 Mavenは統合テストの一般的なパターンも提供していますし、 Quilt を用いたカバレッジテストの統合を行っているところです。 プロジェクトのユニットテストの仕様、実行、レポートは、 Mavenを使った通常のビルドサイクルの一部分になっています。 JUnitフレームワークとAntでのサポートによって、 ユニットテストを実行しています。 現在のユニットテストの最良のプラクティスはガイドラインとして使用されています:
Webベースのアプリケーションのコンテナ内でのユニットテストには、 Cactusテストフレームワークを使用します。 これらのテストに対しても、基本的なユニットテストと同じ方式の統合ユニットテストが提供されます。 コンテナ内テストの予備的なサポートにはTomcat4.xベースのコンテナが含まれます。 プロジェクト情報の明快な視覚化理解を助けるためには、該当するソースに基づくメトリクスを生成するだけでなく、 開発の状態をグラフィカルに要約して表現する必要があります。 以下はEdward R. Tufteの書籍The Visual Display of Quantitative Informationの序文からの抜粋です: 統計的なグラフの優れた点は、複雑な考えをはっきりと、正確に、 効率よく伝えられることです。 グラフィカルな表現は以下のようであるべきです:
新しい機能への透過的な移行Mavenのアップデートは簡単なので、クライアントはMavenに追加された全ての変更を利用することができます。 すべてが1セットのビルドファイルでコントロールされるので、 単にそれらのビルドファイルとそれに伴うMavenインストールの一部であるデータ構造を更新するだけです。 ユーザは、単純にMavenをアップデートすればすべての新しい機能を使うことが出来ます。 我々は、エラーを起こしがちな手動の変更を無くすために、POMの変更を通知する簡単な方法を検討中です。 |