Atitit api design Usability simple 易用性之简单化设计 目录 1. 理论原则 2 1.1. 概念简单 2 1.2. 切换到了“write less, do more

Atitit api design Usability simple 易用性之简单化设计

 

目录

1. 理论原则 2

1.1. 概念简单 2

1.2. 切换到了"write less, do more"模式 2

1.3. 归一化(锤子钉子理论) 2

1.3.1. 打破接口单一职责的原则,多用途api 3

1.4. 1. 好API的6个特质 极简(minimal 语义清晰简单(have clear and simple semantics)、符合直觉(be intuitive)、易于记忆(be easy to memorize)和引导API使用者写出可读代码(lead to readable code 3

2. 范例 3

2.1. Php win jq 3

2.2. Linux every thins is file api 3

2.3. Jq $ multi override 3

3. Api设计的简单规则 3

3.1. 多功能 重载 3

3.2. 层次简单 4

3.3. 支持批量的操作数组中的元素,也叫隐式迭代 4

3.4. 支持链式操作,可以在一条语句中完成很复杂的逻辑 4

3.5. 代码量少短小精悍 4

3.6. 1.3. 参数接收 JSON 对象 2命名参数 4

3.7. 细粒度api + 粗粒度快捷api +高级api三层 4

3.8. 2. 具体 2 4

3.9. 2.1. 语言简单性 弱类型  动态变量  动态实体 2 4

3.10. 2.2. 数据结构简单 arr 代替了array map set 2 4

4. 技术选型简单化 5

4.1. 语言简单化 php python js 5

4.2. 数据结构存储简单化 5

4.3. 类库简单化 5

4.4. 简单化委员会人员组织架构 5

4.5. 简单化制度原则 5

5. 语言简单化 5

5.1. Dsl h5 5

5.2. 业务逻辑 php python js 5

5.3. sql 5

6. 类库工具简单化 5

6.1. Mysql 代替redis es等 5

6.2. Spring jdbc 5

7. 架构简单化 6

7.1. 数据结构简单 6

7.2. 并发简单化 6

7.3. 8. 面向过程 pop vs oop 3 6

7.4. 2.9. 同步模式 vs 异步 3 6

7.5. 2.10. 资源释放一次性 不常驻内存  vs 常驻类 4 6

7.6. 2.11. 然支持热部署 4 6

8. Ref 6

 

 

 

  1. 理论原则
    1. 概念简单

根本不需要去了解真正的 Array 和 List 有什么区别,也不需要去管数据流、缓冲区,也不用管多线程并发编程,从长期来看,这一点是致命的,它使得 PHP 生态中的重要一环很脆弱,很可能是导致 PHP 最终衰落的真正因素。

 

    1. 切换到了"write less, do more"模式

,jQuery正是通过一个字符一个字符地节约程序员的工作量来达到这一伟大目标的。

压缩后仍达97k的jQuery竟然帮助我们少写了这么多代码,好神奇啊啊啊!这正是库/框架设计的要点,那就是"没有问题创造问题也要解决问题!"

 

据我所知,就图书馆的预期哲学而言,改进是"多做少写"之类的。我认为他们做得很好。您可以编写一些非常简洁而富有表现力的代码,以完成大量工作。

    1. 归一化(锤子钉子理论)
      1. 打破接口单一职责的原则,多用途api
    2. 1. 好API的6个特质 极简(minimal 语义清晰简单(have clear and simple semantics)、符合直觉(be intuitive)、易于记忆(be easy to memorize)和引导API使用者写出可读代码(lead to readable code

API之于程序员就如同图形界面之于普通用户(end-user)。API中的『P』实际上指的是『程序员』(Programmer),而不是『程序』(Program),强调的是API是给程序员使用的这一事实。

在第13期Qt季刊,Matthias 的关于API设计的文章中提出了观点:API应该极简(minimal)且完备(complete)、语义清晰简单(have clear and simple semantics)、符合直觉(be intuitive)、易于记忆(be easy to memorize)和引导API使用者写出可读代码(lead to readable code)。

 

  1. 范例
    1. Php win jq
    2. Linux every thins is file api
    3. Jq $ multi override
  2. Api设计的简单规则
    1. 多功能 重载

取值赋值统一化

链式操作

    1. 层次简单
    2. 支持批量的操作数组中的元素,也叫隐式迭代
    3. 支持链式操作,可以在一条语句中完成很复杂的逻辑

 

 

    1. 代码量少短小精悍

 

    1. 1.3. 参数接收 JSON 对象 2命名参数
    2. 细粒度api + 粗粒度快捷api +高级api三层
    3. 2. 具体 2
    4. 2.1. 语言简单性 弱类型  动态变量  动态实体 2
    5. 2.2. 数据结构简单 arr 代替了array map set 2

2.3. 免编译 热部署 2

2.4. Api简单性  内部dsl相对于 3

2.5. 最常见的操作都有优化的简短api 3

2.6. 单线程 稳定健壮可靠 vs 并发 3

2.7. Sql vs orm 3

2.8. 面向过程 pop vs oop 3

2.9. 同步模式 vs 异步 3

2.10. 资源释放一次性 不常驻内存  vs 常驻类 4

2.11. 然支持热部署 4

2.12. 实现了高度的封装,让开发人员专心面对业务 4

2.13. 业务逻辑文本预处理器 4

2.14. Win vs linux 4

 

  1. 技术选型简单化
    1. 语言简单化 php python js
    2. 数据结构存储简单

Mysql 代替redis es等

    1. 类库简单化
    2. 简单化委员会人员组织架构
    3. 简单化制度原则
  1. 语言简单化
    1. Dsl h5
    2. 业务逻辑 php python js
    3. sql  
  2. 类库工具简单化
    1. Mysql 代替redis es等
    2. Spring jdbc
  3. 架构简单化  
    1. 数据结构简单
    2. 并发简单化
    3. 8. 面向过程 pop vs oop 3
    4. 2.9. 同步模式 vs 异步 3
    5. 2.10. 资源释放一次性 不常驻内存  vs 常驻类 4
    6. 2.11. 然支持热部署 4

 

  1. Ref

ATITIT提升效率  U易用性简单性优化 简化 提升  FURPS的  方法总结

Atitit lib api design 原则 类库设计原则

 

 

posted @ 2020-08-11 12:14  attilaxAti  阅读(35)  评论(0编辑  收藏  举报