net開発者の場合は、おそらくVisual Studioユーザーです。もちろん、他のオプションもあります。ただし、.Net Framework向けの開発に関しては、レドモンドの製品が最初の選択肢です。
ただし、Visual Studioは単一のものではないため、初心者にとっては混乱を招く可能性があります。
どちらを選ぶべきですか?あなたの使用状況の場合、重要な機能は何ですか?
Visual Studioは無料ではないため(少なくともほとんどのバージョンは無料ではありません)、少なくとも最高の価格/パフォーマンス比を実現したいと考えています。
これがこの記事で説明する内容です。タイトルが示すように、エンタープライズとプロフェッショナルの統合開発環境(IDE)の違いに焦点を当てます。
この記事の最後に、ニーズに適したIDEバージョンを十分な情報に基づいて決定するための十分な情報を学習します。
Visual Studio EnterpriseおよびProfessional:どちらがあなたに適していますか?
Visual Studio ProfessionalとEnterpriseの違いを理解するには、まずMicrosoftがIDEを階層的に提供していることを覚えておく必要があります。
- Visual Studio Communityは最も安い(無料)です。
- 次はVisual Studio Professionalです。
- 最後に、Visual Studio Enterpriseは、最も機能が豊富で、最も高価です。
各バージョンには、次のバージョンのすべての機能に加えて、追加機能があります。
したがって、Visual Studio ProfessionalとEnterpriseの違いは何ですか?この質問は、実際には前者ができることと同じですが、後者はできません。見てみましょう。
Visual StudioEnterpriseでのみ使用可能な機能
Visual StudioEnterpriseの排他的な機能をカテゴリ別に並べ替えて見てみましょう。
1.統合開発環境の機能
まず、IDE自体に関連する機能を紹介します。 Visual Studio Enterpriseはソフトウェアアーキテクチャに特別な注意を払っているため、このバージョンには明らかにソフトウェアアーキテクチャに関連するいくつかの機能があります。
アーキテクチャの検証と分析
このシーンを想像してみてください。
n層アーキテクチャパターンに従うアプリケーションを開発しています。 したがって、プレゼンテーション層がデータ層に直接アクセスしないようにする必要があります。 ビジネスロジック層のみにアクセスできるようにする必要があります。
Visual Studio Enterpriseの2010バージョン以降、アーキテクチャレイヤー図を使用して、アプリケーションでアーキテクチャの検証を実行できます。 例えば、構築過程中に検証を統合できます。 クラスがアクセスしてはならないレイヤー内の名前空間を参照している場合、ビルドは失敗します。
最新バージョンでは、この機能も改善され、リアルタイムの依存関係検証が提供されます。 ビルドが中断されるのを待つ必要はありません。VisualStudioは、Roslynアナライザーの機能を利用して、無効な依存関係を導入しようとしているときにリアルタイムのフィードバックを提供します。
コード重複の検出
コードの重複は、コードベースで最も深刻な問題の1つです。 Visual Studio Enterpriseは、コードクローン分析という便利な機能を通じて、開発者やアーキテクトがこの問題に対処するのに役立ちます。 この機能を使用すると、Visual Studioでコードの重複の可能性をローカライズできるため、重複を排除できます。
2.高度なデバッグと診断
開発者はデバッガーに多くの時間を費やします。 それでは、このドメインのVisual StudioEnterprise独自の機能を見てみましょう。
ここでの最初の機能はIntelliTraceです。 IntelliTraceを使用すると、従来の現在のデバッグの代わりに、アプリケーションの過去の実行をデバッグできます。 本番環境にデプロイされたアプリケーションを含む、さまざまなソースからIntelliTraceデータを保存できます
デバッグの分野でも、コードマップデバッガーが統合されています。
この機能は、現在のメソッドと以前に呼び出されたメソッドを、デバッガーと統合され、コードをステップ実行するときにリアルタイムで更新されるチャートとして視覚化できるようにすることで、デバッグ時に新しいタイプのエクスペリエンスを提供します。
最後に、.NETメモリダンプ分析に入ります。この機能を使用すると、メモリダンプファイルを分析して、メモリリークや不要な割り当てなどのパフォーマンスの問題を特定して修正できます。
3.テストツール
私たちはついにツールをテストしています。 この領域が、Visual StudioEnterpriseが他のIDEバージョンよりも優れていることは間違いありません。 最初に自動化された単体テストに関連するいくつかの機能について説明し、次に手動、探索、およびUIテストに役立つ機能を紹介し続けます。
自動テスト
ユニットテスト
リアルタイムのユニットテストから始めましょう。
この機能を有効にすると、Visual Studioは、アプリケーションに加えた変更の影響を受ける単体テストを自動的に実行し、結果をリアルタイムで表示します。この機能は、NUnit、xUnit.net、およびMSTestフレームワークをサポートします。
ユニットテストについて説明しているので、ここで、いくつかの論争を引き起こすことが確実なトピックであるテストカバレッジに注意を向けましょう。
100%のコードカバレッジを達成することは、アプリケーションの正常性にとって不可欠であると思うかもしれませんし、そうではないと思うかもしれません。 しかし、あなたはおそらく、テストカバレッジデータがまだ有用であることを知っていることに同意するでしょう。 Visual Studio Enterpriseは、ネイティブメトリックを提供します。
よく書かれたユニットテストを書くことが目標である場合、常に達成しようと努力すべき目標は分離です。優れたユニットテストは、他のテストだけでなく、インフラストラクチャの懸念からも、可能な限り分離して独立させる必要があります。マシンの時計や言語などの詳細がテスト結果に影響を与えることはありません。
ただし、この分離を提供することは必ずしも容易ではありません。 Visual Studio Enterpriseは、MicrosoftFakesを使用して問題を解決しようとしました。
Microsoft Fakesを使用すると、スタブとフィラーを使用して、コード内の外部依存関係をシミュレートできます。
典型的な使用例は、特定の日付をシミュレートして、時間に敏感なエラーをテストすることです。 Visual Studio Enterpriseは、これを超えることもできます。 IntelliTestを使用すると、コードの単体テストスイートと偽のテストデータを自動的に生成できます。
自動UIテスト
単体テストではない自動テストはどうですか?
Visual Studio Enterpriseは、これらのニーズを満たすこともできます。 コード化されたUIテストを使用すると、ユーザーインターフェイスを介してアプリケーションを駆動する自動テストを作成できます。 これを行うには、手動テストを記録して保存します。 テストを記録した後、パラメータ値を指定し、特別なエディタを使用してそれらを微調整できます。
手動テスト
ただし、コードベースは自動テストだけに依存するべきではありません。 手動テストは依然として包括的な品質戦略の重要な部分であり、Visual Studio Enterpriseもこれらのニーズを満たすことができます。
これを行うために使用される主なツールはMicrosoftTest Managerです。これは、ユーザーが次のタスクを実行できるようにする包括的なソリューションです。
- 探索的(つまり、スクリプトレス)テストセッション中に実行されたアクションを記録および再生します
- 手動テストのテスト計画を作成および管理する
- 多くのプロジェクトでテストスイートとテストケースをコピーする
- 計画された手動テストセッションに関するデータを記録および収集する
この機能を使用することにより、開発者、テスター、またはテストアナリストは、プロジェクトで何が起こっているか(テストの観点から)を非常に広く理解できます。 テストに関連するすべての集中制御パネルと考えてください。
Visual Studio Professional Vs. Visual Studio Enterprise:最終結果
Microsoftは、階層化された製品モデルの下でVisualStudioを提供しています。 したがって、Visual Studio ProfessionalとVisualStudio Enterprise(それぞれ2番目と3番目のレイヤー)の違いを分析することは、前者ではなく後者の特性をカバーすることと同じです。 これがこの記事で行ったことです。
もちろん、簡潔にするために、Visual Studio Enterpriseのすべての独自機能については触れていません。 しかし、この記事では、Visual Studio Enterpriseが主にソフトウェアアーキテクトとQAエキスパートを対象としていることを明確に述べていると思います。
それで、最終結果は何ですか?
Visual Studio Professionalで間違いはありません。ほとんどの開発者にとって、これは良い選択です。ただし、ソフトウェアアーキテクトにとっては、十分な予算がある限り、Visual Studio Enterpriseが理にかなっている場合があります。ただし、そうでない場合は、Visual Studioエコシステムに、VS Enterpriseの機能を何らかの方法で取得するのに役立つプラグインが多数あります。