【发布时间】:2015-12-11 19:49:25
【问题描述】:
请原谅这个模糊的标题,但我不知道如何将这个问题变成一个简短的句子。
我写了如下方法:
- (BOOL) isValueSet {
return self.myNumberValue.boolValue;
}
我的一位同事将其更改为:
- (BOOL) isValueSet {
BOOL ret = YES;
ret = self.myNumberValue.boolValue;
return ret;
}
现在,在我看来,它们的作用完全相同。但是,我的初级程序员的眼睛习惯于查看 Java 和 JavaScript 代码,我不知道 Objective-C 编译成的程序集(?)的细微差别。 我的同事通过这样扩展此方法是否有好处?
【问题讨论】:
-
您应该只查看汇编代码并进行比较。我对第二个版本唯一真正的抱怨是
ret被设置了两次。它可能会被优化,但这样做没有任何好处。我会将第一行更改为BOOL ret;。不过,坦率地说,我更喜欢第一个代码示例。 -
这三行毫无意义。两行可以使调试更容易。
BOOL ret = self.myNumberValue.boolValue; return ret;。然后可以在return这一行下断点,查看ret的值。
标签: objective-c code-size