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

简介: Xcode 中 Objective-C 代码的样式哪种更标准的对比分析 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

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的代码格式化功能确实有些差强人意,白瞎了完整单词命名那么长串了,希望苹果有空儿时,能在没没落之前,把这个活儿给干了!





目录
相关文章
|
Web App开发 JavaScript iOS开发
Xcode9用Safari调试模拟器JS代码显示“无可检查的应用程序”的原因
Xcode9用Safari调试模拟器JS代码显示“无可检查的应用程序”的原因
1071 0
|
3月前
|
JSON 监控 iOS开发
使用局域网监控软件进行Objective-C代码调试
使用局域网监控软件辅助Objective-C调试,包括设置断点和日志记录,例如在`sayHello`方法中添加调试信息。通过监控网络流量,如发送GET请求,捕获和分析数据包以理解应用行为。监控数据可自动提交到网站进行进一步分析,例如使用POST请求将数据发送至指定URL。此方法有助于优化代码并提供调试洞察。
70 0
|
4月前
|
缓存 开发工具 iOS开发
优化iOS中Objective-C代码调起支付流程的速度
优化iOS中Objective-C代码调起支付流程的速度
54 2
|
iOS开发 开发者
iOS开发-新版Xcode在Appdelegate中通过代码控制跳转,不使用系统默认跳转到默认ViewController
iOS开发-新版Xcode在Appdelegate中通过代码控制跳转,不使用系统默认跳转到默认ViewController
243 0
iOS开发-新版Xcode在Appdelegate中通过代码控制跳转,不使用系统默认跳转到默认ViewController
|
IDE API 开发工具
Xcode低版本运行高版本代码的适配问题
最近升级到Xcode13后,发现机子发热量过大,卡顿量,于是做好适配iOS15后,再安装Xcode12,把Xcode12作为开发IDE
381 0
|
iOS开发
iOS 统计Xcode项目代码行数
iOS 统计Xcode项目代码行数
272 0