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”,方便阅读代码
//实际上是对齐的,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”,方便阅读代码
相关文章推荐
- Objectvie-C之 NSString 处理技巧-分割字符串
- enumerateKeysAndObjectsUsingBlock 的用法
- 把NSObject对象输出为字典
- JSON通过配置文件格式化时间属性(解决[object Object]问题)
- Html emed 和 object
- c语言, objective code(new 2)
- ObjectAid 类图生产工具使用
- JSONObject 的使用学习
- objective-c基础教程——学习小结
- swfobject.js视频播放插件
- JsonObject
- 对象类型object
- gameobject与Gameobject
- Minimize Importing Header 学习
- Familiarize Yourself with ObjC's Roots学习
- Objective-C 程序设计(第四版)复习摘要(上)
- [objective_[getter器和setter器的使用]
- Objective-c 之数组NSArray 可变数组NSMutableArray
- Objective-C 【autorelease基本使用】
- Objective-C 【autorelease基本使用】