代码规范(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

方法

其它

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.在条件语句,需要被大括号包围,即使只有一行代码,也尽量使用大括号包围以免以后误以为写在条件里,其实并没有 2....
    SpursGo阅读 165评论 2 1
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,257评论 4 61
  • 今夜 孤枕难眠 我不知道 我该怎么办 曾经单纯的以为 只要付出真情 爱就会留在身边 可是没想到 现实依然冷酷 感动...
    37度女王阅读 138评论 0 1
  • 不得不说,其实,我是有一些畏惧发文的。毕竟自己也知道是无病呻吟,但是肚子里实在没墨水,又耐不住手痒,想写下点什么,...
    明朗der阅读 192评论 0 0
  • 钱包这个随身必备物件之一,在我们习惯了这么多年以后并没有太多的进步,因为它只是个装钱和卡的工具。但实际上,随着钱包...
    以色列TOP100阅读 5,334评论 2 1