iOS 变量、方法命名规范

2021-03-31  本文已影响0人  xsgoing

 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:

上一篇下一篇

猜你喜欢

热点阅读