Overreacted

应变而优

2018 M12 12 • ☕️ 1 min read

什么造就了一个优秀的 API ?

优秀 的 API 设计是既好记又明确的。它能促进代码的可读性、准确性和高效性,也能帮助开发者进入成功之坑

我称这些设计层面为「第一级」,因为这些是一个库开发者需要关注的首要事项。你可能需要在它们中的某些上做妥协和权衡,但至少这些都是你的考虑点。

然而,除非你要将一个漫游者发往火星,不然你的代码很有可能随着时间而改变。同样,你 API 使用者的代码也是如此。

我所知道的最好的API设计者们不会停留于这些「第一级」层面,比如可读性。他们将尽可能多的努力花在那些我称为「第二级」的 API 设计层面上:使用此 API 的代码如何随时间的推移而发展。

微小的需求变化可以使最优雅的代码支离破碎。

优秀 的 API 对这一点是有预期的。它们预料到你可能想移动一些代码、复制粘贴一部分、重命名、将一些特殊例子整合成一个通用且可复用的辅助函数、将一个抽象解构成一些具体实例、加一个 hack、优化一个瓶颈、抛弃一部分代码重写、犯了一个错误、在起因和结果间游走、修复一个 bug、审阅一个代码修复。

优秀的 API 不仅仅让你进入成功之坑里,而且能帮你 驻留 在那里。

它们应变而优。