关于API 设计

关于API 设计
怎样才是好的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->()  )  );

你可能感兴趣的:(关于API 设计)