デザイナーツールはプログラミングエクスペリエンスを低下させますか?[閉まっている]


10

私は最近、特に利用可能ないくつかのMSツールを見回しており、デザイナーツールとウィザードに重点を置いていることに気づいています。UI開発だけでなく、すべてのために。

  • Entity Frameworkにはモデラーがあります
  • RIAサービスにはDomainServiceウィザードがあります
  • ワークフローにはワークフローデザイナー全体が含まれています...(わかりません、実際には使用していません)

他にもありますが、あなたはアイデアを理解していると思います。デザイナーツールはたくさんあります。これらのいくつかを使用すると、私はそれを見つけます:

規定された使用例を超えて問題を複雑にする

(つまり、すべての技術デモビデオ)

私は最近、これらのテクノロジーのいくつかを評価しており、それらを使用しようとすると、デザイナー、モデラー、ウィザードが私のために何をしているかを正確に分析しなければならなくなります...そうでなければ、実際にやらなければならないときに失われます作成されたもので何か。

そして持っていた-私はツールを戦うか、私はそれなしで全部自分自身を行っている可能性ように十分にその出力を戦うために持っている場合であることまでこの両端ずっと何が起こっているの強い理解を。これは、SilverlightデザイナーとRIAサービスのドメインサービスウィザードに特に腹立たしいと思います。

「このツールを使用するために内部の仕組みを理解したり、出力の半分を書き直したりする必要がある場合、このツールは何が良いのでしょうか?」

彼らはそれほど速くありません

これらのツールのセールスポイントは生産性を高めることであり、このポイントはツールを使用して時間とともに変化する可能性があり、必ずしもUIデザイナーには当てはまりません(ただし、場合によってはまだ当てはまります-> Silverlightデザイナーを探しています) 。ドラッグアンドドロップ、サイズ変更、移動など、デザイナーで行うよりもはるかに高速にコードをハッキングできることがわかりました。

UIがモデルの邪魔になる

多分これは私だけかもしれませんが、UML設計ツールを連想させるものを使用していると、線が交差しないようにすべてをレイアウトするのに多くの時間を費やすことになり、画面上ですべてを確認できるようになります。達成しようとしています。

面白くない

私が生活のためにコーディングする理由の半分は、それを楽しむためです。チェックボックスをクリックしてコンボボックスを選択し、出てくるすべてを修正するのは楽しいことではありません。

一人じゃない

コミュニティもこれらのツールを望んでいないようです。現時点で考えられる最も良い例は、Entity Framework Code-Firstです。

だから私は尋ねます:

  1. デザイナーツールは実際に生産性を向上させますか?
  2. 彼らは楽しいキラーですか?
  3. 「コミュニティ」は実際にもっとデザイナーツールを求めているのですか、それともベンダーが私たちのことを考えているだけですか?

回答:


7

私の推測では、優れた設計ツールは生産性を向上させ、「面白さ」を損なうことはありません。しかし、私はまだ良い設計ツールに出会っていないため、それは推測にすぎません。

私は個人的にデザインツールを求めていません。


2
+1私は間違いなく「まだ優れた設計ツールに出会う」ことが好きです。「眼球間の灰白質よりも良い」と付け加えたかもしれませんが。
ケンヘンダーソン

2
+1ウィザードが役立つのは、ウィザードが具体化するモデルに適合している場合のみです。私は主に奇妙なことをするために給料をもらっているので、彼らは通常邪魔になります。私がこれまで本当に気に入った唯一のデザインツールは、MS Accessのグラフィカルデータベースとクエリジェネレーター(このMicrosoftのファンではない人からの衝撃に備える)でした。リレーショナルデータベースとSQLはどちらも概念的には非常にシンプルで明確に定義されているため、うまく機能しました。設計ツールは、やりたいことのほとんどすべてを処理できます。
ボブ・マーフィー

タスクを支援するために自分で作成したものはすべて、「優れた設計ツール」です。これには、エディター、コンパイラー、デバッガー、個人用ライブラリーなどが含まれます。ほとんどの「ペイウェア」の問題は、誰にとっても十分に一般的である必要があるため、通常は問題にうまく適合しないことです。そして、彼らはそれをうまくプレイすることを決して気にしません!Unixの哲学に従ってください。MSのウォールドガーデンツールキットになりたくありません。
スペンサーラスバン

4
  1. たぶん依存すると思います。かなり経験の浅い開発者の場合、デザインツールを使用する方が、タイプするよりも生産性が高いでしょう。VB6の初期の頃は、手動で設計するよりもデザイナーを使用した方が生産性が高かったと思います。考慮すべきもう1つの点は、テクノロジー(少なくともIDEがそれを提示する方法)が手動で編集する方法です。VB6と.NETのWinFormsは確かに機能しません(むしろ、「生成された」コードファイル(またはその一部)を手動で編集する必要はありません)。WPFとASP.NETでは、かなり経験の浅い開発者がデザイナーですが、XAML / ASPを直接編集するためにすぐに卒業します。何をしているのかがわかったら、マークアップを直接編集する方が確実に速くなります。EFv1.0に戻ると、

  2. マークアップを操作するのが楽しいかどうかによって異なります。WPFとASP(.NET)は楽しいものです。VB6 / WinForms-生成されたコードセクションを必要以上に編集したくありません。

  3. コミュニティが明示的に行っているとは思いません。新しいものを学ぶとき、デザイナーは学習の塊を飲み込むことをより簡単にすることができます。


2

いつものように

私が最初にWebサービスを使用して調査したとき、Javaには50ページのチュートリアルがあり、.NETにはウィザードがありました。どれが慣れたと思いますか?


1

ここでも同じですが、設計ツールはありません。

私は紙にデータベースERDを設計し、「テーブルの作成」ステートメントを発行するデプロイヤーを作成します。これにより、思い通りにワイプして再構築できます。データベースのバージョン管理にも役立ちます。

11x17(A3)の用紙は、非常に複雑なシステムを設計するのに最適な場所であることがわかりました。良い消しゴムと鉛筆を手に入れましょう(私はStaedtlerを好みます)。


1

ベンダーの観点から見ると、これらの豪華なデザイナーツールはすべて、割引/無料の学生ライセンスと同様の目的を果たしているようです。アイデアは、最小限の労力とコストで何かを作成できるようにすることです。あなたが投資されると、彼らはあなたが他の誰かのことを学ぶのではなく、彼らのツールであなたのスキルを拡大することを学ぶことを賭けています。

それは、ツールが正当な生産的用途を持たないと言っているのではありません。する必要があり、生成されたコードを調べて、そこから学ぶことは価値があります。残念ながら、ケンヘンダーソンが指摘したように、コードは多くの場合判読できず、将来の作業のテンプレートとして使用するものではありません。「WCFサービスのプログラミング」のいくつかのセクションを思い出します。ここでは、作成者がコードを手動で記述する方法、またはVisual Studioでコードを生成する方法について説明しています。必然的に、生成されたオプションには、無関係なコードを削除するためのフォローアップセクションが必要です。


0

デザイナーツールは実際に生産性を向上させますか?

それらは、プロジェクトが単純で、複雑すぎない限り可能です。現実世界の問題を実装/解決しようとするとすぐに壁にぶつかる私の経験。

彼らは楽しいキラーですか?

WF(ワークフロー)とWPFは、VS 2008が30分ごとにクラッシュしたときに楽しいだけでなく、キラーにもなります。

「コミュニティ」は実際にもっとデザイナーツールを求めているのですか、それともベンダーが私たちのことを考えているだけですか?

最近MSがリリースしたツールの多くは、開発者を維持するための必死の試みのようです。戦いは今スマートフォン市場で起こっています。誰が開発者、MS、Google、またはAppleのハートを勝ち取るでしょうか?


0

ウィザードをクリックする方法のみを知っている開発者と、ウィザードが生成し、エッジケースに合わせてコードを変更できるコードを知っている開発者を区別するために使用していた当時でさえ、その方法は常にそうでした。

さらに多くのツール、ウィザード、およびデザイナーがすべてをカバーし、鋭利なものを自分で切り取らないようにすることは、知りたくない、または幅がない開発者にとってメリットです。生成されたコードを理解するための経験またはスキル。代わりに、フォームをブロックにドラッグアンドドロップすることに完全に基づいたプログラミング言語を使用することで、コンピューターに実行してもらいたいことと、自分で実行する必要があることの間にスイートスポットがあると思います。(私は以前はドメイン固有の環境でそのようなことに取り組んでいたので、使用したくありません!)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.