阿里官方Java代码规范标准解析 - 基本数据类型与包装数据类型的使用标准
关于基本数据类型与包装数据类型的使用标准
1) 所有的POJO类属性必须使用包装数据类型。
2) RPC方法的返回值和参数必须使用包装数据类型。
3) 所有的局部变量推荐使用基本数据类型。
说明:POJO类属性没有初值是提醒使用者在需要使用时,必须自己显式地进行赋值,任何NPE问题,或者入库检查,都由使用者来保证。
public class DemoDO {String str;Integer a;}
正例
数据库的查询结果可能是null,因为自动拆箱,用基本数据类型接收有NPE风险
反例
某业务的交易报表上显示成交总额涨跌情况,即正负x%,x为基本数据类型,调用的HSF服务,调用不成功时,返回的是默认值,页面显示:0%,这是不合理的,应该显示成中划线-。所以包装数据类型的null值,能够表示额外的信息,如:远程调用失败,异常退出
扩展说明
- 1)数据库到应用之间传递的是包装数据类型,即使定义的是基本的。在方法内运算,我推荐也是基本的。手册推荐的是防御氏编程。使用包装形式出现的可能npe问题需要调用者处理
- 2)序列化传输以对象形式来传输的
- 3)参数之间校验规则参考另一条
参考
https://www.zhihu.com/question/264430374/answer/280824636
阿里官方Java代码规范标准解析 - 基本数据类型与包装数据类型的使用标准相关推荐
- 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》下载
转载:https://www.cnblogs.com/han-1034683568/p/7680354.html
- 阿里Java代码规范
代码规范 一.编程规约 (一) 命名风格 (二) 常量定义 (三) 代码格式 (四) OOP 规约 (五) 集合处理 (六) 并发处理 (七) 控制语句 (八) 注释规约 (九) 其它 二.异常日志 ...
- MyEclipse中阿里JAVA代码规范插件(P3C)的安装及使用
JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https ...
- java代码规范(转载整合)
1. 标识符命名规范 1.1 概述 标识符的命名力求做到统一.达意和简洁. 1.1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用pr ...
- 阿里巴巴Java代码规范
阿里巴巴Java代码规范 1.及时清理不再使用的代码段或配置信息. 2.不要在foreach循环里进行元素的remove/add操作,remove元素请使用Iterator方式. 3. POJO类中的 ...
- 解读阿里巴巴 Java 代码规范(2): 从代码处理等方面解读阿里巴巴 Java 代码规范...
前言 2017 年阿里云栖大会,阿里发布了针对 Java 程序员的<阿里巴巴 Java 开发手册(终极版)>,这篇文档作为阿里数千位 Java 程序员的经验积累呈现给公众,并随之发布了适用 ...
- 写码如写诗,Android代码规范有多重要?附阿里《Android代码规范指南》PDF
前言 所谓无规矩不成方圆.任何团队,规范都是怎么也绕不开的话题.特别是在我们编程行业,代码规范乃是团队的重中之重.我们有太多的理由去做规范,同时我们在做规范这件事上也有太多的痛点. 随着团队人数的增加 ...
- 文思海辉工作-Java代码规范(2019-08-20)
(review代码,check代码需要注意的规范,需牢记!) 目录 1.前言 2.标识符命名规范 2.1统一 2.2简洁 2.3骆峰法则 3.代码格式 4.注释规范 1.前言 Java代码规范以SUN ...
- Java代码规范检查插件调研及总结
代码规范工具对比 代码规范工具是什么 大家应该都有过写完代码后review的情况:用于提高编码质量,尽早的发现问题:节约开发时间和成本. 但review 这个过程往往要消耗 更多的开发资源. 所以就出 ...
最新文章
- GIF Movie Gear V4.2.3 破解版
- 上传图片和导出文件测试用例
- pfile文件怎么恢复格式_回收站清空的文件怎么恢复?值得收藏的恢复方法
- 【bzoj3555】[Ctsc2014]企鹅QQ 简单哈希
- 将Jersey与Spring整合
- 微信在计算机基础中的辅助作用,基于微信课后辅导在计算机基础教学中应用.doc...
- Qt工作笔记-profile中INSTALLS的使用
- 一道说难不难的js题目
- python3_04.循环函数
- 15. Django基础:cookies和sesseion
- 单页面应用(SPA)与多页面应用(MPA)的区别对比
- 公司用的非标普通自动化用单片机还是plc_合格电气自动化工程师必备十大技能...
- 女人总浑身都没有力气怎么回事儿
- 企业邮箱的反垃圾邮件功能是怎么实现的?
- 申请免费域名、配置域名以及https证书设置
- 【acwing 寒假每日一题(入门组)】day20 火星人
- JVM--基础--19.4--垃圾收集器--Parallel Scavenge
- Ink脚本语言学习笔记(二)
- 软件随想录:程序员部落酋长Joel谈软件(阮一峰译)-3
- 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群
热门文章
- jQuery CSS3中国象棋网页代码
- 《区块链原理、设计与应用》一3.4 资源共享
- (零代) MDD 开创低代码领行设计模式
- 例题6-13 古代象形符号(Ancient Messages,World Finals 2011,UVa 1103)
- linux lp0设备,P1108打印机插入Linux设备USB口后自动reset
- p50, p90, p99 (pct 50, pct 90, pct 99)指什么?
- IOS友盟 社会化分享 社会化iOS组件 分享集成
- 从匿名聊聊被封停,看微信小程序坚持的线下策略
- 解决因种子消失而无法继续BT下载的问题(转载自网易学院)
- moment基本使用