问题:拥有更多变量以使条件“更具可读性”会更好吗?拥有更少变量但难于阅读条件的条件是否更干净?
我读到这说较少的变量。我认为他们的解决方案看起来不太容易理解(https://techbeacon.com/why-unnecessary-variables-are-bad-your-code) 这样听起来有点不同:Introducing variables only for readability?
示例:
我有以下声明:
if ((memberIDandLNIsValid) || (memberIDandDOBIsValid && memberDOBFormatIsValid))
要获得我的会员ID和LNIsValid,
if (!string.IsNullOrEmpty(Search_MemberID) && !string.IsNullOrEmpty(Search_MemberLastName))
请注意,Search_MemberID和Search_MemberLastName是两个单独的变量。我认为拥有组合变量更容易阅读。 但是我被告知代码中变量太多。
我猜测解决方案是将其保留为:
if( (Search_MemberID && Search_MemberLastName) || ((Search_MemberID && Search_DOB) && memberDOBFormatIsValid) )
对我来说,此条件现在的可读性大大降低了。
有什么想法吗?
答案 0 :(得分:1)
我认为这样很好,但是您可以使用的一种技术是将布尔值重构为名称更易读的方法。
(Search_MemberID && Search_MemberLastName)|| ((Search_MemberID && Search_DOB)
成为:
SearchMemberHasIdAndLastName() || SearchMemberHasIdAndDOB()
您无需在此处执行此操作,但这是一种使您牢记于心的技术。