- 论坛徽章:
- 1
|
1. API设计的特殊之处在哪里?
没有界面设计那么直观,好用不好用,容易不容易使用都需要经过检测或者时间来验证。
2. 如何评价API设计的好坏?
我理解需要3方面
1 是否符合逻辑思维
2 是否好用
3 是否容易使用
4 是否容易扩展
3. 总结一下自己设计API的一些经验。
结合我上面给的4点谈点浅显的经验吧
1 是否符合逻辑思维
某文档管理系统,需要带入
Add_Doc(DocID, DocType, Author_ID)等一系列参数,但是DocID是系统自动生成的唯一值,这样每次传入的参数都是未可知的,这种API设计就是反人类的
后来修改为
*DocID Add_Doc(this, DocType, Author_ID),每次带入的都是本次加入的文档,而且将生成的唯一ID作为返回参数。
2是否好用
搜索已知的文档
Search_Doc(DocID)这个是最基础的函数,但是每次带入都不方便
做多态
Search_Doc_ByTitle(this, Doc_Title)
Search_Doc_ByAuthor(this, Author_ID)
Search_Doc_ByType(this, DocType)
其实内部都是调用Search_Doc(DocID)
3是否容易使用
曾经见过一个高度复用的API,有3个参数,每个都可以互换的,结果简直成了Bug的温床
可以复用但是不能过度复用。
4 是否容易扩展
打个比方:A产品是基产品,B是A的衍生物,直接在A提供的API上面扩展。然后C又是B的衍生物,又在B的基础上衍生。
保持分层,每层keep simple and stupid,Unix的哲学思想得到应用。
以上.... |
评分
-
查看全部评分
|