我已经学过C / C ++,Python,Matlab和许多其他语言,但我对objective-c中的长方法名称感到非常惊讶。
使用长名称有什么好处? 为什么没有其他语言使用长名?
非常感谢。
答案 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的作用。
在团队中工作时,为方法提供一个长名称也很有用,以便在方法名称复制时更安全。