iOS 代码规范

目录

    (1)Classes(项目功能类文件)。
    (2)Commons(常用宏定义类等公共文件)。
    (3)Utils(自定义功能类文件)。
    (4)Plugins(常用第三方扩展功用类文件)。
    (5)Resource(视频\声音等资源文件。项目图标\logo\启动页等存放在 Assets.xcassets 中)。

命名规范

    VC的命名       :BLxxxxxVC
    Cell的命名     :BLxxxxxCell
    View的命名     :BLxxxxView
    弹出框View的命名:BLxxxxPopView
    管理类         :BLxxxxMangers
    UIText        :blXxxxText
    UIButton      :blXxxxButton
    UIlabe        :blXxxxLabe
    UIview        :blXxxxView
    以此类推......

    Model的命名规则:     
    BLBaseModel(基类),不够用再扩展-->
    BLListModel(列表),不够用再扩展-->
    BLDictionaryModel(字典),不够用再扩展-->
    BLxxxxModel(基类)
    userModel

    枚举命名规则:
    BLXxxxPlayerStateLoading

    分类时,以有意义的英文单词结尾。
    如:NSString+Regular.h、NSString+Regular.m 等。

    常量名
    (1)明确类型和值时,使用静态变量进行定义。
    如:static NSString *const kDefaultPhone = @”13800138000”;
    (2)需要计算或判断才能确定值时,使用宏定义。
    如:#define kMinValue(a, b) (a > b ? b : a)

    图片/图标名
    导航条背景图标 xxxNavigation@2x.png
    页签图标 xxxTab@2x.png
    按钮图标 xxxBtn@2x.png
    区分不同状态的图标
    点击前loginBtn_normal@2x.png
    高亮时loginBtn_highlight@2x
    选中时loginBtn_selected@2x;
    禁用时loginBtn_disabled@2x。

    在需要添加注释的代码前一行,使用快捷组合键 Cmd + Option + / 会自动添加注释标识。

方法名

    (1)方法不带参数时。
    如:- (void)deleteClick;
    (2)方法带有参数时,必须完整且清楚的定义各个参数。
    如:- (void)loginWithName:(NSString *)name password:(NSString *)password;
    (3)方法带有返回值时。
    如:- (BOOL *)modifyUserName:(NSString *)name;

项目可维护的一些原则:

1,尽可能少写代码
2,尽可能减少第三方依赖,除非有明确的需求
3,采用一致的代码风格
4,统一代码布局
5,统一Model层
6,统一网络请求方法

#pragma mark - Life Cycle
#pragma mark - 视图
#pragma mark - 网络
#pragma mark - 交互
#pragma mark - Lazy Load

    //MARK: - Life Cycle
    //MARK: -  视图
    //MARK: - 网络
    //MARK: - 交互
    //MARK: -Lazy Load

不允许直接声明和使用实例变量,应当使用属性变量

错误:

@interface object{
    NSString *_name;
}
@end

正确:

@interface object

@property (nonatomic, strong) NSString *name;

@end

Delegate函数名

delegate方法四要素:
返回类型
自己
事件
反馈参数
- (void)manager:(XXManager *)manager didFailedWithErrorCode:(NSString)errorCode errorMessage:(NSString *)errorMessage;

- (void)managerTaskDidFinished:(XXManager *)manager;

delegate方法第一个参数永远都应该是自己。

{}的使用规范

错误:
- (void)foo {
    ...
}

正确:
- (void)foo
{
    ...
}

if-else中{}不换行,else中的{}不换行:

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