非间隔方法定义样式

时间:2010-08-18 09:47:40

标签: objective-c cocoa syntax coding-style

人。我现在正在研究Obj-C和Cocoa,我想知道:为什么每个人都写这样的方法定义/实现:

- (void)translateOriginToPoint:(NSPoint)newOrigin{

- 一起,没有空格。

对我来说,用这样的间距写出所有内容的方式会更清晰:

- (void) translateOriginToPoint: (NSPoint) newOrigin {

但我看到无处不在的风格:Apple文档,各种Cocoa开发站点和博客中的代码示例,i。即这就是有经验的程序员写这篇文章的方式。为什么这样?

3 个答案:

答案 0 :(得分:2)

如果你发现为自己的代码使用空格更容易,并且你不希望分享它,那么嘿,去吧。但正如您所说,大多数示例和开源的Objective-C代码在方法名称,参数和类型之间不使用空格。编码风格的一致性很好;毕竟,代码适用于人类。我强烈建议您采用标准方法。

如果我不得不猜测,我会建议它,因为带有多个参数的方法的视觉外观使用空格来分隔方法定义中的参数;

- (void)say:(NSString *)message withTitle:(NSString *)title {

答案 1 :(得分:1)

一个有用的(非燃烧的)格式化点,如果你有一个很长的参数列表,那么当你有一个多行消息声明时,Xcode会在冒号处很好地格式化(只需在输入你的名字后输入:(类型) )localVarName文本,它将正确选中它:)

- (void)handleNewConnectionFromAddress:(NSData *)addr 
                           inputStream:(NSInputStream *)istr 
                          outputStream:(NSOutputStream *)ostr 

你会在文档和许多Cocoa书籍中看到这种风格。

编码“风格”是开发者之间的一场神圣的战争(包括放置{}的地方)在提出这些问题时要小心;你可能会得到一些令人不安的反应。

答案 2 :(得分:0)

它背后没有任何逻辑,它被先驱者广泛接受并且变得如此(接受我的话,但它没有参考,这是通过共同的经验)。

另外,我也在使用你的格式化风格:所以现在我们是一个有自己标准的小社区:p

祝你好运。