有时,我会编写一些带有比我喜欢的更多括号的代码。
if(!(new Day((((new Date()) / millisecondsPerDay) % 75)) instanceof oldDay))) {
// Bonus points if that condition made any sense to you
}
很难跟踪我需要放置多少个括号,尤其是当我使用的 IDE 没有在出现问题时立即告诉我时。事实上,我敢打赌上面的例子与括号不正确匹配。我被括号中的死亡错误所钉住的次数比我愿意承认的还要多。
我想知道是否有办法规避这个问题。我可以使用哪些技术来避免用这么多括号括起来?
是否有任何语言具有不需要这么多括号的机制?例如,我认为添加自动关闭括号的特殊字符和自动打开它们的特殊字符可能会有所帮助。 (<
and >
在下面的例子中)
if(!(new Day<new Date()) / millisecondsPerDay) % 75> instanceof oldDay>
一种可行的替代方法是在条件循环之前预先计算括号内的值。以你的代码为例:
if(!(new Day((((new Date()) / millisecondsPerDay) % 75)) instanceof oldDay))) {
// Bonus points if that condition made any sense to you
}
让我们开始分解它。
Date d1 = new Date();
var factor1 = (d1 / millisecondsPerDay ) % 75;
Day day1 = new Day (factor1);
if (!day1 instanceof oldDay) {
// do something
}
请记住,代码是为人类阅读而编写的,然后才供机器执行。如果您发现巨大的条件语句,请开始预处理它们并将其分解。如果需要超过一秒钟才能弄清楚您正在检查的情况,那么它可能太长了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)