设计哲学
Dora Pocket
不仅仅是一系列工具函数的集合,它是一套建立在深刻、有时甚至是固执的工程哲学之上的解决方案。理解这些哲学,将帮助你更好地理解我们每一个 API 设计背后的“为什么”。
我们的四大支柱
我们所有的决策,都建立在以下四个不可动摇的支柱之上:
1. 纯函数式是唯一的范式
我们坚信,纯函数是构建可预测、可测试、可维护软件的基石。
- 无副作用: 我们的函数永远不会改变你传入的参数。
- 引用透明: 只要输入相同,输出就永远相同。
- 极致的 Tree-shaking: 我们的 API 设计,无论是
@esdora/kit
的独立函数,还是@esdora/date
对date-fns
的封装,都将 Tree-shaking 作为最高优先级,确保你的最终产物体积最小。
2. 性能与科学性,从不妥协
我们拒绝重复发明已经被社区完美解决的轮子,特别是那些需要深厚领域知识的轮子。我们的职责,是为你进行最严格的调研、最苛刻的性能测试,然后选择那个无可争议的最佳引擎,并为你封装好。
- 零依赖核心: 对于
@esdora/kit
,我们坚持零依赖,以保证极致的轻量和稳定。 - 拥抱最佳引擎:
- 对于
@esdora/color
,我们最终选择了业界性能最高、最科学的culori
,因为它在色彩科学的精确性和未来兼容性上无懈可击。 - 对于
@esdora/date
,我们选择了业界 Tree-shaking 最优秀、API 最纯粹的date-fns
,因为它与我们整个生态的纯函数式哲学完全同构。
- 对于
- 我们为你做好研究,你只需享受成果。
3. 质量不是一个目标,而是一种法律
我们认为,代码质量是可以通过自动化和严格的规范来保证的,而不是一个模糊的目标。
- 100% 测试覆盖率: 这是我们不容妥协的底线。它迫使我们编写 100% 可测试的、有意义的代码,并根除所有冗余和死代码。
- 测试即规范: 我们的所有单元测试,都遵循行为驱动的格式,用于验证函数的规范,而不是确认其实现。我们从根本上杜绝了“为了测试而测试”的行为。
4. 开发者体验 (DX) 是我们的最终信仰
一个工具,如果不好用,那它再强大也毫无意义。我们痴迷于打磨每一个能让开发者更快乐、更高效的细节。
- API 的同理心: 我们的 API 是“宽容的”,它会智能地处理开发者的常见习惯(例如
rgb({r: 255})
或addDays('2023-10-27', 7)
)。我们的错误处理,旨在帮助你调试,而不是让你的程序崩溃。 - 清晰的沟通: 我们坚持使用函数重载,来为你的 IDE 提供最清晰的智能提示。我们坚持为每一个 API 编写详尽的中文 TSDoc,因为我们相信,好的文档和好的代码一样重要。
我们相信,正是对这些原则的坚持,才让 Dora Pocket
成为你下一个项目中,那个真正值得信赖的“四次元口袋”。