为什么方法的名称在Objective-C中如此之长

时间:2014-02-18 11:26:41

标签: objective-c

我已经学过C / C ++,Python,Matlab和许多其他语言,但我对objective-c中的长方法名称感到非常惊讶。

使用长名称有什么好处? 为什么没有其他语言使用长名?

非常感谢。

4 个答案:

答案 0 :(得分:4)

简单的答案是长方法名称是自描述的。 (并且由于每个参数都是通过另一个方法名称部分引入的,因此方法名称变得更长。)优点是代码读取非常容易,并且由于代码完成,手动输入整个内容不会有额外的惩罚。 / p>

答案 1 :(得分:3)

它类似于代码约定。通常它非常有用。

但您可以根据需要为自己的方法命名。另请注意,并不强烈要求命名所有参数。例如,您可以创建方法

- (void)makeDateFromDay:(int)day month:(int)month year:(int)year

并以这种方式打电话

[someObject makeDateFromDay:18 month:2 year:2014];

但你也可以简短命名

- (void)makeDateFrom:(int)day :(int)month :(int)year

并像这样打电话

[someObject makeDateFrom:18:2:2014];

但它不那么可读,是吗?

答案 2 :(得分:0)

Obj-C方法名称严格遵守具有比其他语言更多规则的约定。例如,方法名称的最后一个单词是第一个参数的名称。

- (id)valueForRow:(int)row Column:(int)column

在C ++中,这可能是:

void getValue(int row, int column)

答案 3 :(得分:0)

更多的方法更长,更多的是他们自己说话。 如果考虑委托方法,在方法中也有引用 从被调用的方法中分类,因为它可以非常用户满足 类符合协议的类操作。

如果您想要一个应用程序,您必须执行大量计算,例如商店应用程序, 你不能声明所有具有相同名称的方法(例如sum),因为当你有两个以上同名的方法时,你开始失去对代码的控制。

很多程序员使用像name vars这样的短语法:
a,b
但是当你几个月后打开代码时,你必须重新构建程序的逻辑,以了解某个var的作用。

在团队中工作时,为方法提供一个长名称也很有用,以便在方法名称复制时更安全。