欢迎来到天天文库
浏览记录
ID:8809514
大小:244.32 KB
页数:17页
时间:2018-04-08
《ios应用开发最佳实践编写高质量objective-c代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、网址:edu.51CTO.comiOS应用开发最佳实践:编写高质量Objective-C代码点标记语法属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问,其他的情况使用方括号标记语法。良好的风格:1.view.backgroundColor = [UIColor orangeColor]; 2.[UIApplication sharedApplication].delegate; 不良的风格:1.[view setBackgroundColor:[UIColor orangeColor]]; 2.UIApplication.sharedApplica
2、tion.delegate; 间距二元运算符和参数之间需要放置一个空格,一元运算符、强制类型转换和参数之间不放置空格。关键字之后圆括号之前需要放置一个空格。1.void *ptr = &value + 10 * 3; 2.NewType a = (NewType)b; 网址:edu.51CTO.com1.for (int i = 0; i < 10; i++) { 2. doCoolThings(); 3.} 数组和字典类型的字面值的方括号两边各放置一个空格。1.NSArray *theShit = @[ @1, @2, @3 ]; 字典字面值的键和冒号之间没有
3、空格,冒号和值之间有一个空格。1.NSDictionary *keyedShit = @{ GHDidCreateStyleGuide: @YES }; C函数声明中,左括号的前面不保留空格,并且函数名应该像类一样带有命名空间标识。良好的风格:1.void RNCwesomeFunction(BOOL hasSomeArgs); 长的字面值应被拆分为多行。良好的风格:1.NSArray *theShit = @[ 2. @"Got some long string objects in here.", 3. [AndSomeModelObjects too
4、], 4. @"Moar strings." 5.]; 6.NSDictionary *keyedShit = @{ 7. @"this.key": @"corresponds to this value", 8. @"otherKey": @"remoteData.payload", 9. @"some": @"more", 10. @"JSON": @"keys", 11. @"and": @"stuff", 12.}; 每一行代码使用4个空格缩进。不使用tab缩进。下图是在Xcode的Preferences进行缩进设置的截图。
5、网址:edu.51CTO.com方法签名以及其他关键字(if/else/switch/while等)后面跟随的左花括号总是和语句出现于同一行,而右花括号独占一行。良好的风格:1.if (user.isHappy) { 2.//Do something 3.} 4.else { 5.//Do something else 6.} 如果一个方法内有多个功能区域,可以使用空行分隔功能区域。每一行代码不要超过100个字符。每一个方法之前都有一个99字符宽的注释行,注释行相对于使用空行更能提高代码的辨识度,当一行代码很长的时候,注释行也起到了越界检测的作用。注释行://////
6、//////////////////////////////////////////////下页内容更精彩条件语句所有的逻辑块必须使用花括号包围,即使条件体只需编写一行代码也必须使用花括号。网址:edu.51CTO.com良好的风格做法:1.if (!error) { 2. return success; 3.} 不良的风格:1.if (!error) 2. return success; 或:1.if (!error) return success; 三元运算符长的三元运算符应使用圆括号括起来。三元运算符仅用于赋值和做参数。1.Blah *a = (st
7、uff == thing ? foo : bar); 合并的nil三元运算符应该尽量避免。不良的风格:1.Blah *b = thingThatCouldBeNil ?: defaultValue; 多分支条件应该使用if语句或重构为实例变量。良好的风格:result=a>b?x:y;不良的风格:result=a>b?x=c>d?c:d:y;异常和错误处理不要在流控制语句中使用异常(NSException)。异常仅用于表明程序员的错误。为了表明一个错误,使用NSError*。网址:edu.51CTO.com当一个方法通过引用返回一个错误参数,应该检测
此文档下载收益归作者所有