生活简单到无聊
简单性是网站设计和开发中的一个有趣形容词。 我确信这是几乎所有已完成项目的引用目标。 没有人会参加开球会议,例如:“嘿,团队,为我设计一些复杂的事情。 哦,并确保实现也是复杂的。 对那个傻瓜过度设计,是吗?
当然,他们想要简单。 每个人都想简单。 我们需要简单的设计,因为简单意味着我们的客户会理解并喜欢它。 我们希望开发简单。 没有人梦想着花一整天的时间将头缠在一个复杂的系统上,以解决一个错误。
尽管如此,关于简单性仍有很多要讨论的话题。 多年来,很难说Web开发变得越来越简单。 因此,这个词最近在许多Web设计师和开发人员的口中流传。 让我们在其他人对简单性的评价中漫步华尔兹。
布里奇特·斯图尔特(Bridget Stewart)在“一个更简单的网站:我同意”中回顾了一场反对过度工程的令人沮丧的战斗。 在被聘为UI实施专家并承担了使视频单击即可播放的任务之后……
我在幕后看了下来,迷失在所有循环函数和变量中,无法弄清楚代码应该做什么。 我找不到任何被引用HTML
<video>
。 我看不到可能在哪里生成链接或按钮。 我迷路了。我请他解释一下这些功能在做什么,这样我就可以找出原因,因为浏览器可以播放视频而没有太多的刺激。 他没有成功地让我了解他的建造物,而是与我争论是否有可能这样做。 起初,我试图从容地向他解释,在上一份工作之前,我已经做过很多次了,因此,我绝对可以做到。 当他继续拒绝我的解释时,事情变得很热烈。 当我对他大吼大叫时(我知道这不是最专业的举止),我回到工作区并解雇了一个仓库来实施。 20分钟后,我开始工作了。
听起来这里的主要问题是该家伙是一个领地,但他的复杂方法字面上阻碍了工作的完成。
网络上的简单性通常意味着让浏览器为我们做事。 您有多少次看到选择菜单的复杂重新设计不如<select>
那样有用或无法访问?
杰里米·瓦格纳(Jeremy Wagner)在《让它无聊》中写道:
我的猜测是静态站点生成器的兴起,而站点却找到了一种方法来获取尽可能多的服务器渲染,这是业界对这种弹性品牌的渴望。
如他们所说,少做。 Lyza Danger Gardner在自己的工作中发现了很多价值 :
……在构建未来的网络时,我们需要尽量减少操作。
这不是懒惰或逃避责任的合理化—可以说,这些特征不是成功的Web开发人员所能发现的。 也不建议我们构建平淡无奇的同类网站和应用程序,以牺牲所有细微差别或为整体兼容性带来更多好处。
相反,它是对简单性和优雅的一种呼吁:将通用性放在首位,谨慎地进行区分,并主张在Web标准的创建和应用中保持一致。
Christopher T. Miller在“更简单的网络”中写道:
我们是否应该找到更简单,更易用的方式?
我想我们可以。 通过简化我们的网站,我们可以实现更广泛的覆盖范围,更好的性能以及更可靠的信息传递,这是任何网站的核心。 我认为我们在围绕用户体验的热情对话中看到了这一点,但UX团队不能停止这一点。 开发人员需要为他们添加到Web的复杂性承担所有权。
谨记,我们选择加入构建网站的复杂性。 我们经常这样做是有充分理由的,但是有可能不这样做。 加勒特·戴蒙 ( Garrett Dimon) :
您现在可以仅使用前端的语义HTML来构建健壮,可靠且完全响应的Web应用程序。 没有图像。 没有CSS。 没有JavaScript。 这是完全可能的。 它将在所有现代浏览器中运行。 维护起来很简单。 就网络体验而言,它可能不符合美的标准定义,但它可以工作。 在许多情况下,与使用现代前端框架构建的框架相比,它将更加有用和易于访问。
这并不是说这是最好的方法,但它很好地提醒您,默认情况下,网络在没有我们所有其他层的情况下都可以运行。 当我们添加这些额外的层时,事情就破裂了。 或者,如果我们一开始就忽略了良好的标记和CSS,那么我们将从已经损坏的东西开始,然后花时间尝试使其重新工作。
我们假设复杂的问题总是需要复杂的解决方案。 我们试图通过发明解决问题的工具和技术来解决复杂性; 但是在此过程中,我们创建了另一层复杂性,进而导致了一系列问题。
— MaxBöck, “论简单性”
选择复杂解决方案的最糟糕的原因也许是它是新的,而新颖性让您感觉就像选择它使您在技术之上,并且做得很好。 老而无聊可能正是您做好工作所需要的。
丹·麦金莱写道 :
“无聊”不应与“坏”混为一谈。 那里有既无聊又不好的技术。 您不应该使用任何这些。 但是,有很多无聊而又好,或者至少足够好的技术选择。 MySQL很无聊。 Postgres很无聊。 PHP很无聊。 Python很无聊。 Memcached很无聊。 鱿鱼很无聊。 Cron很无聊。
关于无聊(如此受限制)的好处是,这些东西的功能得到了很好的理解。 但更重要的是,它们的故障模式已广为人知。
雷切尔·安德鲁( Rachel Andrew) 写道,为她所建立的CMS 选择成熟的技术很容易,因为这就是她的客户所拥有的 。
您将很少听到有关陈旧而无聊的技术的信息。 如果您正在饮食健康的科技新闻饮食,那么您可能不会读到很多有关陈旧而无聊的技术的博客文章。 真的太糟糕了,我一个人会喜欢的。 但是我明白了,出版物需要重新写作,而作家对于几十年来一直流行的话题则不那么兴奋。
正如大卫·德桑德罗(David DeSandro)所说, “新技术变得gets不休” 。 当无话可说时,您只是不说。
您没有听说过TextMate,因为TextMate很旧。 我会发什么推文? 仍在使用TextMate。 还好。
当我们听到更多有关新技术的信息时,更是众所周知的是旧技术,包括它的缺点。 如果因为解决了已知的痛点而需要更新的技术,也许是更复杂的技术,那很好,但是当它不能解决时……
您完全可以坚持自己的工作。 您使用的东西越多,其痛苦点就越清楚。 准备解决这些痛点时,请尝试新技术。 不要因为chat不休而改变自己的工作流程。 新技术gets不休,但这并没有使它变得更好。
亚当·西尔弗(Adam Silver)说, 一个无聊的开发人员充满了问题 :
“调试代码会更困难吗?”,“性能会降低吗?” 和“我会因为编译时间而放慢速度吗?”
Dan Kim也为无聊感到自豪 :
我要坦白-我不是摇滚明星程序员。 我也不是黑客。 我不知道忍术。 从来没有人称我为巫师。
尽管如此,我还是以我是一个优秀,扎实的程序员而感到自豪。
复杂性不是敌人。 复杂性很有价值。 如果我们所做的工作没有复杂性,那么它的价值将大大降低,因为没有什么会减慢竞争的速度。 我们的工作是复杂性。 或者更确切地说,我们的工作是管理复杂性的级别,因此它既有价值又可管理。
Santi Metz的一篇出色的文章深入探讨了此方面的各个方面,其中一部分是考虑需要更改多少复杂的代码:
我们讨厌复杂性,但是如果代码永不更改,则不会浪费我们的钱。
您的CMS可能非常复杂,但是如果您从未碰过它,那么谁在乎。 但是,如果CMS限制了您的工作能力,并且花费了大量时间与之抗争,那么复杂性就变得非常重要。
阅读Sandi的分析感到很满意,它可以预测代码在哪里中断,而这些点是由复杂性定义的。 甚至在没有看到代码库的情况下,也可以识别出“异常类”(代码库中引起最多问题的部分):
我对这些应用程序的源代码不熟悉,但看不见的视线使我有信心对外围课程做出一些预测。 我怀疑他们:
- 比大多数其他类别都大,
- 有条件的,并且
- 代表领域的核心概念
我感觉到了
![](https://i-blog.csdnimg.cn/blog_migrate/ff0ed52a339a172a0e041a7c346088d0.jpeg)
Cap Watkins在“无聊的设计师”中写道:
无聊的设计师受到信任和重视,因为人们知道他们对产品和用户都感兴趣。 无聊的设计师会提出问题,并依靠他人的经验和专业知识,随着时间的推移会赢得更多信任。 他们很少以为自己知道答案。
无聊的设计师有能力成为团队中最好的领导者之一。
太好了。 无聊
生活简单到无聊