我想知道你们认为分配变量值的最佳实践是什么。“懒惰”案例:
signal = -1
if (date.month != nextDate.month):
signal = +1
或完全披露的案例:
if (date.month != nextDate.month):
signal = +1
else:
signal = -1
这两种情况的优点/缺点是什么?
我想知道你们认为分配变量值的最佳实践是什么。“懒惰”案例:
signal = -1
if (date.month != nextDate.month):
signal = +1
或完全披露的案例:
if (date.month != nextDate.month):
signal = +1
else:
signal = -1
这两种情况的优点/缺点是什么?
选择完全披露的案例。
signal
是根据某些条件分配的(本质上是一个 switch 语句)能够快速识别正在发生的事情非常重要,而完全公开的案例则能做到这一点。请记住,您的代码将被阅读的次数多于编写的次数,因此请让未来的代码读者更容易阅读。
为什么不
signal = -1 if date.month == nextDate.month else 1
它简单易读。
在实践中,我倾向于使用第一个(“懒惰”)案例。它更简洁,并且很清楚它的作用。
我其实觉得函数式的版本更好(即python的if表达式),我会尝试切换到使用它。