【发布时间】:2010-01-15 20:31:28
【问题描述】:
我已经分离出一个测试来确定两个计划项目是否因为不可读而重叠。
是否有任何应用程序可以帮助简化逻辑语句?
示例:(最初是一个错误的示例,但公开了我要求这样做的原因)
if (x < y && y < z && x < z)
可以简化为
if (x < y && y < z)
我的代码是:
return (shift.Start <= shift2.Start && shift.End >= shift2.End) || (shift2.Start <= shift.Start && shift2.End >= shift.Start)
我很想让它变得更简单,我相信这是可能的,只是不确定如何。
鉴于这确实与语言无关,即使转换为不同的脚本以寻找可能性也会很好,例如,它不需要在 C# 中。
【问题讨论】:
-
(x
-
为最初的错误示例向大家道歉,已修复。
-
我很好奇的一件事是
shift.StartTime和shift.Start之间的区别是什么。我试图为布尔变量提供注释或名称,这可能有助于记录表达式的意图,但被这个细节所阻碍。 -
啊,原始代码中有两个不同的类,一个使用 .StartTime 另一个使用 .Start 由于我这样做是为了示例,因此我试图使它们彼此一致。
标签: language-agnostic readability boolean-logic