编码规约(二)

常量定义

1.【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。

        反例:string key = "Id#taobao " + tradeld;

                cache. put(key, value);

2. 【强制】 long或者Long初始赋值时,使用大写的L,不能是小写的1,小写容易跟数字1混清,造成误解。

        说明: Long a =21;写的是数字的21,还是Long型的2? 

3. 【推荐】不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护。

        说明:大而全的常量类,非得使用查找功能才能定位到修改的背量,不利于理解和维护。

        正例:缓存相关常量放在类CacheConsts下:系统配置相关常量放在类ConfigConsts下。 

4. 【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量

        1)跨应用共享常量:放置在二方库中,通常是client.jar中的constant日录下

        2)应用内共享常量:放置在一方库中,通常是子模块中的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, 【推荐】如果变量值仅在一个固定范围内变化用enun类型来定义。

        说明:如果存在名称之外前延仲属性使用enum类型, 下面止例 的数字就是延仲信息,表示一年中的第几个季节。

         正例:

               public enum SeasonEnum{

                    SPRING(1),SUMMER(2),AUTUMN(3),WINTER(4);

                     int seq;

                    SeasonEnum(int sea){

                            this.seq = seq;

                     }

               }

           

                 

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值