Java / C ++でのアプリケーションプログラミングのコード生成でGUIデザイナーツールを使用することは悪い習慣ですか?


8

私は、stackOverflowの質問で、GUIデザイナープログラムを使用すると多くの厄介なコードが生成される可能性があり、より小さなプログラムを作成しているのでない限り、悪い習慣と見なされていることを読みました。

私の質問はその理由と方法です。GUIデザイナープログラムを使用するのは悪いことですか?どうして?

追加の詳細:

  • Windowsプラットフォームでのプログラミング。
  • C ++ / JavaでのWindowsプログラムのみのプログラミング。
  • IDEにはGUIデザイナーが付属しているため、私はVisual Studio 2010(Express Editionではない)を使用しています。

あなたが参照している質問へのリンクを投稿してもらえますか?
FrustratedWithFormsDesigner 2012年

6
OMG、タイトルから、他のGUIデザイナー、つまりGUIデザインを行う人々について話しているところを推測しました。そして、それらを悪い習慣として使用することについて話すことは、かなり素晴らしいことでした。
ZJR 2012年

すごいZJR、私はそのタイトルを更新します!
Michael Durrant

ZIRがそれを言うまで、私はそのようなものがあることさえ知りませんでした。あなたは毎日何か新しいことを学びます。
Bugster

回答:


12

GUIデザイナーを使用してフォーム、GUIを設計することは悪い習慣ではありません。Visual StudioのEsp。それらはこの目的のためにあり、広く使用されています。

Web開発では、それは別の話です。GUIデザイナーを使用することは悪い習慣です(たとえば、Microsoft Front PageがWebMatrixに置き換えられました)。理由

  • それらはあなたが本当に必要としない多くの追加のコードを提供します。彼らは基本的にジャンクを作成します。
  • HTMLドキュメントのサイズが大きくなります。これは、多数のヒットが発生するハイエンドサイトには非常に望ましくありません。
  • 余分なジャンクコードがたくさんあるため、保守が難しい

したがって、あなたの質問に関しては、Visual StudioのデザインフォームespでGUIを使用することは悪い習慣ではありません。どういたしまして。


デスクトップアプリケーションでvsデザイナーを使用しないことは悪い習慣だと思います。
アンディ

5

大規模および中規模のプロジェクトでは、生成するコードを維持するのがあまり良くないため、使用しないでください。GUIデザイナーによって生成されたコードをクリーンアップする予定がない限り、それがない方がよいでしょう。

ただし、次の場合には非常に優れています。

  • 迅速かつダーティなものを作成するため(おそらくプロトタイプ用)
  • 新しいものを試し、それがどのように見えるかを見てみましょう

VisualStudioでは、生成されたコードを手動で保守およびクリーンアップすることは非常にまれです。
FrustratedWithFormsDesigner 2012年

@FrustratedWithFormsDesignerわかりません。ビジュアルスタジオを使用したことがない。私の経験は、qtツールを使用したLinuxであり、生成されたコードはそれほど悪くはありませんが、良くもありません。とにかく、それをクリーンアップすることが可能である
BЈовић

4
生成されたコードに手で触れてはいけません。コードはデザイナで管理するため、コードがどのように表示されるかは関係ありません。最初はコードを作成するだけですが、手動で編集する必要があるため、その名前に見合う価値はなく、問題がありますが、すべての妥当なもの(Qt、VisualStuidoなど)は、手で触れることのない個別のソースを生成します。通常、コードはバージョン管理さえされていませんが、ビルドの一部として生成されます。
Jan Hudec

2
はい、そうです。コードを生成し、後でそれを手動で保守することを期待するツールは、ひどく壊れ、多くの問題を引き起こします。これは、コードに必然的にいくつかのイボがあるためです。これはすべてのコードジェネレーターに適用されます。このように機能するORMまたはUMLモデラーは、同じ方法で問題を引き起こします。しかし、それは現代のGUIデザイナーには当てはまりません。.NETとQtはコードを生成するため、別のソースでロジックを定義し、Gtkはコードを生成することさえありませんが、実行時にデザイナーファイルを解釈します。ほとんどのモバイルプラットフォームは同様に動作します。
Jan Hudec

1
@PeterTaylor:バージョン管理に入るのはここでは問題ではありません。それを編集する必要があります。WinFormsデザイナーは、情報をC#ソースとして直接維持するため、バージョン管理に移行する必要があるコードを生成します。ただし、これはpartialクラスであり、手動で作成したコードは個別のファイルに格納されるため、手動で編集する必要はありません。はい、差分はデザイナーが管理する他のデータと同じくらい醜いですが、実際には問題ありません。
Jan Hudec

4

一般に、GUIデザイナーは悪い習慣だとは思いません。優れた GUIデザイナーを使用することで得られると思う主な利点:

  • GUIの開発と変更にかかる時間の短縮。
  • プログラムをコンパイルして実行しなくても、UIがどのように見えるかを確認できます。

遭遇する可能性のある潜在的な問題:

  • 実行時に生成/管理される動的UI要素は、GUIデザイナーではおそらく不可能です
  • VisualStudioのカスタム汎用コントロールなど、より複雑なGUIコントロールで問題が発生しました。
  • 生成されたコードは、多くの苦痛や問題の潜在的な原因となる可能性もあり、手動で変更しようとすると、GUIデザイナーがそれを設計できなくなる可能性があります。

もちろん、そのようなツールを適切に使用する方法がわからない場合は、すぐに問題が発生する可能性があります。


3

それはあなたが使うつもりのツールやプログラミング環境に大きく依存します。

ほとんどの場合、優れたGUIデザイナー(一種のコードジェネレーター)が適しています。これにより、可能な限り多くのコードを自動化でき、同時に、自動化できないものよりも手動で特別なコードをコーディングできます。 。

GUIデザイナーは、通常、位置、色、フォーマット、スタイルに関連するものを自動化し、コントロールのロジックまたはプログラミングをプログラマーに任せることができます。

追加コメント:ORMツールについても同様です。これらはコードジェネレーターでもあります。


1

あなたのコードが何をするかを理解する必要があります。誰かがあなたのところに来て、「なぜこれが起こるのですか?」自分のプログラムのバグを見つけて解決できる限り、GUIデザイナーに問題はありませんが、プログラムとの戦いでロジックをたどることができなくなったら、WYSIWYGから戻る必要があります。

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