ios swift是前端还是后端 ios代码规范

下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下 。
相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button1、button2、button3,我也是醉了!
下面的规范有的定的比较死,大家可以根据自己团队的风格进行修改 。该文章主要是OC的代码规范,有几个是Swift的规范 。
OC和Swift的代码规范如下:
一、VC生命周期 模块排列顺序
1、 注意
#pragma mark -(加横线)是用来 区分大模块的,首字母要大写 。
#pragma mark(不加横线)是标注 小模块的, mark与函数第一行不要有空行,没有的模块不用写mark 。
2、基本标准
#pragma mark - Life Cycle
viewDidLoad前的
viewDidLoad
viewDidLoad后的
dealloc
#pragma mark - (系统提供的delegate)
#pragma mark - (自定义的delegate)
#pragma mark - (第三方的delegate)
#pragma mark - Event response // 这里主要放IBAction,通知,gesture等
#pragma mark - Public method
#pragma mark - Private method
#pragma mark - Getters and Setters
3、项目中常用到的标准
#pragma mark - Life Cycle
#pragma mark - OveRride
#pragma mark - UITableViewDelegate
#pragma mark - CustomDelegate
#pragma mark - Event Response
#pragma mark - Public Methods
#pragma mark - Private Methods
#pragma mark - Getters and Setters
二、VC里都要 加入 dealloc 方法
如果退出该页面,没有执行dealloc 方法,就是存在内存泄露的问题,所以都加上dealloc方法,并打印日志 。养成习惯 。
三、控件统一后缀名 。
1、常用的后缀名规则
除了下面几个进行浓缩,其他的只去掉UI 就可以了(如UITextField写成:TextField):
UIButton Btn
UILabel Lbl
UITableViewCell :Cell
Image :Img
UIViewController: VC
UITableViewController :TableVC
2、其他
2.1、新建一个UIViewController 文件 后缀要 ViewController
2.2、新建一个UITableViewController 文件后缀要 ViewController
2.3、多个tag :用 枚举 定义, 后缀:Tag
四、统一方法名
这个规范是为了大家看每个页面,一看就知道那个方法是做什么的,每个团队都应该根据自己的特点来定制 。
如果团队中有几个人的命名很不规范(写的方法名都看不懂),就需要按这条进行统一命名 。如果团队的成员都能很好的命名 这条就可以省略 。
1、初始化所有控件 统一一个方法名:initAllView
2、初始化数据 的方法名:initData
3、请求网络,统一方法名前缀
vc 里 只有一个网络请求::loadNetData
多个 加后缀:load****NetData
4、网络层的类加后缀: ***Request
5、Model 都要加后缀Model 。。
6、点击事件的前缀:tap
五、文件#import和@end
1、import规整顺序, @end后留1个回车位置, @end前最后一个函数空1行
2、先 import类本身.h 再<>,之后”",include写在一起
#import “AppDelegate.h"
#import <arpa/inet.h>
#import "OpenUDID.h"
六、换行与括号
1、多个协议名称过长不用换行 依靠xcode自动伸缩 。
2、方法 没有参数或参数在一行,后面括号 不要换行,如:- (id)responseObject { 。
方法有多个参数,参数换行,括号换行,如:
- (AF***eration *)PUT:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AF***eration *operation, id responseObject))success
failure:(void (^)(AF***eration *operation, NSError *error))failure
{
七、@property规范
1、@property(notatomic, weak, readonly) id<SecondPicDelegate> delegate; //notatomic, weak先写

推荐阅读