您的位置:首页 > 移动开发 > Objective-C

objective c代码规范

2015-09-02 14:45 302 查看
1、当参数过长时,每个参数占用一行,以冒号对齐。如:

//实际上是对齐的,copy过来后有些变形

- (void)writeFisrtNumber:(NSString *)firstStr

withNextNumber:(NSString *)nextStr

withLastNumber:(NSString *)lastStr

{

}

2、如果方法名比参数名短,每个参数占用一行,至少缩进4个字符,且为垂直对齐(而非使用冒号
对齐)。如:
//实际上是对齐的,copy过来后有些变形

- (void)writeA:(NSString *)firstStr

withBBBBBBBBBBB:(NSString *)nextStr

withCCCCCC:(NSString *)lastStr

{

}

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

@interface RootViewController : UITableViewController<</p>

UITableViewDelegate,

UITableViewDataSource,

UITextFieldDelegate,

UITextViewDelegate

>{

……

}

4、注释: 注释可以采用’ ’和’ //’两种注释符号,涉及到多行注释时,尽量使用’ ’。

5、方法前面的注释遵循以下格式:如果某项没有,则以N/A表示(此处为copy内容,说句实话,自己也没这么仔细的写过,但感觉部分关键方法这样写,很有必要,让看你代码的人不用太费力)

例如:





6、关于空行(安排好了,确实很美观,还有一点就是这样能区分项目组不同成员写的代码,密疏安排也是一种美)

a) .h中的空行

文件说明与头文件包含(#import)之间空1行

头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。

头文件包含(#import)与@class之间空2行。

@interface与@class之间空1行。

头文件{}里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行。

头文件{}外,空1行书写属性,如果需要分类区别,各类别之间空1行。

属性下面空1行开始写方法,如果需要分类区别,各类别之间空1行。

方法完成后,空1行@end。

如果需要声明protocol,空2行接着写。通常protocol写在@end后面,但是声明在@interface之前。

b).m中的空行

文件说明与头文件包含(#import)之间空1行

头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。

@implementation和@synthesize之间空1行,如果需要分类区别,各类别之间空1行。

@synthesize与方法之间空1行。

方法与方法之间空1行。

C) 方法里面的空行

变量声明后需要空1行,如果需要分类区别,各类别之间空1行。

条件、循环,选择语句,整个语句结束,需要空1行。

各功能快之间空1行。

最后一个括弧之前不空行。

注释与代码之间不空行。

#pragmamark 与方法之间空1行。

d) 每行代码最多不得操作100个字。设置如下:Xcode=> Preferences => TextEditing

=> Page Guide at column /输入100即可。

7、对于一些特殊类型的变量,命名时要带上类型,如NSArray的变量命名为xxxArray,其他的如xxxDictionary,xxxSize等。这样就可以从名称上知道是什么类型的变量。千万不能将NSArray的变量命名为xxxDictionary。

8、常量

1) 避免在程序中直接出现常数,使用超过一次的应以宏定义的形式来替代。

2) 常数的宏定义应与它实际使用时的类型相一致。如以3.0来定义浮点类型,用3表示整型。

3) 常量的命名应当能够表达出它的用途,并且用大写字母表示。

例如:

#definePI 3.1415926

9.代码行度最大为100列(C++的是80)



10.声明类或方法时,注意空格的使用,参数过多时可换行保持对齐,



调用方法时也是如此,参数都写在一行或换行冒号对齐,



11.命名规则

类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前缀“get”



变量名小写字母开头



常量以小写字母k开头,后续首字母大写



12.关于注释

注释很重要,但除了开头的版权声明,尽可能把代码写的如同文档一样,让别人直接看代码就知道意思,写代码时别担心名字太长,相信Xcode的提示功能。

13.实例变量应该在实现文件.m中声明或以@property形式在.h文件中声明,一定要直接在.h文件声明,加上@priavte,另外,使用@private、@public,前面需要一个缩进空格。

14.尽可能保证 .h文件的简洁性,可以不公开的API就不要公开了,写在实现文件中即可。

15.Xcode支持Objective-C/C/C++混编,所以引用头文件时:#import Ojbective-C/Objective-C++头文件(Objective-C++是Objective-C与C++混编的文件),#include C/C++头文件。

16.写delegate的时候类型应该为weak弱引用,以避免循环引用,当delegate对象不存在后,我们写的delegate也就没有存在意义了自然是需要销毁的,weak与strong可以参考上一篇文章介绍。



17.实例变量声明时变量名前面加下划线“_”,局部变量不用加。





18.使用Block时,内容四个空格缩进,“^”后带有参数时,参数与“{”之间有一个空格缩进



19.建议使用“#pragma mark”,方便阅读代码



总结,规范其实就是让你养成一种良好习惯的标杆,在此面前我们应该顺从。

1.代码行度最大为100列(C++的是80)



2.声明类或方法时,注意空格的使用,参数过多时可换行保持对齐,



调用方法时也是如此,参数都写在一行或换行冒号对齐,



3.命名规则

类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前缀“get”



变量名小写字母开头



常量以小写字母k开头,后续首字母大写



4.关于注释

注释很重要,但除了开头的版权声明,尽可能把代码写的如同文档一样,让别人直接看代码就知道意思,写代码时别担心名字太长,相信Xcode的提示功能。

5.实例变量应该在实现文件.m中声明或以@property形式在.h文件中声明,一定要直接在.h文件声明,加上@priavte,另外,使用@private、@public,前面需要一个缩进空格。

6.尽可能保证 .h文件的简洁性,可以不公开的API就不要公开了,写在实现文件中即可。

7.Xcode支持Objective-C/C/C++混编,所以引用头文件时:#import Ojbective-C/Objective-C++头文件(Objective-C++是Objective-C与C++混编的文件),#include C/C++头文件。

8.写delegate的时候类型应该为weak弱引用,以避免循环引用,当delegate对象不存在后,我们写的delegate也就没有存在意义了自然是需要销毁的,weak与strong可以参考上一篇文章介绍。



9.实例变量声明时变量名前面加下划线“_”,局部变量不用加。





10.使用Block时,内容四个空格缩进,“^”后带有参数时,参数与“{”之间有一个空格缩进



11.建议使用“#pragma mark”,方便阅读代码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: