简单,是一种需要练习的能力
开始一个新项目时,我们总是很容易列出一长串功能。搜索、订阅、推荐、数据面板,每一项似乎都有道理。但把这些放在一起,未必就得到一个好用的产品。
我更愿意先问:打开这个页面的人,此刻最想完成什么?如果答案是读一篇文章,那么让文字清楚、页面安静、阅读顺畅,就是最重要的工作。
从最小的路径开始
做减法并不是随便删掉东西,而是整理优先级。最近的一次练习里,我给自己设了三个约束:
- 首次打开,就能看懂这个页面有什么。
- 最重要的动作,不需要先读使用说明。
- 每一个新增功能,都要能说清它解决了什么问题。
这些约束让许多决定变得容易。与其先做复杂的内容推荐,不如先把标题和摘要写好;与其塞进更多入口,不如先确认导航能够带人去对的地方。
简单的界面背后,可以有复杂的思考。但使用它的人,不需要承担这些复杂。
代码也需要留白
这套思路同样适用于写代码。一个函数只承担清楚的职责,一个模块有明确的边界,通常比提前设计一套庞大的抽象更容易维护。
const visiblePosts = posts.filter(post =>
selectedTag === null || post.tags.includes(selectedTag)
);
这段代码没有特别高明的技巧,但读起来足够直接。它让我记起,代码首先是写给下一个阅读它的人看的,而那个人往往就是未来的自己。
少一点,但认真一点
我还在练习克制。遇到一个新想法时,先把它记下来,不急着加入项目。等真实的使用过程给出反馈,再决定它是否值得存在。
好的产品是在一次次选择中长出来的。也许今天最有价值的进步,就是让一件原本绕远路的事情,终于变得直接。