银色月光下

漫漫长夜

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 7 Stories :: 0 Comments :: 0 Trackbacks

常用链接

留言簿(12)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

怎样才是好的API设计,让我们先来想想什么是糟糕的API,

糟糕的API有很多你不理解的参数
糟糕的API设计让你维护很多状态

第一种情况,查各种参数意义,并需要例子参考之,这些例子作为你使用的模板,
第二种情况,你call 一个个api的流程,你写很多状态处理,大多数情况大同小异,也作为模板,

模板就是在体现在代码里的一些选项参数,结构参数,所以能被进一步抽象,

我们不是有了 interface, function,那么就在API的设计体现出这种模式化,
比如说 IO的C的API,
open/close, read/write, iostate, 
你容易忘记在某个异常里close, 你可能在某个状态时没有调用对API,read mode下call write, 在IO关闭后继续读写,还有考虑,读异常,写异常发生时,你要做的事情

那么如下设计是否更加结构化了呢
withfile_read(fn, option, reader:(Either String Ex)->()  );
withfile_write(fn, option, writer: ()->(String,  Ex->()  )  );
posted on 2013-07-28 01:04 lichking 阅读(217) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理