最近查阅百度API接口时,发现接口文档中,参数明文居然是下划线格式,很疑惑。进一步查阅了 阿里开发平台、腾讯微信开发者平台, 对外api接口都是下划线命名, 为什么? java实体类的属性一般是遵从驼峰式命名规范。我们的程序里的数据访问层一般均采用ORM框架。如果表字段是小写字母+下划线,那么,相应的POJO/POCO实体类的属性也会是小写字母+下划线,这样,违背了驼峰式命名规范,有违代码的整洁度。
在网上查阅到原因:
对外提供的接口,
- 如果用驼峰式。 首先,我们用word编写接口说明文档时,在参数表格列里输入参数名后,如果按tab键,则word默认首字母是大写的。而如果恰好我们的首字母是小写时,如果我们在编写时忽略了这个细节,这就会给对接者带来疑惑(产品设计上有一条重要的原则:Don't Make Me Think,同样适用于软件设计); 更甚之,如果签名规则要求的签名原串包括参数名时,那么,因字母大小写所致的验签失败往往不那么容易排查出来,进而造成双方的“不必要”沟通。
- 如果用小写+下划线。 首先,这种方式规避了上面驼峰式命名的不足。 其次,考虑到商户对接存在不同的编程语言如php/java/.net,跨语言程序员之间也都会认可。
综上:个人建议对于内部系统之间的接口,尽量采用java命名规范。 对外提供API可以和大厂们保持一致。各有优缺点,看开发者如何取舍。 实践出真知。