目前,java版支付中心处在研发阶段。下午,特有钻研精神的云龙同学饶有兴趣的问我“战哥,你觉得表字段用哪种命名方式比较好呢?”

所用的db是mysql,他是想征求一下我的看法,是用驼峰式命名还是小写加下划线方式。

我直截了当地说用驼峰式。为什么? 我认为,像java语言或.net语言,实体类的属性一般是遵从驼峰式命名的(稍有不同的是java一般首字母小写,而.net是首字母大写)。我们的程序里的数据访问层一般均采用ORM框架。如果表字段是小写字母+下划线,那么,相应的POJO/POCO实体类的属性也会是小写字母+下划线,这样,违背了驼峰式命名规范,有违代码的整洁度。

接着,如我所期,云龙问“那你支付中心对外的api接口参数为什么用小写+下划线的方式呢?”

我答道,对外提供的接口,

如果用驼峰式。 首先,我们用word编写接口说明文档时,在参数表格列里输入参数名后,如果按tab键,则word默认首字母是大写的。而如果恰好我们的首字母是小写时,如果我们在编写时忽略了这个细节,这就会给对接者带来疑惑(产品设计上有一条重要的原则:Don't Make Me Think,同样适用于软件设计); 更甚之,如果签名规则要求的签名原串包括参数名时,那么,因字母大小写所致的验签失败往往不那么容易排查出来,进而造成双方的“不必要”沟通。

如果用小写+下划线。 首先,这种方式规避了上面驼峰式命名的不足。 其次,考虑到商户对接存在不同的编程语言如php/java/.net,跨语言程序员之间也都会认可。

云龙和伟业听后表示赞同。

我解释,我们在接口开发和商户对接支持这些事情上踩过的坑太多了,逐渐的就要考虑这些细节。

【另面观】

其实,也许是从事IT项目管理的职业病,我喜欢考虑项目成本,系统设计方面,始终坚持通过合理设计规避不必要的沟通甚至互撕。

像上面支付接口的参数,如果不考虑命名形式,用驼峰式,势必会增加后续甲乙双方联调过程中的沟通成本。那么,倘若我们改为小写加下划线的形式,就会规避这些真的是不必要的沟通。 ——这就是软件意识。

有些程序员一天的工作就是商户接口对接联调支持。有些领导看到下属员工一天忙碌的对接,认为其工作很饱满。

【延伸】

我也饶有兴趣,忽然在想,我们支付中心对外提供的这种接口在技术层面叫作什么呢? api是应用程序接口,即程序包里的公开的方法及对这些方法的说明。而这种通过http发布的接口,是什么呢? rpc接口?rmi接口?webapi? 我也去找云龙和伟业探讨,他们说就是接口嘛,笑我太爱琢磨了。

我常常就这样较真儿,当然,我也不认为这种较真儿是什么缺点。于是,为了一个细节,我会去查看好些技术帖子和blog。于是,我也再了解了一下rpc、web Service、web api。

今天周六,加班的同事早已回家。我从洗手间回到工位,办公区周围的昏黑,窗外三环上疾驰的车辆,CBD夜景灯火阑珊,不觉中渲染出我的孤寂。大周末的,是时候回家陪陪孩子做点家务了。

java对外接口 入参实体命名_支付中心接口设计之参数命名相关推荐

  1. 接口入参形式_花椒测试平台 接口篇

    背景 先来说说花椒测试平台的由来: 目的1,降低接口测试对测试人员代码能力的要求.测试人员只需要知道接口的url,请求参数,以什么样的格式传个服务端,接口的响应数据里需要验证哪个字段的值即可进行测试, ...

  2. 接口入参形式_某小公司RESTful、共用接口、前后端分离、接口约定的实践

    点击上方"后端技术精选",选择"置顶公众号" 技术文章第一时间送达! 作者:邵磊 juejin.im/post/59eafab36fb9a045076eccc3 ...

  3. springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现

    转自:springboot接口入参下划线转驼峰以及返回参数驼峰转下划线实现 - 李东平|一线码农 - 博客园 (cnblogs.com) 1.背景 在实际开发中,通常来说java里面是使用驼峰的命名规 ...

  4. 【Lilishop商城】No4-6.业务逻辑的代码开发,涉及到:接口入参、出参开发逻辑,及POJO的各种总结

     仅涉及后端,全部目录看顶部专栏,代码.文档.接口路径在: [Lilishop商城]记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇会结合业务介绍重点设计逻辑,其中重点包括接 ...

  5. python requests库api_Python+requests库发送接口入参为xml格式的接口请求

    一)接口入参准备: 入参: <?xml version="1.0" encoding = "UTF-8"?> duoceshi 123456 DwO ...

  6. 大厂对外提供的API接口入参命名规范

    最近查阅百度API接口时,发现接口文档中,参数明文居然是下划线格式,很疑惑.进一步查阅了 阿里开发平台.腾讯微信开发者平台, 对外api接口都是下划线命名,  为什么? java实体类的属性一般是遵从 ...

  7. Java接口入参和出参规范建议

    把最近项目中遇到的问题跟大家分享下:最近做了一个项目,后端接口写好后和pc端vue联调完毕,业务还需要和App端[ios,andro]对接,问题来了,后端接口中的入参和出参都是Java数据类型[Dat ...

  8. 接口入参形式_极光小课堂|手把手教你做接口测试

    接口测试是项目测试过程中非常重要的一环,测试的对象是接口,所以提早介入测试,对代码逻辑进行全面验证,就会更早的发现程序的问题.同时,接口测试比UI测试效率更高,并且更容易验证极端和异常的情况. 那么什 ...

  9. 【Java基础系列教程】第八章 Java面向对象详解(三)_抽象类、接口、内部类、深拷贝与浅拷贝

    一.JavaBean规范 1.1 什么是JavaBean JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中.特点是可序列化,提供无参构造器,提供getter方法和 ...

最新文章

  1. CSS将长文字换行的方法 (转)
  2. PageRank的基本原理以及个性化PageRank在推荐系统的应用
  3. jenkins 反序列化漏洞 cve-2017-1000353
  4. android 命令启动服务,adb 命令
  5. Linux MTD系统剖析【转】
  6. JSONP的诞生、原理及应用实例
  7. 中国行业趋势报告——2022年度特别报告
  8. ApacheCN 2019Q1 总结
  9. Easy Summation 假的自然数幂的和
  10. 1949年-2021年历史县级行政区划分布数据 中国行政村边界数据、乡镇街道边界、行政区划边界
  11. 2020软件测试面试题汇总,看完BATJ面试官对你微微一笑!(内含答案)
  12. 如何在html中引入代码,如何在HTML页面引入javaScript代码
  13. html扑克牌展开,HTML5 canvas扑克牌花式洗牌动画
  14. iOS开发-将UIView置于最上层
  15. Wayland/Weston 启动方式简介
  16. 计算机二级的Word知识点,计算机等级考试二级office基础知识点总结.doc
  17. 永信至诚打造企业安全人才提升方案 补齐企业安全短板
  18. HRM人力资源管理平台项目分享
  19. 世界著名电脑病毒排行榜
  20. 最齐全的场景ue4模型素材,速来收藏

热门文章

  1. 【滤波跟踪】基于EKF、UPF、PF、EPF、UPF多种卡尔曼滤波实现航迹滤波跟踪matlab源码
  2. “报表工程师”的自我修养
  3. 1253:Dungeon Master
  4. 更新linux内核方法
  5. Android源码下载方法、云盘链接、在线阅读
  6. Thinkphp+layui数据表格实现表格分页
  7. dfs算法题目(深搜思想训练)
  8. Threes.js入门篇之2 - Hello World
  9. matlab查找最小值函数
  10. html安装网卡驱动,网卡驱动怎么安装