CodeReview 代码评审
1.全部MVVM模式
api和数据处理全部放在VM里面处理,M里面不要有业务代码
2.能使用 @class 在.h ,不要 #import
@class XMPerson.h
3.注释规范
1.类.h要有说明其用途
2.属性生命需要用///注释
/// 声音标题
@property (nonatomic ,copy) NSString *voiceTitle;
3. 内容分段用 #param mark - 段内用 #param mark
#pragma mark -
#pragma mark - lazy
4.方法注释需要见名思意
// 设置无网络视图
- (void)resetNoNetView
4.命名规范(包括方法命名、类名、变量名)
1.统一驼峰命名,都以模块前缀开头
2.变量命名不要单个字符
3.类名末尾要包含此类的类型,比如XMRootView,XMRootViewController
4.命名原则要表达出其主要意图
5.属性
1.属性名称首字母小写,后续首字母大写;
2.使用@property,要保持必要的空格,如:@property (nonatomic, strong);
3.如果在@implementation内声明全局变量,则使用下划线前缀,局部变量不需要使用下划线前缀;
4.禁止使用a、b、c这样的变量命名,要见词达意;
5.属性命名时,要将属性类型编写到属性名中,使读者看到变量名即可知道这是个什么类型的变量,比如:usersDict,usersArray等。
6.方法
1.-或者+后加一空格;
- (void)viewDidLoad {
}
2.方法名首字母小写,后续单词首字母大写;
- (void)viewDidLoad
3.参数名首字母小写,后续单词首字母大写;
4.参数类型如果带有*号,则参数类型和*号之间加一空格;
5.如果方法太长、参数过多,可以换行冒号对齐,方法调用也一样;
6.非重写系统方法时,不要使用is、set和get前缀;
7.可以使用 can,should,will等词来协助表达存取方法的意思,但不要使用do和does;
8.不可以省略关键词;
9.尽量让方法的命名读起来像一句完整的话,能够传达出方法的意思;
7.使用统一前缀
XMMineSignTaskViewController
8.代码分模块
1.代码分模块写,不要写到公共里面去。能从公共抽出来的东西不要放里面去
9.VC里.m文件结构
生命周期前面、、通知、tableview、public、private、懒加载最后
10.方法的封装
1.方法的单一职责:单个方法的职责尽量单一,尽量抽离公共逻辑,方法尽量复用。
2.方法实现行数:一个方法的最大行数100行,如果一个方法的实现超过一百行,则说明需要进行逻辑拆分了。
3.方法和方法之间要有一空行分割。