Objective-C代码规范
前言
代码规范,统一才是最好的,团队开发中切记不要自己搞一套,跟着团队规范走
目录
- 属性命名
- 类名命名
- 方法命名
- 方法参数命名
- 分类命名
- 枚举命名
- 组织代码
属性命名
小驼峰命名+类型后缀
这里的类型后缀建议全称,例如button
就写button
不要写btn
,原因的话,就是尽量按objective-C的命名原则来,就是尽量看命名就知道是什么意义,不怕冗长
既然选择了她(
Objective-C
),就要忍受她的原则(清晰但冗长)
// 属性命名:小驼峰+类型后缀
// 优点:看见属性名,可以知道属性的含义和类型
1.注意示例空格位置
2.*号紧跟属性名
3.@property括号内的描述性修饰符,严格按以下顺序书写:原子性,内存管理,读写..
@property (nonatomic, strong) UITextField *textField;
补充:
关于NSString是用strong还是copy类型,如果自己对这个不是很清楚,那么就用copy,如果清楚是strong和copy是怎么回事,并且想提高代码质量,那么就可以自己把握好用strong或copy
相关文章:NSArray、NSMutableArray、copy、strong关系探究
类名命名
基本原则:大驼峰,简明表达命名含义
如果是特点大功能模块下的类,应该以大功能模块大写字母简写作为类名前缀
比如网络请求库的根文件名是NetWork,那么子文件下的相关类,命名应该为NW做为前缀
// 根文件名字
NetWork
// 子文件的命名可为
NWHttpRequest
方法命名
注意点:
1.如果是工具类方法,一定要在方法前加注释(快捷键:option+command+/)
2.多参数方法,冒号对齐
3.注意实例的空格
//执行性的方法以动词开头
- (void)replaceObjectAtIndex:(NSUInteger)index
withObject:(id)anObject;
// 返回性的方法以返回内容开头
+ (id)arrayWithArray:(NSArray *)array;
// 还有一种,也可以用get开头命名
方法参数命名
方法参数的命名,有人喜欢前缀加m,我个人的话,建议方法参数尽量简短,原因,一般知道大概意思就可以了,因为冗长的话,这个接口很长啊,而且接口习惯注释返回值,参数,所以个人建议参数简短,局部变量也可以简短
/**
设置RGB,返回UIColor类型
@param mR red
@param mG green
@param mB blue
@param mAlpha 透明度
@return UIColor类型
*/
- (UIColor *)setColorWithRed:(int)mR
green:(int)mG
blue:(int)mB
alpha:(CGFloat)mAlpha {
return [UIColor colorWithRed:mR/255.0 green:mG/255.0 blue:mB/255.0 alpha:mAlpha];
}
分类命名
类名:肯定要加前缀,避免跟第三方库重名
方法名:前缀_(前缀加下划线)
这里说个我个人的习惯,
普通方法的命名是cor_xxx
,
但是如果是set
或者get
的命名的话,
我比较喜欢set_corXxxx
或者get_corXxxx
// 处理数据越界分类
#import <Foundation/Foundation.h>
@interface NSArray (CorArrayBeyond)
- (void)set_corAge;
@end
枚举命名
oc的枚举有个特点,就是长,那么我们枚举的目的就是要长到替代注释最好了,这样别人就不用回去看注释
typedef NS_ENUM(NSInteger, CorRepaymentState){
CorRepaymentUnReceive = 1,
CorRepaymentReceived,
CorRepaymentPreReceive,
CorRepaymentOverDueReceive,
};
代码组织
推荐博文: iOS应用架构谈 view层的组织和调用方案
#pragma mark - tableView 进行分段,便于代码维护和阅读
网友评论
尽量少写注释,要写注释也用英文写