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

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

时间: 2024-08-31 23:23:17

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

Xcode 修改系统的代码块样式 Code Snippet

Xcode在编码的时候,系统代码块给我们提供了很大的便利.然而,有时候,也给我们带来很大的困扰. 例如,系统的 if 代码块,大括号是紧跟括号之后的.   但是现在呢,公司的代码规范是要求另起一行.  那每次都得手动去调,的确是件很影响心情的事. 现在,就教大家怎么去修改系统的代码块样式. Xcode内置代码模板 Xcode的所有代码模板是用一个plist格式xml文件描述的,这文件存储在Xcode的安装目录:  /Applications/Xcode.app/Contents/Framewor

C++中调用JS代码的问题

前段时间开发了一个COM组件配合web前端使用,遇到了C++中调用JS代码的问题,在网上查了很多资料,现 总结一下,留作以后察看. C++中调用JS代码主要有两种情况:1. IE线程中调用:2. 其他线程调用 1. IE线程中调用:这种情况网上已经有很多资料,下面列出示列代码: C++代码 STDMETHODIMP CJsInvoker::InvokeJsFunc(LONG para1, LONG para2, VARIANT jsFunction, LONG* retValue) { CCom

php中数据库连接方式pdo和mysqli对比分析

 这篇文章主要介绍了php中数据库连接方式pdo和mysqli从各个方面进行了对比分析,十分全面,这里推荐给大家,有需要的小伙伴来参考下.     1)总的比较     PDO MySQLi 数据库支持 12种不同的数据库支持 支持MySQL API OOP OOP + 过程 Connection Easy Easy 命名参数 支持 不支持 对象映射支持 支持 支持 预处理语句 (客户端) 支持 不支持 性能 快 快 支持存储过程 支持 支持 2 连接方式 先来看下两者连接数据库的方式:   代

【IOS-COCOS2D-X 游戏开发之十三】详细讲解在XCODE中利用预编译并通过JNI调用ANDROID的JAVA层代码(COCOS2DX里访问调用ANDROID函数)!

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/725.html 很多看过之前Himi的[iOS-cocos2d-X 游戏开发之七]整合Cocos2dX的Android项目到Xcode项目中,Xcode编写&编译代码,Android导入打包运行即可! 博文的童鞋都在问我如何在Xcode中能调用Java的函数,比如在Android端需要加入广告.支付.等第三方平台或者

Android中ActionBar以及menu的代码设置样式

  这篇文章主要介绍了Android中ActionBar以及menu的代码设置样式的相关资料,需要的朋友可以参考下 menu部分xml代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://sche

【iOS7的一些总结】4、Xcode中的代码版本控制

有时候在开发过程中我们经常会遇到这样的问题,即本来编译运行都OK的程序,不知道修改了那个配置,突然变得无法编译,或者运行时出现了各种各样的bug.此时的办法只能是硬着头皮去一个个地修改,或者干脆全部推倒重来.这种方式面临着很严重的问题,即使项目很小,也会耗费掉我们的很大精力,如果项目规模庞大,那我们就彻底不知所措了.所以,在代码中实行版本控制还是非常重要的.我们常用到的版本控制工具有SVN和GIT客户端等,这两者在开发iOS应用时依然可以发挥强大的作用,然而如果只是一个我们自己开发的工程则显得有

如何在博客中使用SublimeText风格的代码高亮样式

因为觉得博客园自带的代码高亮样式很单一,不符合作为前端的我的审美习惯,于是下定决心要想办法折腾出一个方法来应用上另外一套代码高亮样式. 虽然探索的过程是很痛苦的,但最后还是成功了,但也不枉付出的那些努力.近来有网友问及如何实现,现分享出来,看完本文后你也可以把自己博客的代码整得漂亮些,让别人看着舒服些了. 方法其实是很麻烦的,即使是写了好几篇博客了对这个过程我已经娴熟了,但其实也还是挻麻烦的.不过谁叫我有是个偏执狂呢,为了让页面漂亮我愿麻烦自己,舒服大家.如果你有更好的方法那当然更好. 安装su

Xcode中修改变量名、类名及字符串的替换操作

Xcode中修改变量名.类名及字符串的替换操作         在做iOS开发代码优化的工作时,优化代码结构之前,我们应该先整理好工程的外貌,将文件和类的命名进行规范,在Xcode中为我们提供了方便而强大的名称修改功能. 第一步:修改类名         将鼠标点击放在类的名称上,选择Xcode工具栏中的edit->refactor->rename: 之后,将类名更改为我们需要的模式点击preview,记得将下面的关联文件勾选: Xcode会为我们检测出需要更改的地方,浏览无误后点击save.

ASP.NET程序中常用编程代码(一)

asp.net|编程|程序 1.为按钮添加确认对话框 Button1.Attributes.Add("onclick","return confirm('确认?')");button.attributes.add("onclick","if(confirm('are you sure...?')){return true;}else{return false;}") 2.删除表格选定记录 //获得DataGrid主键int i