创造更多的 web


我从来无意于成为 REST 或 HTTP 布道者。然而,我深信,web——互联网就建立其上——可能是继印刷术以来、影响最为深远的技术发展。这也是「web is broken」让我感到如此烦恼的原因。web...

写 CSS 时要避免的几个地方


声明:你可以不同意我在本文所写的一些观点,没有问题,我不是要代表你、代表你的公司或意识,因此请不要感到不安。继续保持你的看法即可。向那些理解演讲方法和辩证法的、绝大多数人致歉,因为本声明不适用于他们。

多文件

很多 web 开发貌似都和将任务分割为可管理的块或「组件」相关。对于每一个分离的 JavaScript...

编写傻瓜式的代码


在过去的几个月里,我研发了一种编写代码的方法。每当我写一个新函数、类或方法时,我就问自己:「这段代码足够傻瓜式吗?」如果不够傻瓜式,就说明没完事,我尽量使其傻瓜式一些。

但是,傻瓜式的代码不代表「无法运行的代码」。傻瓜式的代码应该完全按照预期的方式运行,不过,是以尽可能简单、直接、「傻瓜式的」方式。

任何人能编写它,阅读它的任何人都应该能够理解它。它不应该使阅读代码的人思考代码本身,而是思考手头的问题。不应该花太长时间,不应该太复杂,最重要的是,不应该尝试更聪明的方式。它应该能够搞定工作,仅此而已。

傻瓜式的代码是什么样子呢?这取决于它正试图解决的问题。拿元编程【注1】做例子,哪种语言经常被视作复杂和「具有妖术」。问自己「这段代码足够傻瓜式吗」就意味着「不允许元编程吗」吗?不一定,真的。在一些特定情况下,通过元编程就可以用最简单的方式解决某个问题。但是,也有很多情况是不需要元编程的,解决方案之上的额外包袱,有碍于理解代码本来的样子。

目标是甩掉包袱,削弱它,直到诞生出最傻瓜式、但可运行、测试通过的代码。

记住这里说的「傻瓜式」:「it...