
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
编写接口在一个中大型系统中十分常见。当然,本文所说的接口,并非interfere,而是对第三方的对接口或者提供公共的供他人使用的方法。
1. 接口尽量标准化,类型最好只使用int、string和数组
一个合理的接口不能针对于某个语言,当然,这个主要是相对于一个对外的接口,如果都是同一种语言调用,就不需要对接口做严格要求。如果是一个对外的接口,我们不能保证调用我们接口的程序语言是用什么,所以,在编写的时候就不可以走个性化,用上许多其他程序没有的类/类型。比如我们有个接口需要实现接收一个时间,在C#中有时间类型DateTime,但是在c/c++中就没有这样的类型存在,而且也无法保证DateTime就可以和其他编程语言的时间想兼容,所以这个接口如果写成int fun(DateTime date);就太局限了,我们应该将这个date定义成string类型,接收后再通过程序转化成DateTime类型。
2. 接口要有良好的容错能力
一个接口,对错误的处理方式也很重要,继续拿时间参数的接口来做例子:int fun(string date);如果这个函数体我们这么写:DateTime d = Convert.ToDateTime(date); 这样只要是满足DateTime类型格式的字符串都可以被成功的转化成DateTime类型,但是如果不是合法的日期类型,这句话将报错,程序抛出异常,在不同语言中将可能出现不同的提示,这样对调用方的调试带来很多不变。那好,修改下代码:
try
{
DateTime d = Convert.ToDateTime(date);
}
catch
{
//异常处理
}
这么写,当字符串转化为时间失败后,异常会被捕获,而调用方由于不知道什么原因导致失败,也不是合适的处理方法。那么,如何处理才稳妥呢,别急,请继续往下看。
3. 接口应该需要有一个返回值
每一个接口最好都要有一个返回值,有些朋友就会说了,我就做一些简单的处理,没必要返回什么内容啊。其实,返回值是一个给调用方传递信息的方法。就比如系统的API,所有的API函数都有一个返回值,而且成功永远都是返回0,其他视情况返回非零值。然后最好在给出一个返回值信息对照表,继续用int fun(string date);做例子:
int fun(string date)
{
try {
DateTime d = Convert.ToDateTime(date);
return 0;
}
catch {
return 1;
}
}
然后给出返回值的对照信息:
返回值 描述
0 成功
1 日期格式错误
这样,调用方只要通过返回值就可以知道调用接口成功与否,在失败的时候直接就可以通过返回值来对自身程序进行调试修改。
以上三点是在编写一个接口常用的注意事项,希望对刚开始编写接口的朋友有帮助。