1.【强制】不允许出现任何魔法值(即未经定义的常量)直接出现在代码中。
反例: String key="Id#taobao_"+tradeId;
    cache.put(key, value);

2.【强制】long或者 Long初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字
1混淆,造成误解。
说明:Long a = 2l; 写的是数字的 21,还是 Long型的 2?

3.【推荐】不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。如:缓存
相关的常量放在类:CacheConsts下;系统配置相关的常量放在类:ConfigConsts下。
说明:大而全的常量类,非得使用查找功能才能定位到修改的常量,不利于理解和维护。

4.【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包
内共享常量、类内共享常量。
1) 跨应用共享常量:放置在二方库中,通常是 client.jar中的 constant目录下。

2) 应用内共享常量:放置在一方库的 modules中的 constant目录下。
反例:易懂变量也要统一定义成应用内共享常量,两位攻城师在两个类中分别定义

表示“是”的变量:
类 A中:public static final String YES = "yes";
类 B中:public static final String YES = "y";
A.YES.equals(B.YES),预期是 true,但实际返回为 false,导致产生线上问题。

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

4) 包内共享常量:即在当前包下单独的 constant目录下。

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

5.【推荐】如果变量值仅在一个范围内变化用 Enum类。如果还带有名称之外的延伸属性,必须
使用 Enum类,下面正例中的数字就是延伸信息,表示星期几。
正例:public Enum{MONDAY(1),TUESDAY(2),WEDNESDAY(3),THURSDAY(4),FRIDAY(5),
SATURDAY(6), SUNDAY(7);}

转载于:https://www.cnblogs.com/yusute/p/7002845.html

JAVA编程规范-常量定义相关推荐

  1. 阿里巴巴对Java编程【常量定义】的规约

    转载自 阿里巴巴对Java编程[常量定义]的规约 常量定义 1. [强制]不允许任何魔法值 ( 即未经定义的常量 ) 直接出现在代码中. 反例: String key  = " Id # t ...

  2. java编程规范换行_Java编程规范整理

    近期即将开始编码阶段,特地整理一下各方面的编程规范与命名约定,以便内部团队风格统一. 文章大多从网络上收集汇总而来,参考列表附在文章末尾. Java编程规范整理 基本命名规范 包命名 包名按照域名的范 ...

  3. JAVA编程规范总结

    JAVA编程规范总结: 1.编码规范好处: 1.减少维护成本和时间 2.增加可读性,方便自己和维护的技术人员二次改善 3.提高开发效率,团队协作 4.养成好习惯,提高自身修炼 2.命名规范: 1.尽量 ...

  4. java 标识变量_Java变量与数据类型之一:Java编程规范,关键字与标识符

    原标题:Java变量与数据类型之一:Java编程规范,关键字与标识符 大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字 ...

  5. java与数据类型相关的十个关键字_乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符...

    大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字都需要见名知意: 代码适当缩进 书写过程成对编程 对代码进行合理注释 ...

  6. 阿里巴巴Java开发规范线程池_阿里巴巴java编程规范.pdf

    阿里巴巴java编程规范 目录 一.编程规约1 (一) 命名规约1 (二) 常量定义3 (三) 格式规约4 (四) OOP 规约6 (五) 集合处理 10 (六) 并发处理 12 (七) 控制语句 1 ...

  7. Java编程规范(一)

    Java编程规范 编程规约 命名风格 常量定义 代码格式 OOP约束 来源:阿里巴巴 编程规约 命名风格 不能以下划线或者美元符号开始或结束 **反例**:_name / __name / $name ...

  8. sun公司java编程规范【转载】

    java编程规范要学习的大致内容有如下部分,一个目录: Java编码规范 1 1.说明 3 1.1为什么要有编码规范 3 1.2版权声明 3 2.文件名(File Names) 3 2.1文件后缀(F ...

  9. Java编程题:定义一个Box类,属性有:长,宽,高,并初始化数据

    Java编程题:定义一个Box类,属性有:长,宽,高,并初始化数据 Box类: /*** Java编程题:定义一个Box类,属性有:长,宽,高,并初始化数据*/package Box;public c ...

最新文章

  1. java人工洗牌窗口程序_求解,用JAVA写洗牌与发牌模拟程序
  2. ASP.NET 2.0中GRIDVIEW排序
  3. 一篇带你了解TCP/IP 概念
  4. qt 自定义窗口customwindow
  5. java---实现闹钟的基本功能
  6. 【Linux】【服务器】 CentOS7下安装MySQL详细过程步骤
  7. 这些年我对微服务的理解
  8. Hadoop分布式集群安装配置
  9. 用java自动化访问百度测试_java+eclipse+selenium+百度搜索设置自动化测试
  10. Golang笔记——方法
  11. 引入react文件报错_react.js引入router文件后报错
  12. 使用Python批量随机化文件名
  13. EIGRP MD5认证实例
  14. git “errno=Connection refused”
  15. 【数据结构 严蔚敏版】 排序基本操作
  16. 【导弹四种坐标系及坐标系之间的变换】
  17. Allatori:代码混淆器的使用
  18. 【tkGo】将Excel里的图片链接替换为图片(Excel嵌入图片)
  19. Redis协议spec(翻译)
  20. 18天掌握Java SE jvav梳理总结 从jvav到架构师

热门文章

  1. cookies丢失 同域名_后端设置Cookie前端跨域获取丢失问题(基于springboot实现)
  2. ps背景不变换字_PS教程:复杂背景中,如何利用通道轻松抠出发丝?
  3. xgboost简单介绍_好文干货|全面理解项目中最主流的集成算法XGBoost 和 LightGBM
  4. 【RTMP协议分析与抓包实测】
  5. 异质性查询需要为连线设定_振奋人心!华东理工大学开发新型的荧光染料,为细胞成像奠定基础...
  6. 图解C语言的希尔排序
  7. java 类型不可视_jvm高级特性(5)(1)(原子性,可见性,有序性,volatile,概述)
  8. 交换机的硬件故障问题总结
  9. [渝粤教育] 南京信息职业技术学院 电工电子技术基础 参考 资料
  10. [渝粤教育] 西南科技大学 电子设计EDA 在线考试复习资料