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

Xcode 中 Objective-C 代码的样式哪种更标准的对比分析

2013-12-15 10:11 405 查看
Xcode 中 Objective-C 代码的样式哪种更标准的对比分析

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

Xcode 中 Objective-C 代码的样式在不断升级过程中,示例代码中留下如下两种,这可能是主导人的风格不同导致,甚至项目模板都在变,但具体哪种更标准呢,我们分的一下,这涉及到阅读代码在开发小组中的统一性,以及代码格式化的应用效果。

风格1:

if (1>2)
{

NSLog(@"true");
}
else
{

NSLog(@"false");
}


风格2:

if (1>2) {

NSLog(@"true");
}
else {

NSLog(@"false");
}


以上两种的根本差别,就在于代码块的起始大括号是单起一行,还是与所属指令在同一行,类和方法的创建时,也涉及到此问题。

那么我们利用XCode自带的Re-Indent代码格式化功能来格式化一下,就能看出真伪了,请往下看:

分别选中上面的两种风格的代码,点右键,找到Structure->Re-Indent,点按Re-Indent后,以上代码将发生变化,即使不对齐,也会成如下的格式化后的效果

风格1格式化后:

if (1>2)
{

NSLog(@"true");
}
else
{

NSLog(@"false");
}


风格2格式化后:

if (1>2) {

NSLog(@"true");
}
else {

NSLog(@"false");
}


由此可见,风格2是XCode内置代码格式化功能所支持的,真不知为什么有些XCode版本的模板居然也用风格1,而没有考虑XCode内置功能要求。

而且从XCode3开始就是风格2,后续又在不断的变,这样对代码风格的影响可不少,分析代码来说,不同风格总不会那么顺畅,感觉格格不入,一条记忆法则就是,在特定环境中重现,如果不能很快记个大概,阅读别人的代码到另一部分时,就没办法在头脑里建立起有效果的上下文关联,逻辑怎么能清晰地出现呢?!

再有,XCode的代码格式化功能确实有些差强人意,白瞎了完整单词命名那么长串了,希望苹果有空儿时,能在没没落之前,把这个活儿给干了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: