我所习惯的一些编程规范以及写法用法:
1.文件名、变量、类名、函数名、使用驼峰命名法(看到首字母小写的有点难受)
2.尽量使用完整的单词命名(不要用拼音,没有意义的命名,比如button1,button2)
3.一个方法中代码不要太长(控制一下,不要几百行),一个类中代码不要太长(上千行,几千行)太多了说明写的有问题
4.每个头文件最开始处用简短注释说明一下该类是干什么用的
5.类中功能模块以 #pragma mark - 分隔 写上模块注释
6.类的成员变量写在.m文件中作为属性(不对外暴露,实质oc的成员变量都可以通过runtime获得,选择不暴露)
7.所有的代码块必须用{}, 即只有1行的if代码也必须用{},有if的带上else,哪怕是空的
8.关于空格换行尽量跟系统类库风格保持一致
9.基础数据类型尽量用OC类库的
10.尽量用协议代替block便于理解(尽管协议写起来要繁琐一点)
11.养成良好的注释习惯(免得后期去看自己的代码的时候会懵逼)
12.如果需要引用一个类文件时,只是需要使用类名,不需要知道其中细节,可以用@class xx.h(可以减少一定的编译时间)
13.多使用字面量语法来创建字符串,数组,字典等(oc2.0的语法,如NSArray *languages = @[@"PHP", @"Objective-C", someObject, @"Swift", @"Python"];NSDictionary *dict = @{@"key" : @"value"};可变数组加上mutableCopy NSMutableArray *languages = [@[@"PHP", @"Objective-C", @"Swift", @"Python"] mutableCopy];)
14.多用枚举表示状态、选项、状态码
15.定义对外开放的属性时候尽量做到暴露权限最小化,不希望被修改的属性要加上readonly。线程安全自己去加锁属性就都用nonatomic,atomic严重影响性能
16.用前缀避免命名空间冲突
17.不要在delloc方法中调用其他方法(除了一些释放相关的事情,如KVO取消订阅,remove 通知等)
18.以弱引用避免保留环(Retain Cycle)
19.block 不是被self所持有的,在block中就可以使用self
20.构建缓存时选用NSCache而非NSDictionary
PS.祝大家写代码写出高潮,哈哈哈