Skip to content

设计哲学

Dora Pocket 不仅仅是一系列工具函数的集合,它是一套建立在深刻、有时甚至是固执的工程哲学之上的解决方案。理解这些哲学,将帮助你更好地理解我们每一个 API 设计背后的“为什么”。

我们的四大支柱

我们所有的决策,都建立在以下四个不可动摇的支柱之上:

1. 纯函数式是唯一的范式

我们坚信,纯函数是构建可预测、可测试、可维护软件的基石。

  • 无副作用: 我们的函数永远不会改变你传入的参数。
  • 引用透明: 只要输入相同,输出就永远相同。
  • 极致的 Tree-shaking: 我们的 API 设计,无论是 @esdora/kit 的独立函数,还是 @esdora/datedate-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 成为你下一个项目中,那个真正值得信赖的“四次元口袋”。

基于 MIT 许可证发布