2011-01-30 10 views
1

私はJavaでアプリケーションを書いています。私は主にEclipseを使用しています。一人の人間(私)が今プロジェクトに取り組んでいれば価値がありますか? Svnリポジトリ/サーバは、私のコンピュータまたはインターネット上になければなりませんか?他にどんなツールを見なければなりませんか?ハドソン、ねえ?ハドソンとは何ですか? このプロセスをさらに楽しく、よりプロフェッショナルにするために、開発プロセスで使用するツールはどれですか?現在、どのようなツールを改善、自動化、シンプルなビルドとバージョン管理ソフトウェアですか?

+0

いくつかのツールがこの質問に記載されています:http://stackoverflow.com/questions/3716203/automatic-code-quality-and-architecture-quality-static-code-analysis – Jayan

答えて

2

はい、あなたが唯一のユーザーであっても、バージョンコントロールを持つと便利です。利点のいくつかは次のようになります。あなたは速い、あなたの変更を元に戻すことができ

  • 、何の最後の更新は、/
  • をコミットするので、あなたが変更かと思っあなたはアイデアをテストするためのプロジェクトを分岐していない、とブランチをマージ、または元に戻すことができますベースに戻る
  • 新しいプログラマーがプロジェクトに参加した場合、バージョン管理システムからプロジェクトをチェックアウトして、ネットワークに接続したり、USBスティックなどでファイルをコピーしたりすることができます。
  • あなたのプロジェクトの歴史を持っている(何時に行われたのか)
  • あなたのプロジェクトは一箇所に保存され、簡単にすべてを見たり、自動バックアップを実装したりすることができます。
  • 複数のコンピュータでプロジェクトを共有して作業することが容易になります。
  • バージョン管理おそらく後でいくつかのプロジェクトのチームとして働くときに必要です

あなたの家のコンピュータで作業していて、他の誰もプロジェクトのバージョン管理システムで働いていないなら、私はそれを設定します自分のコンピュータ上で起動します。企業は通常、イントラネット内に独自の内部バージョン管理システムを持っています(または少なくとも持っている必要があります)。

どのバージョン管理システムが「最高」なのか、私は本当に言えません。私はCVSとSVNしか使用していませんでした。私はMercurialとGITについても良いことを聞いたことがありますが、どちらも使用していません。

他のツールについては、あなたが既に必要なのかどうかはわかりません(既にMavenを使用しているので)。私たちは仕事でハドソンを持っていますが、ハドソンのウェブサイトはそれが本当に簡単だと言っていますが、セットアップ方法はわかりません(誰かによって行われました)。 Hudsonはバージョン管理システム(ここではsvn)を監視し、svnにコミットされた新しい変更を認識するとプロジェクトを自動的に構築します。これはmaven-targetを実行し、電子メールでコミュータにテスト失敗を報告します。特定の時間にビルドを行い、指定された場所にプロジェクトを展開することもできますが、これについてはわかりません。 1つの開発者プロジェクトでは、Hudsonを設定することはおそらく過度のことだと思います。

編集:あなたがSVNに行くことを選択した場合、SVNプラグインにより、チェックアウト/コミット/アップデート/復帰と履歴の表示を簡単に処理できるようになります。 、Eclipse-IDEからまっすぐに変更されます。

5

プロジェクトで今一人の人間(I)しか働かないのなら、それは価値がありますか?

はい。 Svnや他のソースコードリポジトリ(git、mercurial、cvsなど)は、あなたが行った変更の履歴を保存するのに役立ちます。大きな間違いをした場合、以前の状態に戻すことができます。 (もちろん、間違いや決してあなたが何をしたのか、そしてなぜ...永遠にバージョンコントロールが不要なのかを覚えておいてください)

Svnリポジトリ/サーバは私のコンピュータまたはインターネット上になければなりませんか?

いずれかです。自分のマシンにリポジトリサーバーを実装する場合は、定期的にバックアップを取るようにしてください。リモートリポジトリを使用している場合は、リポジトリがクラッシュして自分のものを失うのを防ぎ、数日はアクセスできないようにしてください。

その他のツールはどうすればいいですか?ハドソン、ねえ?ハドソンとは何ですか? GitはSVNのための代替である

...

ハドソンは、主に継続的ビルドシステムです。通常、ビルドとテストを自動的に実行するために使用されます。例えばいつでもチェックインをします。

このプロセスを開発プロセスで使用すると、より多くの喜びとよりプロフェッショナルになるツールがあります。

Coberatura(ハドソン内)などのテストカバレッジツール。

0

:-)

などのCheckstyle、FindBugsは、PMD、のようなスタイルチェッカーとバグチェッカー

おいしいコーヒーマシンが一つだけ 人(I)の作品ならば、それはTU価値SVNを使用することです今はプロジェクト?

ありがとうございます。代わりに、 "last"、 "working"、 "test1"、 "bad"のような奇妙な名前の.zipや.tgzがあり、あなたがやったことやその理由を覚えていない。プロジェクトが些細なものではない場合でも、しばらくしてからは、他の人物とまったく同じものになります(つまり、あなたが何をしたのか、それを知りませんでした。

また、単一の開発者であっても、複数のコンピュータ(デスクトップやラップトップなど)を使用してしまう可能性があります。移植性をチェックするためにOSが異なる場合があります。バージョン管理システムは、同期中。

Svnリポジトリ/サーバは、コンピュータまたはインターネットにインストールする必要がありますか?

分散バージョンコントロール(gitなど)を使用している場合、リモートはIMOが最適な方法です。 私はLinuxディストリビューションでsshを使用している仮想サーバーを使用していますが、リポジトリ専用の専用ホスティングサービスもあります。

分散バージョン管理システム(たとえばsvnを使用していない)を使用している場合、リポジトリがインターネットに接続されていると、少し面倒です。

独自のリポジトリを実行する場合は、もちろんバックアップを処理する必要があります。

1

プロジェクトで今一人の人間(I)しか働かないのなら、それは価値がありますか?

SVNは1人でも中小企業でも十分です。そして、あなたが単一のプログラマであっても、あなたのコードを常にバージョン管理に入れるべきです。これにより、以前のバージョンのファイルを簡単に比較することができます。これは、何かが一度に停止した理由を見つける必要があるときに重要になります。

Svnリポジトリ/サーバは、コンピュータまたはインターネットにインストールする必要がありますか?

あなたのコードは自動的にバックアップされるという利点があります。どこからでもあなたのコンピュータにアクセスできます。また、コンピュータが消滅した場合でも、別のマシンで続行できます。欠点は、SVNがネットワークやインターネット上で非常に遅くなることです。

その他のツールはどうすればいいですか?

「Mercurial」を選択できます。ローカルコミットを行うことができます。ローカルコミットは別々のバージョンとして保存されるため、それぞれの関連する変更は個別にログに記録されます。その後、定期的にサーバーにプッシュすることができます。サーバーには、リモートで安全に保管されています。これは実際にGit(分散型)と同じ概念ですが、Mercurialはそれほど包括的ではないようです。

このプロセスを開発プロセスで使用すると、より多くの喜びとよりプロフェッショナルになるツールがあります。

コーヒーマシン。 ;)

関連する問題