我们写出来的代码会给很多人看,为了使代码清晰简洁,方便阅读理解,都会统一遵从一定的代码规范,Objective-C同样如此。
主要参考规范:
简单总结一下目前接触到的:
1.代码行度最大为100列(C++的是80)

2.声明类或方法时,注意空格的使用,参数过多时可换行保持对齐,

调用方法时也是如此,参数都写在一行或换行冒号对齐,

3.命名规则
类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像一句话,能够传达出方法的意思,同时取值方法前不要加前缀“get”

变量名小写字母开头

常量以小写字母k开头,后续首字母大写

4.关于注释
注释很重要,但除了开头的版权声明,尽可能把代码写的如同文档一样,让别人直接看代码就知道意思,写代码时别担心名字太长,相信Xcode的提示功能。
5.实例变量应该在实现文件.m中声明或以@property形式在.h文件中声明,一定要直接在.h文件声明,加上@priavte,另外,使用@private、@public,前面需要一个缩进空格。
6.尽可能保证 .h文件的简洁性,可以不公开的API就不要公开了,写在实现文件中即可。
7.Xcode支持Objective-C/C/C++混编,所以引用头文件时:#import Ojbective-C/Objective-C++头文件(Objective-C++是Objective-C与C++混编的文件),#include C/C++头文件。
8.写delegate的时候类型应该为weak弱引用,以避免循环引用,当delegate对象不存在后,我们写的delegate也就没有存在意义了自然是需要销毁的,weak与strong可以参考上一篇文章介绍。

9.实例变量声明时变量名前面加下划线“_”,局部变量不用加。


10.使用Block时,内容四个空格缩进,“^”后带有参数时,参数与“{”之间有一个空格缩进

11.建议使用“#pragma mark”,方便阅读代码
