净食安净菜管理系统文档 净食安净菜管理系统文档
首页
  • 客户管理系统
  • 商品管理系统
  • 销售管理系统
  • 采购管理系统
  • 加工管理系统
  • 库存管理系统
  • 质量管理系统
  • 账务管理系统
  • 基础平台
  • 员工操作终端(平板)
  • 智能电子秤
  • 用户商城系统后端
  • 用户商城系统前端
  • 零星需求待整理
  • 客户管理系统
  • 商品管理系统
  • 销售管理系统
  • 采购管理系统
  • 加工管理系统
  • 库存管理系统
  • 质量管理系统
  • 账务管理系统
  • 基础平台
  • 员工操作终端(平板)
  • 智能电子秤
  • 用户商城系统后端
  • 用户商城系统前端
  • 编码规范
  • 开发环境搭建
  • 开发手册
首页
  • 客户管理系统
  • 商品管理系统
  • 销售管理系统
  • 采购管理系统
  • 加工管理系统
  • 库存管理系统
  • 质量管理系统
  • 账务管理系统
  • 基础平台
  • 员工操作终端(平板)
  • 智能电子秤
  • 用户商城系统后端
  • 用户商城系统前端
  • 零星需求待整理
  • 客户管理系统
  • 商品管理系统
  • 销售管理系统
  • 采购管理系统
  • 加工管理系统
  • 库存管理系统
  • 质量管理系统
  • 账务管理系统
  • 基础平台
  • 员工操作终端(平板)
  • 智能电子秤
  • 用户商城系统后端
  • 用户商城系统前端
  • 编码规范
  • 开发环境搭建
  • 开发手册
  • 开发文档
  • 编码规范

    • 前言
    • 编程规约

      • 命名风格
      • 常量定义
      • 代码格式
      • OOP规约
      • 集合处理
      • 并发处理
      • 控制语句
      • 注释规约
      • 其它
    • 异常日志

      • 异常处理
      • 日志规约
    • 0单元测试
    • 0安全规约
    • MySQL数据库

      • 建表规约
      • 索引规约
      • SQL语句
      • ORM映射
    • 工程结构

      • 应用分层
      • 二方库依赖
      • 服务器
  • 开发环境搭建

    • java后端环境搭建
    • 前端环境搭建
    • 文档环境搭建
  • 开发手册

    • 代码规范与工具使用
    • 开发手册
  • 基础工具准备

  • 基础平台

    • 组件
  • layui
  • index
  • 开发文档
  • 编码规范
  • 编程规约
GICT
2020-06-12

常量定义

# 常量定义

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

    • 反例:
      String key  = " Id # taobao _" +  tradeId;
      cache.put(key ,  value);
      
      1
      2
  2. 【强制】在 long 或者 Long 赋值时,数值后使用大写的 L ,不能是小写的 l ,小写容易跟数字1 混淆,造成误解。

    • 说明: Long a = 2 l; 写的是数字的 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 ,导致线上问题。
      
      1
      2
      3
    1. 子工程内部共享常量:即在当前子工程的 constant 目录下。
    2. 包内共享常量:即在当前包下单独的 constant 目录下。
    3. 类内共享常量:直接在类内部 private static final 定义。
  5. 【推荐】如果变量值仅在一个固定范围内变化用 enum 类型来定义。

    • 说明:如果存在名称之外的延伸属性应使用 enum 类型,下面正例中的数字就是延伸信息,表示一年中的第几个季节。
    • 正例:
      public enum SeasonEnum {
          SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4);
          private int seq;
          SeasonEnum(int seq){
              this.seq = seq;
          }
      }
      
      1
      2
      3
      4
      5
      6
      7
命名风格
代码格式

← 命名风格 代码格式→

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式