質問

で管理者およびお客様に楽しんで頂い参加者をリーフへお連れします。

自然と精神との融合によってGUI開発者の平均プログラマに最小限の知識のデザインの原則またはその他のプログラミングイディオム.しかし、これらの欠点が不思議な現象ではないだろうか、特別管理及びお客様の場合、プログラマーを作成でき印象的な宿ユーザーインターフェースです。るように、多くのGUI開発者が知ってい時間を過ごし美肌のGUIの書面に悪unmaintainableます。

一方、中tierプログラマの開発を行うApiやビジネスの機能又はデータベースコード(SQLs等) 不利な立場にあるとしてい形をショーケースです。にこのようなコードレビューや建築家があり、踊るのが良いデザイン-スケーラビリティ等のコードだけのものです。コードを実行するために年間を崩さず、非常に優れたメンテナンス性を持ちいて、良いパフォーマンスなので聞に"wow"に、スリックを見GUIいます。

私の意見ですが、逆にそれを、なんかもよろしければどうぞくdownvotedこのために知っているあまり意欲のためのGUIプログラマの良いクリーンコードです。

編集:いて説明すことによるGUIプログラマー、いるつもりではないんですけれど本格的なweb/GUIデザイナーがフロントプログラマー(java-スイングプログラマを交換してください。

は他の地域合意?

役に立ちましたか?

解決

私はあなたの主張を見ていると思いますが、考慮すべき反対の問題もあると思います。

基本的に、UIはエンドユーザーの「顔の中で」アプリケーションの要素であるため、UI開発者はアプリのより深いレイヤーで作業するチームメンバーよりも高い視認性を享受していることを示唆していると思います。

確かに、私はより高い視認性があるかもしれないことに同意します。たとえば、UI要素に取り組んでいる開発者は、エンドユーザーとより頻繁にやり取りできる場合があります(おそらく、人間/コンピューターの相互作用の側面に焦点を合わせているため)。

しかし、問題がある場合でも、より高い視認性が再生されると思います。たとえば、エンドユーザーは、そうでなくても「GUIの問題」として問題を報告する可能性が非常に高くなります。

それはすべて知覚に要約される可能性があり、成熟した組織は、彼らが取り組んでいるアプリのレイヤーとは独立して、さまざまなチームメンバーの価値、美徳、弱点を認識できるはずです。成熟した組織は、「UI開発者」や「ビジネス層開発者」などの区別を超えて移動した可能性があります。おそらく、彼らはすべてチームメンバーであり、おそらく異なる専門知識を持っていますが、常に専門分野についてお互いを教育しようとしています。

他のヒント

プログラマーに対処していない人にとって、私は彼らがこの種のものを信じるだろうと自信を持って言うことができます。彼らはバックグラウンドにある作業の量を知りません。彼らが見るのは、ボタン/テキストボックス/メニュー/[GUI要素を挿入]とボタンの開始を達成するために必要な速度だけです。そのため、当初、GUIの人々はもっと好きです。

人の場合 します プログラマーに対処すると、少し異なります。あなたが言ったように、彼らはあなたがそれをスケーラブルで、メンテナンスしやすくした場合に気づくでしょう、それがより理にかなっているようにアルゴリズムを書き直し、または他のメンテナンスタイプのタスクを作ります。この種の人は、すべてのプログラマーを等しく見ます。

真ん中には、あなたが何をしているのかによって異なります。ここで速度が重要な要素になります。フォームを処理および保存するのにどれくらいの時間がかかるかを録音する前後に表示でき、改善がある場合、あなたは平等です。 100人のクライアントからロード下のアプリを表示し、サーバーの融解を表示してから、すべてが問題ない場合にバージョンを表示できる場合。等。


要するに、それは人とあなたが何をしているかに依存します。

私の会社の「UIの専門家」(デザインだけでなく、すべてのUI開発を担当する男)として、あなたはストーリーの一部を見逃しているかもしれません。私はUIを担当している人ですが、バックエンド、データベースなどでも作業しています。私はそれをすべて行います(私たちは小さなチームです)。 [C#およびASP.NET WebForms開発

まず第一に、はい、非技術的な人々がGUI開発者の仕事を理解する方がはるかに簡単です。非技術的な人々に、 GUIはアプリケーションです. 。欠点は、GUIが何か問題が発生したときに非難される最初のものでもあるということです。

第二に、フロントエンドを開発することは、バックエンドがこれまでよりもはるかに挑戦的でした(あいまい/複雑なアルゴリズムはさておき)。ガードレッスル(私たちのアプリはウェブ上にあります)、ブラウザは一貫して動作しません(JavaScriptライブラリはGodSendでした)などです。 (ASP.NET Webforms)と協力することと、すべての難しいものが将来的に問題にならないこと。

全体として、バックエンドの問題よりもUIの問題を解決するのがはるかに困難でした。

そんなの、そんなGUI開発のための二つの理由

  1. をしながら、論理的によりグラフィカルに芸術や私のUIは常に悩ました。
  2. UIとしてなに基づくロジック、ユニット試験は夜にな書く意味

の末日ただし、僕のコードにより評価され、エンドユーザーではなくて、しかもプロジェクト主催)が平凡な開発者であるィのUIとして一般的です。

(たぶん) @thelqの答えに少し拡張するには、「視聴者」にも依存すると思います。

プログラミングのバックグラウンドを持っていないいくつかの上位レベルのマネージャー/スーパーバイザーとの経験があります。プログラムしていないことを感謝していますが、クロムとハブキャップはエンジンとシャーシと同じくらい重要であることを理解しています。

また、UI Sizzle以外のメトリックを気にしない上位レベルのマネージャー/スーパーバイザーとの経験があります。より多くのUI志向の開発者が重要であると述べています。

IMHO、私たちは皆、あなたが糞を磨くことができないことを知っています、そして、速くて信頼性の高いがugいアプリは、見栄えが良く、機能するアプリよりもはるかに悪いです。それはすべて見る人の目にあり、ある程度、あなたはあなたと同じ資質を高く評価する人のために働くことによって、あなたが望む光の中で見られるべき力(あなたが何をするかに関係なく)を持っています。

編集:私は付け加えるかもしれませんが、下位レベルのアイテムでより快適に作業すると感じている人であるため、UIチームと同じくらい一生懸命働いているとき、私はうんざりしています。ただ働いた」。しかし、私が言ったように、私の監督者はすべての分野で作業が必要であることを知っていることを知っています。

UI開発者が「ジュニア」開発者であるという一般的な推定があると思います。 UIの男が上級と見なされた場所に出会った1つのケースしか考えられません。

とはいえ、UIはアプリの他のどの部分よりもはるかに難しいと思います。そして、私はUXデザインについて話しているのではなく、コーディングについて話している。数百ではないにしても、数十のシナリオや可能なシナリオを説明する必要がある場所で、他にいくつの領域をコーディングしますか?画面をサイズ変更するだけで、数十個の要素で何が起こる必要があるかを把握する必要がある場合、時々王室の痛みになることがあります。これは主に、「800x600をサポートする必要がある」というガイドラインがあり、HD Resolutions以外のものを使用しないUXデザイナーが表示されるときに発生します。

ですから、彼らがより多くの露出のためにより良い良さを得るなら、彼らはおそらくそれに値するでしょう。通常、彼らは良い受信側よりも頻繁に間違った受信側にいます。

GUIプログラマーがプログラマーチェーンの下部にいるという考えがしばしばあるようです。フォームにボタンをドラッグアンドドロップしてドラッグアンドドロップするのはどれほど難しいでしょうか?なに、それをプログラムするのに1週間かかりますか?いくつかのバーを描いています。ですから、GUIプログラマーがボタンドラッグであることが恐ろしいコードを書いているに違いないという考えを見て驚かない。

GUIプログラミングには、いくつかのユニークな課題があります。データがロードされている間にGUIをアクティブに保つためのマルチスレッド。これにより、安全で適切なコードがスレッドにつながります。パフォーマンスは非常に重要です。再びアプリケーションをコントロールするまで2分待つのが好きではありません。再利用性も大きな問題になります。同様の画面を10個書く必要がある場合は、コードを適切に構成する方が良いでしょう。これにより、コードが向上します。そしてもちろん、良いGUIを作成することはそれ自体が挑戦です。

しかし、一部の人々にとっては、ボタンをアプリにドラッグするだけです。一部の人々と同様に、ビジネスロジックは「メッセージを解析し、DBに入れた」に過ぎません。

彼らがそうすることは明らかだと思います。おそらく、一流の開発者は免除されていますが、他のほとんどはそうではありません。

マネージャーが先月、あなたがしたことを尋ねると、クールなGUIを見せることは簡単です。クールなAPIを表示するのは難しいです。とても厳しい。 APIのクールさは、実際の使用によってのみ明らかです - 一目で評価することはできません。

内部システムのあらゆる種類のハッカーとショートカットを逃れることができます。 GUIに対処するとき、あなたはその自由を持っていません。内部APIには矛盾がある可能性があり、修正が難しすぎるため、コーダーが対処することを期待しています。顧客に同じことをさせてもらうことはできません。したがって、ある意味では、ユーザーの可視コンポーネントに対処しなければならない人は、実際により高い基準に従う必要があります。

私はイエスと言うつもりです、1つの簡単な理由はiPhoneです。私がこれまでに話したことがある人は皆、滑らかなインターフェースのために素晴らしいと思っていますが、その下の作品がすべてを可能にすることしか想像できません。

それは聴衆に依存します。私は多くの金融アナリストと協力しており、彼らの優れたGUIデザインのアイデアは、1つのフォームにジャムできる限り多くの分野を持っているものです。真剣に、私は75-100について話している。彼らは常にもっと欲しいデータ中毒者だ。私は最近、ロードに45秒かかる可能性のあるいくつかのストアドプロシージャのパフォーマンスを改善しました(時間の開始以来、加重平均を計算します)。 30秒になりました。私はすごいと思っています、時間の3分の1をカットします。それは私の履歴書のラインアイテムでなければなりません。誰も気づかなかった。それに取り組み続け、15-20になりました。顕著な変更。みんなとても幸せでした。私はまだGUIが憎悪であり、この役に立たないがらくたを取り出した場合、2秒でロードされますが、15種類のマルチラインテキストボックスがある場合(最大文字設定ですべてのフォーミング機能があるものがわかっています。 。)、それは絶望的です。

したがって、ユーザーに本当にあなたを愛してもらいたいなら、最高のユーザーインターフェイスはまったくインターフェイスではないことを忘れないでください(誰がそれを言ったのか思い出したいと思います)。これらすべてのデータを見たいと思った後、私のアナリストは、それらがすべてのデータ入力を行うものであることに気付きました - 恐怖。

アプリケーションのUI部分のテストは悪夢です。

周りのすべての人は、アドバイスを提供したり、需要を設定したりする能力があると感じています。

システムが正常に動作した後、後で誰かが誤ってその美徳を思い出しても、誰が何をしたのか誰も覚えていないでしょう。

しかし、エラーが見られる場合(いくつかの 常に起こります)、有罪判決を受けた最初の人はGUIプログラマーです。ユーザーは他の人を見たことがありません!

ライセンス: CC-BY-SA帰属
所属していません softwareengineering.stackexchange
scroll top