定义函数时参数的名称是否重要?

时间:2012-05-03 02:09:51

标签: objective-c

如果我在.h文件中定义一个带有一个参数名的函数,那就重要了,例如......

-(foo *) initWithId:(NSString *)id;

然后在我的实现中为参数赋予一个不同的名称,因为它隐藏了一个类属性:

-(foo *) initWithID:(NSString *)idString;

我知道自动完成文件使用.h作为其自动完成填充程序的“基础”,虽然它不适用于这种情况,但我更喜欢在我的函数中使用属性名称在我的编码中保持一致风格尽可能。更有意义的是理解getFoo和setFoo都适用于同一属性'foo',如 - (bar *)initWithFoo:(id)foo;。

据我所知,编译器没有任何问题,但不知怎的,似乎它应该是重要的。

3 个答案:

答案 0 :(得分:5)

Xcode中的LLVM分析器似乎关心某些事情,例如以newcopy开头的方法。

当我命名以new开头的属性时,这是一个示例警告:

  

“属性的合成getter遵循Cocoa命名约定   返回'拥有'对象“

(@ property有一个@synthesize创建了一个以new开头的getter方法。)

答案 1 :(得分:3)

不,编译器不关心。阅读代码的其他人可能会关心。

答案 2 :(得分:1)

唯一真正重要的是你有一个具有相同名称的实例变量名称。

@synthesize something;

- (void)methodForSomething:(id)something
{

something = something;

}

这会抛出错误。显然,解决方案是修改实例变量命名。

@synthesize something = _something;

除此之外,参数名称无关紧要。