代码坏味道之一(代码中到处嵌入字符串)

代码坏味道之一(代码中到处嵌入字符串)

 

看下面的一段代码:

 

String type = form.getString("type","XZ");
//.......
if("XZ".equals(type)){
	ActionContext.setRequestAttribute("applyTypeName","****");
}else if("XG".equals(type)){
	ActionContext.setRequestAttribute("applyTypeName","*****");
}else if("SQ".equals(type)){
	ActionContext.setRequestAttribute("applyTypeName","*****");
}else{
	ActionContext.setRequestAttribute("applyTypeName",type);
}

 

别人来看着这段代码,很难理解他是什么意图。

在代码中到处嵌入字符串是很不好的习惯,一个原因是,如果字符串所代表的意义不清晰的话,将很难理解这样的的代码。另外,当字符串出现多次在代码中时,如果你不得不修改它的话,你将要改变另外一处的代码,这样工作量就大了,如果漏改了一些地方,将在代码中引入缺陷。

 

最起码是要定义一个字符串常量来替代字符串。这样才比较好理解

/** 申请单类型:权限申请 */
private final String APPLY_TYPE_SQ = "SQ";
/** 申请单类型:新增方案 */
private final String APPLY_TYPE_XZ = "XZ";
/** 申请单类型:修改 方案 */
private final String APPLY_TYPE_XG = "XG";

 

如果这些字符串常量需要别的地方应用,就将它移到一个常量定义文件中(一般在Constants类/接口中)。

 

这样使代码的意图更加明确了,如果常量名能很好的表达意图的话就更好了。

 

 

 

-EOF-

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值