- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OC编程规范
Objective-C 编程风格指南NYTimes Objective-C 编程风格指南。来源:/NYTimes/objective-c-style-guide?这篇指南总结了纽约时报iOS开发团队的编程风格。欢迎大家在github中提供建议和pull请求。?简介:以下是形成本编程指南所涉及到的Apple官方文档。如果本文有未尽之处,可以参考以下链接:/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.htmlThe Objective-C Programming Language/library/mac/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.htmlCocoa Fundamentals Guide/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.htmlCoding Guidelines for Cocoa/library/ios/iOS App Programming Guide?目录点表示法空格条件语句三元运算子方法变量命名下划线注释初始化内存释放Literals字面量CGRect 函数常量枚举类型私有属性图片名称布尔变量单例Xcode项目?点表示法应“仅”用于获取和改变属性。括号表示法用于所有其它实例。例如:恰当用法:view.backgroundColor = [UIColor orangeColor];[UIApplication sharedApplication].delegate;不当用法:[view setBackgroundColor:[UIColor orangeColor]];UIApplication.sharedApplication.delegate;?空格(1)行缩进使用4个空格。禁止使用Tab键来缩进。请在Xcode偏好设置中进行设置。(2)方法大括号和其它大括号(比如if/else/switch/while等等)应在语句的同一行开始,而在新的一行关闭。例如:if (user.isHappy) {//Do something}else {//Do something else}(3)为保证视觉上的整洁和代码组织,在方法之间应提供且仅提供一行空白。方法中的空白应用于区分功能,但空白行最好用于区分两个不同方法。(4)@synthesize和@dynamic应在方法实现的新一行中声明。?条件语句为避免错误,条件语句体必须使用大括号,即便语句体中的语句可以不必使用大括号(比如只有一行语句)。常见的错误包括在不使用大括号的情况下添加第二行语句,以为它属于if语句的一部分。此外,更可怕的事情是,如果条件语句中的代码行被注释,则本不术语条件语句的下一行代码将变成条件语句的一部分。此外,这种编码风格和所有其它条件语句均保持一致。例如:恰当用法:if (!error) { return success;}?不当用法:if (!error) return success;?不当用法2:if (!error) return success;?三元运算子仅当使用该运算子可以让代码显得更清晰易懂时方可使用三元运算子。更多情况下应使用条件语句。使用类似if的条件语句对多种条件进行判断通常要更容易理解,或使用实例变量。?恰当用法:result = a b ? x : y;?不当用法:result = a b ? x = c d ? c : d : y;?方法在方法声明中,在(-/ )符号之后应加上一个空格。此外,在方法段之间应添加一个空格。?例如:(void)setExampleText:(NSString *)text image:(UIImage *)image;?变量变量的命名应尽可能具有自解释性。除了在for()循环语句中,应避免使用单个字母变量名称。除非是常量,星号应紧贴变量名称表示指向变量的指针,比如:?正确用法:NSString *text;?不当用法:NSString* text;?NSString * text;?应尽可能使用属性定义替代单一的实例变量。避免在初始化方法,dealloc方法和自定义的setter和getter方法中直接读取实例变量参数(init,initWithCoder:,等等)。更多信息请参看here?例如:恰当用法:@interface NYTSection: NSObject?@property (nonatomic) N
文档评论(0)