Best practise ——什么样的代码更应该精雕细琢

 

代码的价值不在本身大小和复杂度,而在于多少其他代码在用它。

 

我们的一个产品依然有很多代码采用了“点连接的长行代码”,比如权限检查代码:

 

// 检查当前用户是否有对象搜索的权限

AppUtils.UserInfo.CheckLimit(CarpaServer.Common.OperatorLimit.LIMIT_OBJECT_HISTORY_SEARCH) ;

 

这样的代码,尽管只有一行,但是冗余非常的多——每次都要重复的加入

AppUtils.UserInfo命名空间,CarpaServer.Common。如果不这样,就会需要using ;也是很麻烦的。

单独看这样的一行代码,很多人的反应是:这么点的差别何必改它呢?虽然不爽,但是也不是多大的问题。可是放眼整个项目,可以想得见,类似的代码必然大量出现。冗余因此会被放大很多倍数。

 

我查询了下这个产品的代码,在编码过程中(没有完成项目代码的时候)发现有990次使用。引用如此众多,优化也就是必要的了。

 

实现一个属性

Public  static  Limit.OBJECT_HISTORY_SEARCH

{

get{

return AppUtils.UserInfo.CheckLimit(CarpaServer.Common.OperatorLimit.LIMIT_OBJECT_HISTORY_SEARCH) ;

}

}

 

其他使用的地方只要这样调用就行了:

Limit.OBJECT_HISTORY_SEARCH

不仅仅权限,还有配置类,也是到处都在用的代码,比如:

 

代码类型:配置,包括 SysDataSysData1UserConfig

方法:AppUtils.CheckUserConfig("userconfig", "btypeall", "1") == "0"

新方法: public bool UserConfig.BtypeAll

 

在配置类代码内,好处不仅仅是简洁,还有后者没有字符串的出现,都是强类型的代码,也不必使用和字符串比较这么低级的操作,用户使用起来就更舒服。

 

配置代码,权限代码的特点是到处都在使用,一旦写就,以后也就不好修改了——这也是分销一直没有动它的原因。因此,这样的简单封装,一定要一开始就做对。幸运的是,这样的事情一次做对并不困难。

 

代码质量不仅仅影响阅读效果,还会影响心情,对做编码的程序员来说,心情成本是非常值得重视的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值