iOS代码规范
2016-03-09 14:52
337 查看
ios代码规范
1、变量命名
局部变量,首字母小写,驼峰命名,可以很长,但要把意思表达出来,例如
double delayInSeconds = 0.1f;//delayInSeconds表示延迟多长时间,单位是秒
dispatch_time_t delayForTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
类成员变量,首字母小写,驼峰命名,意思要表达清楚,例如
@property (nonatomic,strong) NSMutableArray *dataArray;//dataArray是一个可变数组,存放数据的
如果想把dataArray放在花括号里就如下命名,前缀加下划线
{
NSMutableArray *_dataArray;
}
在类里面调用时,使用self.dataArray进行引用,尽量不要使用_dataArray直接引用(除非没有getter方法)
2、宏定义、const和枚举常量命名,前缀为k,驼峰命名,例如
#define kTabTitleArray @[@“tab1”,@“tab2”,@“tab3”,@“tab4”]
NSString *const kLoginNotificationName = @"loginNotificationName";
typedef NS_ENUM(NSInteger, WeekDay) {
kWeekDayMonday = 1, //星期一
kWeekDayTuesday //星期二
};
3、方法命名
首字母小写,驼峰命名,要把意思表达的很清楚,参数前缀加小写a,例如
- (void)insertSections:(NSIndexSet *)aSections withRowAnimation:(UITableViewRowAnimation)aAnimation;
如果参数很多,就换行显示,例如
- (void)postLectureSendByMailWithUserId:(NSString *)userId
mailAddress:(NSString *)mailAdress
lectureId:(NSString *)lectureId
lectureName:(NSString *)lectureName
lectureFileUrl:(NSString *)lectureFileUrl;
4、类文件定义
头文件
从上往下顺序
import
宏定义
枚举定义
const常量
@class声明
@protocol
类声明,先写成员变量,再写方法,如果方法很多用pragma mark分段
源文件
import
宏定义
const常量
私有方法
类实现,使用pragma mark把代码分段,便于阅读
#pragma mark - Lifecycle
#pragma mark - Public Methods
#pragma mark - Private Methods
#pragma mark - TableView
#pragma mark - Delegate
#pragma mark - Notification
5、类文件组织,把属于一个模块的controller、model、view、resource文件都放到一个group里,把公共模块的文件放在公共的resource文件夹里
6、能用block的地方不用delegate
7、注释,建议安装VVDocument插件https://github.com/onevcat/VVDocumenter-Xcode,可以直接生成文档
1、变量命名
局部变量,首字母小写,驼峰命名,可以很长,但要把意思表达出来,例如
double delayInSeconds = 0.1f;//delayInSeconds表示延迟多长时间,单位是秒
dispatch_time_t delayForTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
类成员变量,首字母小写,驼峰命名,意思要表达清楚,例如
@property (nonatomic,strong) NSMutableArray *dataArray;//dataArray是一个可变数组,存放数据的
如果想把dataArray放在花括号里就如下命名,前缀加下划线
{
NSMutableArray *_dataArray;
}
在类里面调用时,使用self.dataArray进行引用,尽量不要使用_dataArray直接引用(除非没有getter方法)
2、宏定义、const和枚举常量命名,前缀为k,驼峰命名,例如
#define kTabTitleArray @[@“tab1”,@“tab2”,@“tab3”,@“tab4”]
NSString *const kLoginNotificationName = @"loginNotificationName";
typedef NS_ENUM(NSInteger, WeekDay) {
kWeekDayMonday = 1, //星期一
kWeekDayTuesday //星期二
};
3、方法命名
首字母小写,驼峰命名,要把意思表达的很清楚,参数前缀加小写a,例如
- (void)insertSections:(NSIndexSet *)aSections withRowAnimation:(UITableViewRowAnimation)aAnimation;
如果参数很多,就换行显示,例如
- (void)postLectureSendByMailWithUserId:(NSString *)userId
mailAddress:(NSString *)mailAdress
lectureId:(NSString *)lectureId
lectureName:(NSString *)lectureName
lectureFileUrl:(NSString *)lectureFileUrl;
4、类文件定义
头文件
从上往下顺序
import
宏定义
枚举定义
const常量
@class声明
@protocol
类声明,先写成员变量,再写方法,如果方法很多用pragma mark分段
源文件
import
宏定义
const常量
私有方法
类实现,使用pragma mark把代码分段,便于阅读
#pragma mark - Lifecycle
#pragma mark - Public Methods
#pragma mark - Private Methods
#pragma mark - TableView
#pragma mark - Delegate
#pragma mark - Notification
5、类文件组织,把属于一个模块的controller、model、view、resource文件都放到一个group里,把公共模块的文件放在公共的resource文件夹里
6、能用block的地方不用delegate
7、注释,建议安装VVDocument插件https://github.com/onevcat/VVDocumenter-Xcode,可以直接生成文档
相关文章推荐
- iOS内存管理策略和实践
- iOS中锁定竖屏不让其横屏的方法
- iOS开发之理解iOS中的MVC设计模式
- iOS MD5算法加密
- 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2
- ios开发学习:生命属性时的Strong和Weak的区别及用法
- iOS的中文转码以及带各种符号的字符串的转码
- 在iOS8创建一个交互性强的本地通知
- iOS 产品上架需知
- 【卡片记忆】快速启动iOS模拟器
- Xcode export/upload error: Your session has expired. Please log in
- iOS开发有关二维码的介绍
- iOS中二进制数据转成字典
- 点击多个view 避免同时产生多个响应
- iOS GBK编码与汉字相互转换 BABA <---> 汉
- iOS新方法systemFontOfSize: weight:
- iOS 8 AutoLayout与Size Class自悟---cocoachina
- iOS中数组与字符串的相互转换
- 个人iOS项目常用效果方法注意点集锦(上)----简书
- IOS三种传值方式