让Foo
类具有方法isUpToDate()
。该方法在应用程序中被多次调用,并且在调用时总是被反转。即if(!foo.isUpToDate()) { ... }
。如果将方法重构为isNotUpToDate()
(以避免在每次调用时都使用!
),这是好事还是坏事?
编辑:为避免仅以意见为基础,有人可以分享对某些可贵来源的引用吗?
答案 0 :(得分:2)
我通常建议不要在函数名称中使用负号。这是因为双重否定会变得难以阅读。
如果在函数名称中使用 Not ,则可以通过以下方法检查某些内容是否最新。
!foo.NotUpToDate(...)
因此,通过尝试避免否定,您为双重否定打开了大门。这很不好。
为避免双重否定,请编写函数和方法以检查 positive 语句并使用您的语言 not 运算符。
答案 1 :(得分:2)
就像OlivierMelançon所说,由于双重否定,不建议在函数名称中使用Not。如果仅使用倒置形式,则通常可以使用该函数的更好的名称。
在您的情况下,我建议您使用NeedsUpdate(...)
或IsDirty(...)
答案 2 :(得分:-1)
不,不是。您应该以一种更加理解和自我解释的方式编写代码,这样,当别人(甚至一段时间后甚至自己)只是看一下您的代码(即使不阅读代码文档)时,他也会理解foo.isUpToDate()确定是否该类是否更新。使用!没什么不好,我想isUptoDate的混乱程度要比isNotUpToDate少,但这取决于您。