4


3

Visual Studio 2008の推奨TDD /アジャイル/ソース管理プラグイン

ソフトウェアを開発するときに使用する素敵なプラグインのセットを探しています。 現在、私はプロジェクトをソロ化しており、プロジェクトを進めながらTDDを同時に実験しています。 最近、私はagilesプロセスについて非常に誇張されており、プロジェクトの完了とTDDの学習の両方のタスクを支援するツールをさらに統合できるのではないかと考えています。 さらに、SVNまたは他のバージョンのソース管理リポジトリとの統合を検討しています。 また、フィードバックのためにバージョンマイルストーンを公開するので、ビルドにバージョン情報を含めたいと思います。 堅牢で保守可能なソフトウェアを作成する方法を最終的に学び、私が長年滞在してきたカウボーイコーディングの世界から飛躍することが私の願いです。

迷子になったり、意図したとおりに使用しないと、害をもたらす可能性があります。 私が思い浮かぶのは、コーディング標準を維持するためのStyle Cop / Fx Cop、SVN統合のためのVisual SVN、NUnitでのテスト駆動(およびMoqの可能性がありますが、それはNUnitsモックライブラリを検討していないためです)。 私はまだreshaperのようなツールを試したことはありませんが、それについて多くのことを聞いたので、試してみることを検討しています。

私はC#のみでコーディングし、.NET 2.0をサポートする無料のゲームエンジンであるUnity3Dで使用するクラスライブラリを作成しています。 ただし、テスト自体は、インストールでサポートされる任意の.NETバージョンにすることができます。 あなたがコミットを失敗させる自動化されたテストについて何か聞いたことがありますが、TDDをより良く学ぶために私ができると信じて、できるだけ早くこれにつま先を浸すことに興奮しています。

私のニーズに合った他のプラグインをご存知の場合、または他のプラグインを選択する必要があると思われる場合は、お知らせください。

私はプラグインを初めて使用するので、プラグインを使用する理由とタイミングを動機付けることができるかどうかは気にしません。 自分のスキルを磨くための素晴らしい環境を手に入れることができてとても興奮しています。

これを読んでくれてありがとう。 あなたが何か追加することを願っています:)

Edit

Style Copをいじってみると、デフォルト設定ではTDDやアジャイルアプローチに最適なプラグインではないかもしれないことがわかりました。 私が作成するコードはそれを使用して非常に高い基準を保持していると思いますが、多くのルール(厳格なドキュメントなど)はアジャイルではないと感じます。 TDDでは、テスト自体がドキュメントおよび仕様として機能します。 アジャイルだと思うなら、必要のないことをすべきではありません。

私の特定のケースでは、このライブラリは他の開発者と共有することを目的としていないため、追加のドキュメントは必要ありません。 ただし、将来的にはそうなる可能性があり、その後、別の球場に着陸します。 私はこれらのルールをオーバーライドすることについて少し疑っています。 「きれいなコーディング」を実践するために、クリーンで堅実なコードが必要であり、もう1つはTDDをもう少し絞り込み、最終的に生産価値が必要だと思います。

新しい開発者が元の記事を読んで、ここにリストされているためにそれを使用することに決めた場合に、デフォルト設定でスタイルコップを使用することについての私の考えを投稿したかった。 重要なのは、ニーズを理解し、特定の機能が生産価値に貢献しているかどうかを特定することだと思います。

4 Answer


5


個人的な開発のための無料版が含まれています。 メモリ使用量や実際に使用方法を学ぶために専念する必要があるという点で高価ではない素敵なシンプルなプラグイン。

テスト駆動開発では、IDEの内部でテストを実行する必要があります。 実行するすべてのテストで外部ランナーに切り替える必要がないため、時間をどれだけ節約できるかに驚くでしょう。

_ あなたがコミットに失敗する原因となる自動化されたテストについて何か聞いたことがあります _

http://en.wikipedia.org/wiki/Build_automation [ビルドオートメーション]-http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx[MSBuild]またはNAntをご覧ください。 基本的に、ビルドプロセスが成功しない限り、コードをリポジトリにコミットしません。 たとえば、一部のコードが破損している場合、ビルドプロセスは失敗します。 合格した場合、コードを安全にコミットできます。

NETユーザーにとっては、MSBuild(Visual Studioが内部的に使用する)が良いスタートです。 MSDNの公式サイトをチェックして、ビルドオートメーションが良いアイデアである理由に関する記事を検索してください。

その他のツール

あなたの質問は、FxCop、StyleCopなどの使用について尋ねています。 これらを外部で実行するのではなく、ビルドプロセスの一部としてリンクできます。 これには設定に多少の手間がかかりますが、それらを使用してビルドプロセスに組み込むことで節約できる時間は膨大です。 副次的に、使用するかどうかに関係なくこれらを使用することでコードが改善されます。

無料のリシャーパー

Resharperは個人の開発には高価です。 会社が提供している場合は、必ず使用してください。 個人的な開発のために購入することを正当化できますか? チャンスは無い。 代わりに、http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/ [CodeRush Express]をご覧ください。 それは似ており、Resharperよりもメモリの消費が少ないです。 Visual Studioが常にロックされるわけではありません。 加えて、その機能のいくつかはかなりいいです。


3


プラグインとツールに非常にこだわっているように聞こえます。もちろんツールは非常に役立ちますが、ツールとフレームワークではなく、実際に学習したいものに焦点を当てます。

間違いなく必要なのは:

  • SVN(TortoiseSVNは問題ありません)

  • テストを実行するためのTestdriven.Net

  • Teamcityまたは継続的な統合を行うための同等のもの

まだ必要ないのは、これらの基本を改善するためのあらゆる種類のプラグインとフレームワークです。 TDDと「ビルドのストーリー」、そしておそらくリリース管理に焦点を当てます-これを学びながら、ツールに必要なものを見つけます。


2


あなたが興味を持っているプラ​​グインはすべて大丈夫だと思います。

Resharperは優れた強力な機能ですが、大量のメモリが必要です。

他の人が言ったように、TestDriven .Netはほぼ必須です。 VS IDEからテストを実行できます。 テストがNUnitである場合は正常に機能します。

そして最後に、テスト範囲を追跡するためにNCoverをお勧めします。 コミュニティバージョンがあり、TestDriven .Netを使用してIDEから実行することもできます。

そしてもちろん、自動ビルド用のnAntおよび/またはMSBuild。 私はnAntをお勧めします。

それが役に立てば幸い


1


NDependを調べると、コードベースを分析してクリーンに保つことができます。 (そうでない場合は、TestDriven.NetとReSharperに対する2番目のアドバイス)。