管理人员和客户很容易欣赏他们可以看到的东西。

我已经看到许多GUI开发人员是普通程序员,对设计原理或其他编程成语的了解最少。但是,如果程序员可以创建令人印象深刻的用户界面,则这些缺点通常不会引起人们的注意,特别是管理层和客户。如此之多,以至于我认识的许多GUI开发人员花了几个小时来美化GUI,而牺牲了编写不良,无与伦比的代码。

另一方面,开发API或业务功能或数据库代码(SQLS等)的中层程序员处于不利地位,因为没有什么明显的展示。也许代码审阅者或建筑师可能会欣赏代码的优雅,良好的设计,可扩展性等,但对外界没有意义。您的代码可能会在不破裂的情况下运行多年,可能非常容易维护并且具有良好的性能,但它永远不会引起看起来像光滑的GUI的“哇”。

在我看来,这是一种推论(我知道,我知道这一点都将受到重大投资),GUI程序员编写良好的清洁代码的动力较小。

编辑: :我必须在这里解释说,GUI程序员并不是说一个成熟的Web/GUI设计师,而是前端程序员,例如Java-Swing程序员。

社区其他成员是否同意?

有帮助吗?

解决方案

我想我明白了你的意思,但我怀疑还有一个相反的问题要考虑。

从本质上讲,我相信您建议,因为UI是最终用户“面对”应用程序的要素,因此,UI开发人员比在应用程序更深层次的团队成员中享有更高的可见性。

当然,我同意可能会有更高的知名度。例如,从事UI元素的开发人员可能会更频繁地与最终用户进行交互(可以说是有充分的理由,因为他们确实专注于人/计算机交互方面)。

但是,我认为即使存在问题的情况,更高的知名度也会发挥作用。例如,最终用户很可能即使没有将问题报告为“ GUI问题”。

这可能全都归结为感知,成熟的组织应该能够独立地识别各个团队成员的价值观,美德和弱点,从他们使用的应用程序的哪一层。一个成熟的组织也可能已经超越了诸如“ UI开发人员”和“业务层开发人员”之类的区别,认识到他们都是团队成员,也许具有不同的专业知识,但总是试图在这些专业领域相互教育。

其他提示

对于一个不与程序员打交道的人,我可以自信地说他们会相信这种事情。他们不知道背景中所做的工作数量,他们所看到的只是一堆按钮/文本框/菜单/[插入GUI元素]以及完成按钮启动所需的速度。因此,最初,GUI人更加喜欢。

如果那个人 与程序员打交道,然后有所不同。正如您所说,他们会注意到您是否可以扩展,更易于维护,重写算法,使其更有意义,或者任何其他维护类型的任务更有意义。这种人将同样看所有程序员。

在中间,这取决于您的工作。速度然后成为这里的重要因素。如果您可以在录制之前和之后显示处理和存储表单需要多长时间并有所改进,那么您是平等的。如果您可以在100个客户端的负载下显示该应用程序,并向他们展示服务器熔化,然后向他们展示您的版本,而一切都很好,则您相等。等等。


简而言之,这取决于您的工作和您的工作。

作为我公司的“ UI专家”(负责所有UI开发的人,不仅是设计),我认为您可能会缺少故事的某些部分。当我是负责UI的人时,我还在后端,数据库等上工作。 [C#和ASP.NET WebForms开发

首先,是的,对于非技术人员来说,欣赏GUI开发人员的作品要容易得多,因为那是人们面对的。对于非技术人员, GUI是申请. 。缺点是,当出现问题时,GUI也是第一个被指责的人。

其次,对我来说,发展前端比后端更具挑战性(除了晦涩/复杂的算法)。还有很多要防止的事情,它是无状态的(我们的应用程序在网上),浏览器的行为并不始终如一(JavaScript库是天哪)等。我希望这种复杂性大部分是由于我拥有的框架与(ASP.NET WebForms)一起工作,并且所有困难的东西将来都不会成为问题。

总体而言,我在解决UI问题方面的难度比后端问题要困难得多。

我讨厌GUI开发有两个原因,

  1. 我比图形艺术更合乎逻辑,因此我的UI总是遭受痛苦。
  2. 由于UI不是基于逻辑的,因此单位测试在不可能写入任何含义的情况下差不多

然而,归根结底,我认为最终用户(与项目赞助商相反,可能是对立的),我的代码将比在UI上是WHIZ的平庸开发人员更好,因为它通常可以正常工作。

(也许)在 @Thelq的答案上进行一些扩展,我认为这也取决于“观众”。

我与一些没有编程背景的高层管理人员/主管有一些经验。有些人认为他们没有编程,但了解镀铬和轮毂盖与引擎和底盘一样重要。

而且,我有一些高层管理人员/主管的经验,这些经理/主管不在乎UI Sizzle以外的任何指标。甚至指出重要的是以UI为导向的开发人员。

恕我直言,我们都知道,您不能抛光粪便,快速,可靠但丑陋的应用程序将比看起来不错且功能良好的应用程序要差得多。这一切都在情人眼中,在一定程度上,您可以通过为那些欣赏与您相同品质的人工作,从而从您想要的角度看待(无论您做什么)。

编辑:我可能会补充说,作为一个更愿意从事低级物品工作的人,当您与UI团队一样努力时,我一直感到疲倦,而这是演示中受到称赞的抛光,而不是系统的事实”刚刚起作用”。但是就像我说的那样,我知道我的主管知道所有领域都需要工作。

我认为那里有一个普遍的假设,即UI开发人员是“初级”开发人员。我只能想到一个案例,我遇到了一个UI人被认为是高级人士的地方。

就是说,我认为UI比我们应用程序的任何其他部分都难得多。而且我不是在谈论UX设计,而是在谈论编码。我们在必须考虑数十个(如果不是数百或可能的情况)的地方编写多少其他领域?当您需要弄清楚几个十二个元素需要发生什么时,只要调整屏幕大小,有时会变成皇家痛苦。当您有“我们需要支持800x600”的准则,然后是UX设计人员,除了HD分辨率以外的任何其他方法时,这主要是出现的。

因此,如果他们因更多的曝光而获得更多的好处,他们可能应该得到它。通常,它们的接收端与良好的接收端更频繁。

GUI程序员在程序员链的底部似乎经常有想法。将vs中的按钮拖动到表单有多难?什么,您需要一个星期的时间来编程?它正在画一些条。因此,看到GUI程序员成为按钮拖动的想法也必须编写可怕的代码,我并不感到惊讶。

GUI编程确实有一些独特的挑战。多线程以使GUI在数据加载时保持活动状态。这导致线程安全和正确的代码。性能非常重要。没有人喜欢等待两分钟,直到他们再次控制应用程序。可重复使用也成为一个大问题。如果您必须编写十个类似的屏幕,则可以更好地构建代码。这导致更好的代码。当然,创建良好的GUI本身就是一个挑战。

但是对于某些人来说,它将仅将按钮拖动到您的应用程序。就像某些人一样,业务逻辑不过是“解析消息并将其放在数据库中”。

我认为他们这样做很明显。也许一流的开发室是豁免的,但大多数其他人都不是。

当您的经理问您在上个月做什么时,很容易展示酷的GUI。很难显示一个很酷的API。很难。 API凉爽仅通过实际使用才能显而易见 - 一眼就无法理解。

您可以摆脱内部系统中各种黑客和快捷方式。在与GUI打交道时,您没有这种自由。您的内部API可能存在不一致的情况,您只是希望编码人员能够处理它,因为它难以修复。您不能尝试并让客户做同样的事情。因此,从某种意义上说,必须与用户可见组件打交道的人实际上必须遵循更高的标准。

我要说的是,出于一个简单的原因:iPhone。我曾经与之交谈过的每个人都认为这很棒,因为界面光滑,但我只能想象下面的工作使一切成为可能。

这取决于听众。我与许多财务分析师合作,他们对GUI设计的想法是拥有尽可能多的领域,您可能会挤入一种形式。认真地说,我说的是75-100。他们是数据迷,他们总是想要更多。我最近改善了一些存储过程的性能,这些过程可能需要45秒才能加载(从时间开始开始计算加权平均值)。将其降低到30秒;我在想哇,有三分之一的时间;它应该是我的简历上的订单项。没有人注意到。一直在努力并将其达到15-20。明显的变化。每个人都很高兴。我仍然认为GUI是可憎的,如果我们拿出这个无用的废话,它将在2秒内加载,但是当有15个不同的多行文本框时(您知道具有所有具有最大字符设置的表格功能的文本框。),这是绝望的。

因此,如果您希望用户真正爱您,请记住,最好的用户界面根本不是界面(希望我记得谁这么说)。在想查看所有这些数据之后,我的分析师意识到他们是完成所有数据输入的人 - 恐怖。

测试应用程序的UI部分是一场噩梦。

周围的每个人都有能力提供建议或设定要求您应该如何做。

在系统运行正常之后,即使有人可能不小心回想起他的美德,也没有人会记住谁做了什么。

但是,如果会看到任何错误(一些 总是发生),第一个被定罪的人将是GUI程序员,用户根本从未见过其他人!

许可以下: CC-BY-SA归因
scroll top