iOS 变量、方法命名规范
1.基础命名
1.1 清晰
- 命名应该清晰,明确,在做到这两点的基础上尽量简洁。
例如:
insert:at:
应该替换成
`insertObject:atIndex:`
- 不要使用缩写,长点没有关系
例如:
setBkgdColor:
应该替换成
`setBackgroundColor:`
- 避免歧义
1.2 统一、连贯性
- 与Cocoa的命名保持统一。
- 不同类中,相同作用的方法或者属性用相同的名字。
例如:NSView, NSCell, NSControl中的` - (NSInteger)tag`
1.3 前缀
- 不同模块中使用不同的前缀,但是方法和结构体命名不要使用前缀。
2.方法命名
2.1 基本规则
- 小写字母开头
- 代表动作的以动词开头,不要用‘do,dose’这样的词
例如:`- (void)selectTabViewItem:(NSTabViewItem *)tabViewItem;`
- 获取属性的方法,无需在命名中出现‘get’
例如:`- (NSSize)cellSize;`
- 使用关键词描述参数,并紧挨在参数之前
例如:- (id)taggedView:(int)aTag; 替换成 `- (id)viewWithTag:(NSInteger)aTag;`
- 继承方法时,将新增的参数往后添加
例如:
NSView, UIView.中
- (id)initWithFrame:(CGRect)frameRect;
NSMatrix, a subclass of NSView 中
- (id)initWithFrame:(NSRect)frameRect mode:(int)aMode cellClass:(Class)factoryId numberOfRows:(int)rowsHigh numberOfColumns:(int)colsWide;
- 多个参数间不要用‘and’连接
2.1 setter、getter 方法
- 名词
- (NSString *)title;
- (void)setTitle:(NSString *)aTitle;
- 形容词
- (BOOL)isEditable;
- (void)setEditable:(BOOL)flag;
- 动词
- (BOOL)showsAlpha;
- (void)setShowsAlpha:(BOOL)flag;
- 动词在前,名词在后
- (BOOL)glyphInfoAccepted;
替换成
- (BOOL)acceptsGlyphInfo;
2.2 delegate 方法
- 以发送消息的类名开头
2.3私有方法
- 基本与公有方法规则一致
- 如果继承Cocoa框架类(例如NSView或UIView),并且要绝对确保私有方法的名称与父类中的名称不同,则可以在私有方法中添加自己的前缀,如MT_addObject: