美文网首页iOS学习iOS开发
Effective Objective-C 2.0/头文件中尽量

Effective Objective-C 2.0/头文件中尽量

作者: 自在的仙人 | 来源:发表于2017-01-02 13:23 被阅读24次

    首先OC引入头文件的关键字 #import 和 C/C++的#include有一点不一样就是,同一个头文件或者.m文件import两个一样的头文件时,会自己过滤掉重复引入的头文件,而#include我们自需要自己写宏定义。而import有一点需要注意的是,有的人说来个头文件相互循环引用(即A头文件引入B头文件,B头文件又引入A头文件)会出现相互不停的拷贝的问题,但是我自己实际是过一下,编译和运行其实并没有什么问题,其实这种情况,和头文件定义时自己引用自己的问题是一样的,我也尝试过头文件自我引用,也没用出现无限循环和其他的BUG。
    但是不管怎么样,都不应该出现循环引用或者头文件自我引用的情况,因为没有意义。
    头文件尽量少引用其他的头文件,主要是为了减少编译时的负担,从而减少编译所需要的时间,这虽然对于程序编译完成之后的运行没有什么特别的效率影响,但是对于一个程序员来说,减少编译的时间可以提高工作效率,我在使用Eclipse做JAVA WEB开发的时候,就有一个非常明显的感觉,项目比较大的时候,编译时间特别长,C语言也是一样的,我自己编译安装OpenSSL的时候,光编译就花了十几分钟吧,当然这和我的机器配置也有关系。
    OC中有一个@class的用法,称之为前置类型声明,也被称作“向前声明”,因为协议的声明不需要知道该类的实现细节,仅仅是在协议的实现的时候需要用到,我通常在一个类的头文件中加入协议定义的时候会用到,告诉协议需要用到这个类,在协议定义完成之后,就开始定义这个类。
    一般来讲,有的同学可能觉得无所谓,反正多引入了也不会对程序运行产生不利的影响,但是这种习惯并不好,一旦这种坏习惯不改,就会导致写代码逻辑混乱,有用的写,没有用的也写,代码质量就很低,干净的代码看了会让人赏心悦目,我个人非常讨厌代码里面无用头文件或者无用的变量引出的告警,还有就是变量、方法、类或者属性的声明名字不遵循一定的规则,而是随性而为,有时用Pascal,有时用Camel,有时根本就没有任何规则,一般公司都有特定的规则,比如苹果就很明显,NS前缀,CG前缀等等。

    相关文章

      网友评论

        本文标题:Effective Objective-C 2.0/头文件中尽量

        本文链接:https://www.haomeiwen.com/subject/vjewvttx.html