【发布时间】:2023-04-09 22:45:02
【问题描述】:
if ((DateTime.Now.DayOfWeek != DayOfWeek.Friday && DateTime.Now.DayOfWeek != DayOfWeek.Saturday) &&
((DateTime.Now.Hour >= 10 && DateTime.Now.Hour < 13) || (DateTime.Now.Hour >= 20 && DateTime.Now.Hour < 23)))
我必须缩短这个条件,有什么建议吗?
【问题讨论】:
-
为什么必须这样做?篇幅不短,但切中要害。
-
...但它的可读性不是很好,这对于更容易理解代码很重要
-
@MUG4N - 这就是 cmets 的用途,如果它那么糟糕,请将其分散到多行,我认为逻辑不能缩短
-
您可以将
DayOfWeek检查减少到:(Int32)DateTime.Now.DayOfWeek < 5。 -
@Sayse 我同意你的观点,你不能缩短逻辑,但你可以通过选择自解释名称的子方法来提高可读性。如果方法名称正确,则不需要 cmets。