我受够了充斥着类的用户界面代码——于是我继续前行(Juice 第四部分)

发布日期:2026-04-22 09:20:55   浏览量 :1
发布日期:2026-04-22 09:20:55  
1

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

在第一部分中,我谈到了那种挫败感。

在第二部分中,我指明了方向。

在第三部分中,我解释了向系统化转变的过程。

现在在第四部分中,我想谈谈最关键的部分:

规则。

因为用户界面系统的实用性不仅仅取决于其表现力。

它的实用性在于它能多好地避免陷入混乱。

系统不能是“随心所欲”的

这是许多系统都会陷入的陷阱。

它们赋予你很大的权力,却没有提供足够的结构。

因此,随着时间的推移,同一个想法会用五种不同的方式来实现。

<div padding="2rem" bgColor="blue-500" fontColor="white-100">
  内容
</div>
<div padding="32px" bgColor="blue-500" fontColor="white-100">
  内容
</div>
<div class="p-8 bg-blue-500 text-white">
  内容
</div>

语法不同,结果相同。

起初这看起来似乎无害,但随着时间的推移,它会导致偏差。

而偏差正是破坏系统的根源。

Juice 需要的不仅仅是属性

这是在构建 Juice 过程中我意识到的最重要的一点:

仅靠属性无法构成一个系统。
规则才能构成一个系统。

属性只是接口。

规则才是让接口变得可靠的因素。

如果没有规则,你会得到:

  • 命名偏差
  • 间距不一致
  • 重复的模式
  • 不可预测的组件
  • 奇怪的一次性标记决策

有了规则,你会得到:

  • 可重复性
  • 一致性
  • 更清晰的模板
  • 更强的默认设置
  • 更好的长期扩展性

这才是真正的区别。

规则 004:每个属性只关注单一职责

我为 Juice 编写的最重要的规则之一很简单:

每个属性只关注单一职责。

这意味着一个属性应该只做一件事。

不是三件事。
不是五件事。
而是一件事。

错误示例:

<div box="primary">
  内容
</div>

为什么这样不好?

因为 box="primary" 太模糊了。

它控制的是:

  • 背景颜色?
  • 内边距?
  • 边框?
  • 圆角?
  • 阴影?
  • 文字颜色?

可能涵盖了其中的好几项。

这意味着一个属性隐藏了多个职责。

一旦开始发生这种情况,系统就变得更难理解和推理。

更好示例:

<div padding=

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部