我是编程新手,我想知道是否有正确的方法来订购控制结构逻辑.
首先检查最可能的情况似乎更自然,但我觉得有些控制结构不起作用,除非他们检查所有错误的东西以得到真实的东西(逻辑演绎?)
很难适应这种"负面"观点,我更喜欢更积极的前景,假设一切都是真的:)
在McConnell的代码完成中对这个主题进行了很好的讨论.这是我强烈推荐的一本书.无论如何,相关讨论在第一版的第706-708页或第6页.第二版749-750(谢谢基座).从那本书:
安排测试,以便首先执行最快且最可能真实的测试.在正常情况下应该很容易,如果效率低下,他们应该处理异常.
除了条件语句的值之外,还有一些事情需要考虑.例如,如果代码块的大小明显不同,您可能需要先放置小块,以便更容易看到.(如果较大的块非常大,则可能需要重构,或者可能需要将其拉出到单独的方法中.)
if( condition is true ) { do something small; } else { do something; and something else; . . . and the 20th something; }
在这种情况下,是的,有些语言会在表达式的一部分为假时停止计算表达式.如果在代码中包含某种定义的逻辑,这一点很重要:如果您的语言评估整个表达式,您应该这样做:
if( variable is defined ) { if( variable == value ) { ... } }
而不是这个:
if( (variable is defined) && (variable == value) ) { ... }
我不认为有一种"正确"的方式来设计你的条件.如果您正在为具有编码标准的公司工作,您应该检查标准中是否包含该标准.(我工作的最后一个地方定义了合理数量的标准,但没有指定如何编写条件逻辑.)