Day 10 编码规范

摘要

本文主要关于写码时需要遵守的约定。这些约定能够提高团队协作,并降低维护成本。

背景

代码是不断成长的,在成长的过程中,有逐渐变得混乱的趋势。所以需要通过遵守编码公约尽量降低混乱的增加速度。

编码规约的最主要目的是为了方便协作(共同开发,后期维护)

好的编码规约的作用:

  1. 减少代码维护成本;

  2. 改善可读性

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

  4. 锻炼出更严谨的思维

代码模式与命名风格

命令体现代码元素特征

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

  2. 异常类命名使用 Exception 结尾

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

  4. 类型与中括号紧挨相连定义数组

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

  6. 命名要准确达意,不要人为增加理解难度。

常量设计与定义

不允许未经定义的常量出现在代码中。常量一定要实现定义。

统一常量一定要统一管理,统一维护,统一使用。

在使用常量时容易出现的错误:复制常量时出现错误,从而导致错误。如果将常量统一定义之后,直接调用的过程中不会出现错误。

前后端设计规约

前后端分离的纠结点:

  1. 接口名称和风格

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

  3. json 组装格式

  4. 后台异常的失败提示

  5. 错误信息与用户提示透出

浮点数传递

问题描述

后端JAVA向前端JS传递Long类型数据时,前端显示的值和后端传递的值不同。

错误原因

背景描述

计算机是二进制。现实中的十进制数字要转换成二进制表示。因此十进制中有限的小数,变成二进制后会变成无限小数。由于不同数据类型的有效数字位数有差别。所以在值传递时,有效数字会产生截断。

错误原因

JS 数字类型采用 Double 表示,Double 只有54个有效位,Long有64个有效位。

Double 类型表示的范围大于 Long ,但是有效数字的位数小于 Long。所以后端向前端传递 Long 类型时,会产生截断。截断产生误差。

解决方式

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

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值