前言
以下是自己在iOS编程中学习的一些规范,记录和分享一下。虽然在日常开发中一般会有一些特定的规范,但是也会有一些大家都不太统一的写法,虽然这些写法本身明显的优劣,但是一个人有属于自己的开发风格还是很重要的。
一、命名规范
1.统一要求
- 命名必须用英文,不能使用拼音。
- 命名必须要有明确的意义,不要使用1、2、3等前缀或者后缀。
- 命名不要使用缩写,必须使用全称,即使单词很长也要使用全称。
- 调用较多或者理解较难的代码一定要写清楚注释。
2.类名
- 大驼峰式命名:每个单词的首字母都采用大写字母。
- 一般文件命名每个团队前面都会有一个专门的前缀,要避免和一些引入的第三方库前缀重合。
- 例如:
MPHomePageViewController
3.私有变量
- 小驼峰式命名:第一个首字母小写,后面的字母全部大写。关于私有变量的使用,自己还需要仔细学习一下。
- 本人不太推荐使用私有变量的写法,尽量全部用属性完成。我自己感觉属性可以完成私有变量的功能,对于代码整体一致性也比较好。
5.property变量
- 小驼峰式命名:第一个单词首字母小写,后面的单词首字母全部大写
- 对于常用的原子性和内存管理方式推荐用快速代码块的方式。
@property (nonatomic, strong) UIView *view;
4.宏和常量命名
这里先只讨论宏和常量的命名,关于具体的使用的细节,还会有一篇博客仔细说明。
- 宏的使用
-
#define
预处理定义的常量全部大写,中间用_分隔
-
#define ANIMATION_DURATION 0.3
- 宏定义中如果有表达式或者变量,变量或者表达式必须用小括号括起来。
- 对于类型常量
- 对于局限于某编译单元(实现文件)的常量,以字符k开头,且须以static const修饰。
static const NSTimeInterval kAnimationDuration = 0.3;
- 对于定义于类头文件的常量,外部可见,则以定义该常量所在类的类名开头,例如
EOCViewClassAnimationDuration
, 仿照苹果风格,在头文件中进行extern声明,在实现文件中定义其值。
//In the header file
extern NSString *const EOCStringConstant;
//In the implementation file
NSString *const EOCStringConstant = @"VALUE";
5.枚举类型的使用
- 枚举类型的命名规则和类的命名规则一致。
- 枚举类型的枚举内容命名通常以枚举类型的名称开头。
-
NS_ENUM
定义通用枚举,NS_OPTIONS
定义位移枚举。
enum EOCConnectionState{
EOCConnectionStateDisconnected,
EOCConnectionStateConnecting,
EOCConnectionStateConnected,
};
enum UIViewAutoresizing {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 <<5,
}
6.代理的命名
7.方法
- 方法名用小驼峰式命名。
网友评论