代码重构-常量相关
在重构Java代码时, 魔鬼数字和字符串让很多程序员头疼,IDE代码规范插件也能检测出来。使用常量的场景可分为一个类独自使用或多个类公用。
只在一个类使用的常量在当前类定义即可; 但多个类使用的常量参数在哪里定义呢?
反例:
以Android打开一个Activity为例, 我们要在intent里传值,本段代码在目标类里定义了常量并使用了魔鬼数字。 这种做法是不符合代码规范的, 我们应该将多个类公用的参数剥离到一个常量类。
正取的做法:按照项目功能模块划分, 以树形结构定义常量类。 在实际项目开发中要为各常量添加注释, 本例省略了。
引用常量类参数方法如下, 将有交叉的功能剥离为一个工具类, 方便调用者和被调用者维护; 专业术语是调用者面向接口编程, 调用者不关心被调用者的代码逻辑,即对调用者是透明的。
通过重构key/value等常量参数, 可以使项目代码流程更加清晰,维护起来也方便。
同理也适用于Swift语言。 注意:在Swift语言中常量使用小写字母, 而Java使用大写字母声明常量。
简单举例: