首页 新闻 会员 周边

部分代码的重复出现,怎样简化

1
[已解决问题] 解决于 2013-12-10 15:42

如果这句判断语句!String.IsNullOrEmpty(StyleBookClassId) && String.IsNullOrEmpty(keyWord) 多次出现,是否可以用两个变量将它们存起来?

banyan.rong的主页 banyan.rong | 初学一级 | 园豆:67
提问于:2013-12-10 14:26
< >
分享
最佳答案
0

显然没有必要,因为如果你在多个方法里经常需要写下这样的语句:

!String.IsNullOrEmpty(StyleBookClassId) && String.IsNullOrEmpty(keyWord)

那就说明 StyleBookClassId 和 keyWord 是会被修改的,如果你再设置两个变量来表示这两个值是否是 Null Or Empty,那么你在修改 StyleBookClassId 和 keyWord 时就需要同时调用:!String.IsNullOrEmpty(StyleBookClassId) && String.IsNullOrEmpty(keyWord),然后把新的是否为 Null Or Empty 赋给你之前的两个变量。

然后你再你的多个方法里使用新的 BOOL 来代替你之前的 IsNullOrEmpty 方法:!IsStyleBookClassIdNullOrEmpty && IsKeyWorkNullOrEmpty。

这样看来,代码简化了吗?没有,不仅没简化,而且更难理解了。

 

我想你还是应该从你的业务着手,通过业务规则的检查来重构你的代码。

奖励园豆:5
Launcher | 高人七级 |园豆:45045 | 2013-12-10 15:40

好的,谢谢!!

banyan.rong | 园豆:67 (初学一级) | 2013-12-10 15:42
其他回答(3)
0

可以用一个函数保存起来啊。

public Shared Function isValid(BookClassID, Keyword) as boolean

  

end Function

爱编程的大叔 | 园豆:30839 (高人七级) | 2013-12-10 14:54
0

如果在判断中不更改这2个值得话,你可以在判断语句之前声明2个布尔型变量来保存这2个布尔值。

+小马哥++ | 园豆:906 (小虾三级) | 2013-12-10 14:59
0

把他提取成一个方法,直接返回bool

幕三少 | 园豆:1384 (小虾三级) | 2013-12-10 15:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册