好的编码规约的意义: 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)