精确点说, 目前是C的API。
想问问大家有什么推荐的API学习的书吗? 最好是C语言的。
我觉得API设计是一门艺术, 很想学习怎么去设计一个简单好用的API, 学习怎么处理一些具体问题:
例如是调用者保证输入正确还是被调用者保证输入正确; 检测到输入错误是该报错后终止还是报错后返回函数等等。
1
herozem OP 突然想到KISS原则。 不知道算不算。 但是我想还需要更具体的一些指导。
|
2
airyland 2015-05-05 12:43:13 +08:00
看下这些原则有没有用: https://github.com/bolasblack/http-api-guide
|
3
herozem OP |
4
c742435 2015-05-05 13:12:38 +08:00
应该是你的api保证输入正确。这样输入错误的话,你的api能够检查出来给予反馈,而不是作出奇怪的行为或者额崩溃。
检测到输入错误时,根据错误类型: 如果是api用法错误或其他debug期间就应该能检查出来的错误,应该直接终止。如果是可预期的运行时错误,而错误判断本身比较复杂的,可以将错误返回。 |
5
c742435 2015-05-05 13:16:40 +08:00
其实api设计就是干净利落用着舒服就行了。
前段时间接过一些统计api啊推送api啊什么的,设计的也不过如此,而且经常变来变去。 |
6
c742435 2015-05-05 13:17:01 +08:00
还有支付api
|
8
jadecoder 2015-05-05 14:30:15 +08:00
Google一个工程师写的 《How to Design a Good API and Why it Matters》
http://lcsd05.cs.tamu.edu/slides/keynote.pdf |
9
fundon 2015-05-05 16:11:45 +08:00
|
11
stiekel 2015-05-05 16:32:32 +08:00
《C语言接口与实现:创建可重用软件的技术》这书明显不是讲API的。如果你要的是这书中所说的接口,那你的目标就不是API。
|
13
zhczhy 2015-05-05 17:49:16 +08:00
可以看一下Qt官方的http://qt-project.org/wiki/API-Design-Principles,另外《代码大全》上也有一些关于防御式编程、变量命名等与API设计相关的内容。
> 例如是调用者保证输入正确还是被调用者保证输入正确,可以看一下strcpy的实现。 |