1

私は成長中の Java プロジェクトに取り組んでおり、おそらく他の誰かと協力していくつかの機能を改善するつもりです。

次のことを念頭に置いて、作業の質を向上させるためにいくつかのツールを使用したいと思います。

  • このプロジェクトに費やす時間があまりない
  • 小さなプロジェクトですが、私にとってはとても重要です
  • そのためのソフトウェア/ハードウェアを購入したくない
  • 私はすでにSVNを使用しています

maven と junit についてどう思いますか? 彼らのために時間を費やす価値はありますか?他に良いツールを知りませんか?

4

6 に答える 6

8

Maven と JUnit は、優れた習慣 (単体テスト、統一された構造) を強制するのに適しています。優れた SCM の習慣と合わせて、これらは共同開発にとって最も重要なことの 1 つだと思います。

于 2009-10-01T18:29:17.930 に答える
5

JUnitを使用していないので、ユニットテストはまだ行われていないと思います。他の人があなたのコードに取り組み始める場合、これはあなたがとるべき最も重要なステップのように思えます。ユニットテストがなければ、誰かが知らないうちに機能を簡単に壊してしまう可能性があります。

コードの少なくとも80%をカバーする一連の単体テストを作成します。Coberturaを使用して、コードカバレッジを測定できます。これは大変な作業のように思えるかもしれませんが(そうです)、将来的にははるかに多くの時間を節約できます。

Mavenは現在、構築とデプロイのデファクトスタンダードですが、欠点もあります。(Antまたはカスタムスクリプトを使用して)十分に文書化されたビルド手順がある場合は、単体テストを追加するよりもMavenを導入することの方が重要ではないことをお勧めします。

于 2009-10-01T18:50:22.957 に答える
4

JUnitは、あらゆるプロジェクトでコードを検証するのに役立ちます。

Mavenには、克服するのが難しい学習曲線があります。1つのモジュールと比較的単純なビルドステップのセットがある場合は、Antを使用する方が簡単な場合があります。

一方、Mavenビルドでは、コードにレポートを追加するだけで、コードのさまざまなパラメーターを確認できます。最初から規則に準拠している場合よりも、Mavenに移行するのははるかに困難です。

コードのチェックに役立つMavenプラグインの例:

  • Findbugs(考えられるバグの静的分析)
  • Checkstyle(コーディング標準を適用)
  • PMD(より静的な分析)
  • PMD CPD(コピーペースト検出)
  • JDepend(循環依存チェックとパッケージ結合)
  • Cobertura(コードカバレッジ)

コード品質のプラグインに興味がある場合は、Sonarも検討してください。これらのプラグインをまとめて、ファンキーなレポートを提供します。

ベストプラクティスに興味がある場合は、継続的インテグレーションサーバーも検討してください。Hudsonは無料で、Mavenとうまく統合できます。

于 2009-10-01T18:49:50.633 に答える
1

かなり大規模なプロジェクトで Maven と JUnit を使用していますが、非常に便利です。

プロジェクトの計画には、FogBugzを強くお勧めします。これは、これまでに見た中で最高の問題追跡システムであり、プロジェクト管理も適切にサポートされており、2 人までのチームは無料です。

于 2009-10-01T18:32:02.703 に答える
0

EclipseとSVNを使用している場合は、Mylynを確認することをお勧めします。その基本的な概念は非常に単純ですが、チームで作業するときに非常に役立ちます。私の控えめな意見では、Mavenはそれの本当の利益のためにあまりにも迷惑です。たぶん、antはデプロイメントタスクにちょうど十分です。

于 2009-10-01T18:50:55.303 に答える
0

私は 1 つのプロジェクトで maven を使用しましたが、それが恋しいです。ただし、セットアップと構成にはかなりの先行投資が必要です。私が作業していたとき、XML ドキュメントは古かった (おそらくこれは改善された)。この初期設定を完了すると、時間を大幅に節約できます。

JUnitに関しては、素晴らしいです。これを使って。

これらのツールはどちらも投資として扱う必要があります。最初は無関係なものがたくさんあるように見えるかもしれませんが、プロジェクトは長期的には問題が少なくなり、より予測通りに成長します.

于 2009-10-02T03:22:46.970 に答える