API 设计

Tags
javascriptcode
Created
Feb 17, 2017 3:22 AM
  • 达标:词法和语法
    • 正确拼写
    • 准确用词 // 方法命名用动词、属性命名用名词、布尔值类型用形容词(或等价的表语
    • 注意单复数
    • 不要搞错词性
    • 处理缩写
    • 用对时态和语态
  • 进阶:语义和可用性
    • 单一职责
    • 避免副作用
    • 合理设计函数参数
    • 合理运用函数重载
    • 使返回值可预期
    • 固化术语表
    • 遵循一致的 API 风格
  • 卓越:系统性和大局观
    • 版本控制 // <major>.<minor>.<patch>
    • 确保向下兼容 // document.hidden
    • 设计扩展机制
    • 控制 API 的抽象级别
    • 收敛 API 集 // 保证集合内的 API 都在一致的抽象维度上
      • 收敛近似意义的参数和局部变量
      • 收敛近似职责的函数
      • 收敛近似功能的包
    • 发散 API 集
    • 制定 API 的支持策略

大道至简。程序开发和平时的说话写字其实没有太大区别,无非三者 ——

  1. 逻辑和抽象。
  2. 领域知识。
  3. 语感。

API 设计的经典原则:

Think about future, design with flexibility, but only implement for production.

SuperMade with Super