IOS基础---Objective-C学习之OC编码规范

 

今天无意间看到这个,贴在这里,好的习惯是成功的一半,不是麽?!

 

格式化代码:

指针“*”号的位置如:

NSString *varName;

空格  VS tabs:

    只允许使用空格,将编辑器设置为1个TAB = 2个字符缩进:

 

每行的长度:

    每行最多不得超过100个字符;

    以15寸Macbook Pro的大小,每行100个字符时能最大化地同时容下编辑器和iPhone模拟器;

    Google的80字符的标准有点少,这导致过于频繁的换行(Objectve-C的代码一般都很长)。

 

方法的声明和定义:

    在  - \ + 和返回值之间留1个空格,方法名和第一个参数间不留空格。如:

- (void)doSomethingWithString:(NSString *)theString

{

    ...

} 

 

当参数过长时,每个参数占用一行,以冒号对齐。如:

- (void)doSomethingWith:(GTMFoo *)theFoo

                                rect:(NSRect)theRect

                           interval:(float)theInterval

{

    ...

} 

 

如果方法名比参数名短,每个参数占用一行,至少缩进4个字符,且为垂直对齐(而非使用冒号对齐)。如:

- (void)short:(NSString *)str

    longKeyword:(NSRect)theRect

    evenLongerKeyword:(float)theInterval

{

    ...

} 

 

方法的调用:

    调用方法沿用声明方法的习惯。例外:如果给定源文件已经遵从某种习惯,继续遵从那种习惯。

    所有参数应在同一行中,或者每个参数占用一行且使用冒号对齐。如:

[myObject doFooWith:arg1 name:arg2 error:arg3];

[myObject doFooWith:arg1

               name:arg2

              error:arg3]; 

 

和方法的声明一样,如果无法使用冒号对齐时,每个参数一行、缩进4个字符、垂直对其(而非使用冒号对齐)。如:

[myObj short:arg1

    longKeyword:arg2

evenLongerKeyword:arg3]; 

 

@public 和 @private:

    @public 和 @private使用单独一行,且缩进1个字符

 

Protocol:

    类型标示符、代理名称、尖括号间不留空格。

    该规则同样适用于:类声明、实例变量和方法声明。如:

@interface MyProtocoledClass : NSObject<NSWindowDelegate>

{

    @private

    id<MyFancyDelegate> _delegate;

}

- (void)setDelegate:(id<MyFancyDelegate>)aDelegate;

@end 

 

如果类声明中包含多个protocol,每个protocol占用一行,缩进2个字符。如:

@interface CustomViewController : ViewController

< AbcDelegate,

  DefDelegate

> {

    ...

} 

 

命名:

类名:

    类名(及其category name 和  protocal name)的首字母大写,写使用首字母大写的形式分割单词

    在面向特定应用的代码中,类名应尽量避免使用前缀,每个类都使用相同的前缀影响可读性。

    在面向多应用的代码中,推荐使用前缀。

 

方法名:

    方法名的首字母小写,且使用首字母大写的形式分割单词。方法的参数使用相同的规则。方法名+ 参数应尽量读起来像一句话(如:)。在这里查看苹果对方法命名的规范。

    getter的方法名和变量名应相同。不允许使用“get”前缀。如:

- (id) getDelegate; // 禁止

- (id)delegate; // 对头 

 

变量名:

    变量名应使用容易意会的应用全称,且首字母小写,且使用首字母大写的形式分割单词;

    成员变量使用“_”作为前缀。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值