iOS 命名规范

243 阅读1分钟

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: