编程中有有一些细节需要注意,其中就包括编码对一些常量的赋值等操作,习惯称之为软编码和硬编码的区别。
硬编码简单粗暴,直接给变量赋初始值,初期还比较易于维护,但是后期此类变量在代码里用的比较多时,我们需要更改这个变量值时,就需要在代码里找出相关变量重新赋值,这样容易出现差错,导致多换或少换的情况。但是我们用软编码操作的话,通常用定义常量对变量赋值,只需要修改一处即可,不易出错,也易于理解。所以,建议如非必要,尽量避免硬编码。
其实,配置项里的参数也可以算是一种软编码的体现,避免在代码里对相关配置写死。然后软编码主要实现方式就是定义个常量类,来放置代码里常用的常量,以便代码里调用。
常量类如下:
/**
* 常量
* @author liangxu
*/
public class Constant {
/**
* 通道操作前缀为channel_
*/
public static String ACTION_CHANNEL_PREFIX = "channel_";
/**
*
* @Description: 语言类型常量
*
*/
public static interface LANGUAGE_CONFIG{
/**
* 普通话
*/
String PUTONGHUA = "Putonghua";
/**
* 英语
*/
String ENGLISH= "English";
}
/**
* @Description: 数字类型常量
*
*/
public static interface NUMBER_CONFIG {
/**
* 数字0
*/
Integer ZERO = 0;
/**
* 数字1
*/
Integer ONE = 1;
}
}
如上,对只有一种常量,可直接定位为静态变量,直接操作。对于一个类型的变量,则可直接定义为同一接口参数,在接口里在定义相关参数,后续代码里直接调用赋值。
如下这种赋值:
int flag= Constant.NUMBER_CONFIG.ONE;
值得一提的是,开发环境和生产环境需要修改的参数都配置化,避免代码里写死,
综上,是一些浅薄的认知,欢迎沟通交流。