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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django 模板_dede模板循环变量

    django 模板_dede模板循环变量变量模板中可以包含变量,Django在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和Python非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。

    2022年7月30日
  • 一次xxoo提权[通俗易懂]

    一次xxoo提权[通俗易懂]数据库root权限。然并卵。看了一下phpinfo得知是mysql5.0的然后想要通过udf之类的提权一波,结果一执行sql语句就被狗拦截了。然而数据库这条路是GG了OS名称:MicrosoftWindowsServer2008R2Enterprise修补程序:安装了1个修补程序。然后各种e…

    2022年7月17日
  • Java中的substring截取字符串方法「建议收藏」

    Java中的substring截取字符串方法「建议收藏」1.在处理字符串的过程中有很多情况下会遇到需要截取字符串的情况,这个时候使用Java中提供的substring方法来截取就非常方便了2.其中比较经常使用到的方法有两个:①publicStringsubstring(intbeginIndex)这个方法截取的字符串是从索引beginIndex开始的,到整个字符串的末尾,例如:字符串Strings=”abcdef”;调…

    2022年5月24日
  • Murmur下载_highwayhash

    Murmur下载_highwayhashpackageorg.videolan.vlc;/**Murmurhash2.0.**Themurmurhashisarelativefasthashfunctionfrom*http://murmurhash.googlepages.com/forplatformswithefficient*multiplication.**Thisisare-i…

    2022年10月19日
  • 电信系统服务器地址,全国各地电信DNS服务器地址

    电信系统服务器地址,全国各地电信DNS服务器地址该楼层疑似违规已被系统折叠隐藏此楼查看此楼静态IP地址如果你是在深圳的话,首选DNS服务器地址:202.96.134.133,备用DNS服务器地址:202.96.128.68你可以上深圳电信网上营业厅去了解相关信息或咨询下在线客服。深圳:202.96.134.133202.96.154.8202.96.154.15深圳:202.96.134.133202.96.154.8202.96.154….

    2022年7月11日
  • Nginx学习——Nginx简单介绍和Linux环境下的安装

    Nginx 是一个俄罗斯的哥们开发的,并将其进行了开源。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝

    2022年2月26日

发表回复

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

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