畅畅的烧烤店

代码规范

1. 命名规则:

a) 类名首字母大写,方法首字母小写,方法中的参数首字母小写。所有命名采用驼峰命名法。
b) 所有命名不允许与系统参数命名一致,例如:

1
UITableView *tableView。

c) 宏定义命名大写字母,能直观表达出宏定义的含义,单词之间以下划线隔开,例如:

1
#define DISPATCH_SOURCE_TYPE_TIMER

d) 命名禁止使用单字母,应该尽量能表达变量含义,而且要有注释解释说明。
e) 私有变量的声明命名。
f) 全局变量的声明命名。
g) 方法的声明命名。
h) 资源命名规则:见第5条。

2. 注释

a) 所有的需要注释的地方:类文件的解释,变量或参数的解释,方法的解释,宏定义的解释,代码逻辑的解释等。
b) #pragma mark - 或者 // MARK: 标记分类。
c) 所有注释尽量采用代码块注释:/* 这样的注释 /。
d) 解释类注释必须采用代码块注释。例如:方法名解释,版权解释,类解释,变量或参数解释等。
e) 对OC:私有变量或方法的声明一律写进实现文件.m中。
f) 推荐使用插件:VVDocumenter-Xcode

3. 对齐、换行与缩进

a) {}:{ 跟在外部代码后面的,内部代码与上 { 之间保持一个换行。{ 与外部代码另起一行的,内部代码不必另起一行。{}
b) 代码块与代码块之间,必须保持换行(空一行或两行),不允许出现从上到下一堆。
c) @关键字与代码保持空一行。
d) 所有代码必须保持对齐。

4. 空格

a) 运算符前后必须加空格。
b) 多参数,每个参数的逗号后必须加空格,例如:time(x, y)。
c) 星号 与类型必须有一个空格,与变量之间无空格,例如:NSString str。

5. 资源命名规则

资源命名全部使用小写字母,单词之间以下划线分隔,应能充分表达意思,以前缀区分资源,防止重名,以后缀区分资源类型(比如图片正常状态,高亮状态等)。

6. 编码

保证每一行代码都要简洁、明了:

不提倡非规范代码:
1
unitYuXi.navigationItem.title = [[[skListArray objectAtIndex:indexPath.section] objectForKey:@"units"] objectForKey:@"title"];
提倡规范代码:
1
2
3
NSDictionary *msgDict = [skListArray objectAtIndex:indexPath.section];
NSDictionary *unitsDict = [msgDict objectForKey:@"units"];
unitYuXi.navigationItem.title = [unitsDict objectForKey:@"title"];

模块化开发

代码尽可能功能模块化,所有代码文件保证1000行代码之内。
封装:把模块化的功能全部封装出来,封装时要注意,只处理功能效果,不负责业务逻辑处理。