web-dev-qa-db-ja.com

IDEの設計方法は?

私は、スケーラブルな統合開発環境(IDE)の設計方法とそれに対するさまざまなアプローチに関するブログや論文を含む専門家のアドバイスを探しています。スケーラブルとは、IDEが、中規模プロジェクトから大規模プロジェクト(たとえば、Eclipseがプラグインシステムを介してこれを実現するプロジェクト)の開発プロジェクトでユーザーにサービスを提供できることを意味します)を意味します。 Eclipse、Visual Studio、Leksah、またはScalaIDEである。

私自身、多くのIDEを使用してきましたが、設計の原則、ガイドライン、デザイナーや開発者が持っていた/持っていた考えに興味があり、専門的な知識を見つけるのは非常に困難です。

9
forste

特定のクラスのソフトウェアを設計するためのハードで普遍的なルールはありません。アプリケーションの設計は、そのアプリケーションの最も可能性の高いユースケースと、アプリケーションの使用を想定しているタスクの種類によって大幅に異なります。

たとえば、ユーザーが最初からたくさんの小さなスクリプトを作成することを想像した場合(たとえば、自動テストを管理するためなど)、大規模な機能アプリケーションを維持しているユーザーにとっては、優先順位が異なります。ユーザーがコーディングスタイルガイドに反することが予想される場合、IDEは、最先端のエッジコードを使用する唯一の開発者向けに設計されたものとは異なる優先順位を持っています。そして、これらのタスクの性質IDE=が対応している言語のパラダイムに依存する可能性があります。

これはおそらく漠然とした反応のようです。しかし、実際には、これらの質問に対する答えを理解し、それらを念頭に置いていると、おそらく「IDE=がしなければならない10のこと」の任意のリストよりもはるかに優れたガイドとなるでしょう。

8

IDE市場は非常に競争が激しくなっています。始める前に、他のユーザーには提供しないユーザーに何を提供しますか?

6
Jon White

以前に述べたように:1.何が違うのですか?

  1. すでに開発されているオープンソースを検索IDEおよび内部関数を見て、自分だけでなく、全員に利益をもたらすことができる、何が違うかを確認してください!

  2. IDEを頻繁に使用する中で、一般的な欠陥であることが判明したものは何ですか。あなたは別の方法で何をしますか、そしてこれは大衆に利益をもたらすでしょうか?

2
Tek'eek

「xxxの最終設計から何が最善か」についての質問のほとんどに対する答えは簡単に定義できますが、非常に複雑です。

  1. さまざまなタイプのユーザーを識別します。
  2. それらのそれぞれについて、彼らが何をする必要があるかを特定します。
  3. また、アプリケーションを使用する上での彼らの目標と目的を特定します。
  4. 次に、彼らの動機とドライバーを特定します
  5. 各タスクについて、彼らの動機と目的を考慮して、彼らにこれを実行させるプロセスを特定します。
1

私は現在、これについても調査することに興味があります。

私は、IDEをサービスとして設計することについての(無料)研究論文を見つけました。これには、以前の研究への参照も含まれており、あなたを始めるのに役立つかもしれません: http:// www.cloudsw.org/under-review/31a7a63b-856a-488f-9ce1-1ed5e6cfe63e/designing-ide-as-a-service/view