紧接着上篇,每次看也不要求全部都会,哪怕每次学到一个技术点也算是赚了:
任务:对自己项目的方法命名进行优化。
这篇主题:Naming Methods (命名方法)
第一:
******对于表示对象执行的操作的方法,以_动词_开头名称: ******
- (void)selectTabViewItem:(NSTabViewItem *)tabViewItem
第二:
******不要使用Do或does作为名字的一部分,因为这些助动词很少增加意思。另外,不要在动词前使用副词或形容词。 ******
第三:
如果方法返回接收者的属性,则以该属性命名方法。除非间接地返回一个或多个值,否则没有必要使用“get”。
- (NSSize)cellSize;
Right.
- (NSSize)calcCellSize;
Wrong.
- (NSSize)getCellSize;
Wrong.
第四,在所有参数之前使用关键字:
- (void)sendAction:(SEL)aSelector toObject:(id)anObject forAllCells:(BOOL)flag;
Right.
- (void)sendAction:(SEL)aSelector :(id)anObject :(BOOL)flag;
Wrong.
第五,在论证之前造一个词来描述这个论证:
- (id)viewWithTag:(NSInteger)aTag;
Right.
- (id)taggedView:(int)aTag;
Wrong.
第六:在创建比继承的方法更具体的方法时,将新关键字添加到现有方法的末尾:
- (id)initWithFrame:(CGRect)frameRect; NSView, UIView.
- (id)initWithFrame:(NSRect)frameRect mode:(int)aMode cellClass:(Class)factoryId numberOfRows:(int)rowsHigh numberOfColumns:(int)colsWide; NSMatrix, a subclass of NSView
第七:不要使用“和”来链接属于接收者属性的关键字。
|
Right. |
|
Wrong. |
第八:虽然“and”在本例中可能听起来不错,但它会在创建包含越来越多关键字的方法时造成问题。
如果方法描述了两个单独的操作,那么使用“and”将它们链接起来。
|
|
第二部分访问器方法:
访问方法是那些设置和返回对象属性值的方法。它们有特定的推荐形式,具体取决于属性的表达方式:
第一:如果属性表示为名词,则格式为
- (
type)
noun;
- (void)set
Noun:(
type)
aNoun;
例子:
- (NSString *)title; |
- (void)setTitle:(NSString *)aTitle; |
第二:如果属性用形容词表示,则格式为
- (BOOL)is
Adjective;
- (void)set
Adjective:(BOOL)flag
;
例子:
- (BOOL)isEditable; |
- (void)setEditable:(BOOL)flag; |
(目前我自己看这个set 和 get方法 ,名词不用加is,形容词的话 ,获取的时候要有个is)。
如果属性表示为动词,则格式为:
- (BOOL)
verbObject;
- (void)set
VerbObject:(BOOL)flag
;
例子:
- (BOOL)showsAlpha; |
- (void)setShowsAlpha:(BOOL)flag; |
动词应该是一般现在时。
第三:不要用分词把动词变成形容词(分词:就是具有动词及形容词二者特征的词,尤指以-ing或-ed,-d,-t,-en或-n结尾的英语动词性形容词,具有形容词功能,同时又表现各种动词性特点,如时态、语态、带状语性修饰语的性能及带宾词的性能。分词分为现在分词和过去分词两种,是一种非谓语动词形式。现在分词和过去分词主要差别在于:现在分词表示“主动和进行”,过去分词表示“被动和完成”(不及物动词的过去分词不表示被动,只表示完成)。分词可以有自己的状语、宾语或逻辑主语等。)
|
Right. |
|
Right. |
|
Wrong. |
|
Wrong. |
未完待续...
https://github.com/QianKaiLu/Objective-C-Coding-Guidelines-In-Chinese
这里有别人已经整理好的,可以借鉴下,但是最重要的还是自己去总结去做任务去刻意的练习,养成好的命名习惯。
来源:oschina
链接:https://my.oschina.net/u/3619392/blog/3138648