Java开发手册之常量定义

Java开发手册之常量定义Java开发手册之常量定义

大家好,又见面了,我是你们的朋友全栈君。

  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. 【推荐】如果变量值仅在一个范围内变化,且带有名称之外的延伸属性,定义为枚举类。下面正例中的数字就是延伸信息,表示星期几。
    正例public Enum { MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106541.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode 回文数_字符串转换为整数

    leetcode 回文数_字符串转换为整数原题链接请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“1

    2022年8月9日
    5
  • matlab中表示拉普拉斯分布_拉普拉斯分布的随机数[通俗易懂]

    matlab中表示拉普拉斯分布_拉普拉斯分布的随机数[通俗易懂]一、功能产生拉普拉斯分布的随机数。二、方法简介1、产生随机变量的组合法将分布函数\(F(x)\)分解为若干个较为简单的子分布函数的线性组合\[F(x)=\sum_{i=1}^{K}p_{i}F_{i}(x)\]其中$p_{i}>0\(\foralli)$,且$\sum_{i=1}^{K}p_{i}=1$,\(F(x)\)是分布函数。定理若随机变量\(\xi\sim…

    2025年7月5日
    3
  • Spring的AOP与动态代理「建议收藏」

    Spring的AOP与动态代理「建议收藏」Spring的AOP与动态代理

    2022年4月22日
    37
  • python字符串删除指定字符「建议收藏」

    python字符串删除指定字符「建议收藏」python字符串中去除指定字符或字符串:1,Pythonstrip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。2,Pythonreplace()方法把字符串中的old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换不超过max次。参考链接:https://blog.csdn.net/qq_31672701/article/details/100927305…

    2022年5月1日
    698
  • 上传文件块client实现

    上传文件块client实现

    2022年1月7日
    49
  • 权重系数确定问题_如何确定权重系数例子

    权重系数确定问题_如何确定权重系数例子根据各个指标获得综合指标时,由于各个指标对综合指标的贡献度不同,相应权重也应不同,对综合指标贡献大的指标更重要,应该分配更大的权重。如何确定各个指标的权重,这里介绍两种方法:熵值法和pca确定权重。也

    2022年8月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号