紧接着上篇,每次看也不要求全部都会,哪怕每次学到一个技术点也算是赚了:

任务:对自己项目的方法命名进行优化。

这篇主题: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

第七不要使用“和”来链接属于接收者属性的关键字。

第八:虽然“and”在本例中可能听起来不错,但它会在创建包含越来越多关键字的方法时造成问题。
如果方法描述了两个单独的操作,那么使用“and”将它们链接起来。

第二部分访问器方法:

访问方法是那些设置和返回对象属性值的方法。它们有特定的推荐形式,具体取决于属性的表达方式:

第一:如果属性表示为名词,则格式为

- (type)noun;

- (void)setNoun:(type)aNoun;

例子:

第二:如果属性用形容词表示,则格式为

- (BOOL)isAdjective;

- (void)setAdjective:(BOOL)flag;

例子:

(目前我自己看这个set 和 get方法 ,名词不用加is,形容词的话 ,获取的时候要有个is)。

如果属性表示为动词,则格式为:

- (BOOL)verbObject;

- (void)setVerbObject:(BOOL)flag;

例子:

动词应该是一般现在时。

第三:不要用分词把动词变成形容词(分词:就是具有动词形容词二者特征的词,尤指以-ing或-ed,-d,-t,-en或-n结尾的英语动词性形容词,具有形容词功能,同时又表现各种动词性特点,如时态语态、带状语性修饰语的性能及带宾词的性能。分词分为现在分词过去分词两种,是一种非谓语动词形式。现在分词和过去分词主要差别在于:现在分词表示“主动和进行”,过去分词表示“被动和完成”(不及物动词的过去分词不表示被动,只表示完成)。分词可以有自己的状语、宾语逻辑主语等。)

未完待续...

https://github.com/QianKaiLu/Objective-C-Coding-Guidelines-In-Chinese

这里有别人已经整理好的,可以借鉴下,但是最重要的还是自己去总结去做任务去刻意的练习,养成好的命名习惯。

12-08 01:35