代码规范(Objective-C)

前言

好的代码规范好处多多,例如便于团队合作,看着舒服,易于阅读,维护方便等等。

头文件

头文件无论引入多少,都应该进行分类并且排序去重(使用automator创建个去重排序脚本),一般分为vc,view,工具类,请求类等等,根据个人喜好。

#import "BESettingVC.h"

#import "BEBindPhoneReciveCodeBeforeVC.h"
#import "BEBindPhoneThirdPartVC.h"
#import "BEBindPhoneVC.h"
#import "BELanguageVC.h"
#import "BESetLogInPasswordVC.h"
#import "BESetNotificationVC.h"
#import "FeedBackViewController.h"
#import "GroupInformationViewController.h"
#import "SetPayPasswordViewController.h"
#import "WebViewController.h"

#import "UnitPicker.h"

#import "VideoFileManager.h"
#import "DeviceManager.h"

宏、类型常量定义

一般紧跟着头文件,尽量少使用宏

#import "DeviceManager.h"

static NSString *kIsFirstInPlayViewController = @"kIsFirstInPlayViewController";
static NSString *kPureModelGuideInPlayViewController = @"kPureModelGuideInPlayViewController";

协议

多个协议不要写在一行

@interface BESettingVC ()
<
UITableViewDelegate,
UITableViewDataSource,
UnitPickerDelegete
>

实例变量

尽量不要使用实例变量,使用属性

属性

和头文件一样,分类排放,我喜欢分成UI和数据两类,业务复杂再分几类。

//UI
@property (weak, nonatomic) IBOutlet UITableView *tableView;

//Data
@property (nonatomic, strong) MineModel *mineModel;
@property (nonatomic,strong) RemindSetingMode * setting;
@property (nonatomic, strong) UserSetting *preferenceSetting;
@property (nonatomic, copy) NSString *cacheDes;
@property (nonatomic, assign) BOOL loadingPaymentcodeStatus;

方法

同一类的方法放在一起,用#pragma mark - <#arguments#>进行注释。从上到下的顺序我喜欢排列为:初始化方法->dealloc->懒加载->声明周期-> UITableView的代理和协议->其它代理协议->action ->等等。总之要分类明确
私有方法建议以p_开头,例如p_invalidateTimer

代码规范(Objective-C)_第1张图片
方法

其它

  • 强制使用xib和sb,禁用frame布局。这里补充一句,设计的尺寸标注一般是按2x来标注的,也就是屏幕物理尺寸的2倍,这个时候一定要保证按2x来标注的尺寸是偶数,这样除2后是个整数。还有cell的尺寸一定要取整,不然cell间会有黑边。
  • 一定要进行codereview,保证整个团队代码规范一致,保证代码质量。技术上的债务偿还太难,接手过别人的代码都懂的……

上一篇:UIView局部透明/打洞,点击事件穿透
下一篇:去除编译警告

你可能感兴趣的:(代码规范(Objective-C))