编码设计规约

好的编码规约的意义:1、减少代码的维护成本2、改善可读性3、提高团队开发的合作效率4、锻炼出更加严谨的思维5、身心愉悦命名风格与代码格式——两个要求1、命名体现代码元素特征(1)抽象类命名使用Abstract或Base开头(2)异常类命名使用Exception结尾(3)测试类命名以它要测试的类名开始,以Test结尾(4)类型或中括号紧挨相邻来定义数组(5)枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开2、命名最好望文知义(1)
摘要由CSDN通过智能技术生成

好的编码规约的意义:

1、减少代码的维护成本

2、改善可读性

3、提高团队开发的合作效率

4、锻炼出更加严谨的思维

5、身心愉悦

命名风格与代码格式——两个要求

1、命名体现代码元素特征

(1)抽象类命名使用Abstract或Base开头

(2)异常类命名使用Exception结尾

(3)测试类命名以它要测试的类名开始,以Test结尾

(4)类型或中括号紧挨相邻来定义数组

(5)枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开

2、命名最好望文知义

(1)某些不规范的缩写会导致理解成本增加

(2)主流的编程语言基本上以英语为基础,这里的“文”指英文

常量定义规约

1、不允许任何魔法值(即未经预先定义的常量)直接出现在代码中

2、统一常量一定需要统一的管理,统一的维护,统一的使用。

3、【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量。

(1)跨应用共享常量:放置在SDK中

(2)应用内共享常量:放置在一方库中

(3)子工程内部共享常量:在当前子工程的constant目录下

(4)包内共享常量:值当前包下单独的constant目录下

(5)类内共享常量:直接在类内部private static final定义

4、常量命名应该全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

注释规约

注释的作用:

1、提高代码可读性

2、使程序条理清晰

3、方便后期代码维护

4、方便程序员间的交流沟通

5、生成帮助文档

6、警示作用,防止踩坑

前后端设计与规约

前后端联合开发纠结点:

(1)接口名称和风格

(2)如果空集合,返回null还是空集合

(3)json组装格式

(4)后台异常的失败提示

(5)错误信息与用户提示

1、前后端交互的API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响应体。

2、Java与JS对数字类型变量处理方式不同,如果数字太大或者有精度要求,最好使用String类型

 

结果的产生:是因为尾数的截断导致的。

【强制】对于需要使用超大整数的场景,服务端一律使用String字符串类型返回,禁止使用Long类型。

说明: Java服务端如果直接返回Long整型数据给前端,JS会自动转换为Number类型(注:此类型为双精度浮点数,表示原理与取值范围等同于Java中的Double)。 Long类型能表示的最大值是2的63次方-1 ,在取值范围之内,超过2的53次方(9007199254740992)的数值转化为JS的Number时,有些数值会有精度损失。扩展说明,在Long取值范围内,任何2的指数次整数都是绝对不会存在精度损失的,所以说精度损失是一个概率问题。若浮点数尾数位与指数位空间不限,则可以精确表示任何整数,但很不幸,双精度浮点数的尾数位只有52位。

为什么要有科学计数法?

答:表示极大数、极小数。

3、HTTP请求通过URL传递参数时,不能超过2048字节。

其他

Float >> int >> StringBit

userTips在后端做好映射给前端

1、f(String s); f(Integer i) >>>> f(null)

编译不通过

(因为,从继承簇的底端开始寻找,先找到就调用哪个方法,String、Integer没有继承关系,所以不知道找哪个。)

2、f(String s); f(Object o) >>>> f(null)

f(String s)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值