2011-08-28 48 views
18

我正在做另一個iOS應用程序,我想知道是否有任何命名約定或良好的做法,如何命名我可以遵循的操作。我正在考慮用戶使用時調用的函數名稱。觸摸一個按鈕。IBAction函數的命名約定

回答

4

我猜Objective-C中的任何方法名應該像讀一個英文句子一樣可讀。可以說下面的方法。

[fileWrapper writeToFile: path atomically: YES updateFilenames: YES]; 
// This is not a real example but purpose of sharing is to make sure 
    method name is readable, so programmers can actually read code and can 
    have SmallTalk. 

當您從左向右閱讀時,它會幫助您閱讀並解釋它自己將要做什麼。

看看這個鏈接如下,

http://cocoadevcentral.com/articles/000082.php

Jump on page No. 5 of 7 

有很多技巧已經給出。 Apple的開發人員庫中可以找到更多提示。

編碼快樂

5

我還沒有遇到太多的細節的方式,當談到命名約定IBActions。但是,如果你要效仿蘋果似乎在示例應用程序被設置趨勢,那麼一些例子如下:

-(IBAction)cameraAction:(id)sender; 
-(IBAction)done:(id)sender; 
-(IBAction)takePhoto:(id)sender; 

希望這有助於。

+0

Apple的示例代碼負責如此多的不良做法。只用它來查看框架代碼的工作方式。 *不*從其編碼風格或設計模式。 – Jeff

20

請遵循Apple的指導方針。過去有什麼好的建議現在已經被編入ARC(自動引用計數)中,並且必須遵循ARC來生成正確的代碼。使用這些指導方針可能會有利於您的代碼,它適用於ARC!

蘋果的指導方針 Coding Guidelines for Cocoa

從方法命名部分:

啓動以小寫字母的名稱和利用嵌入式詞的第一個字母。不要使用前綴。

這些準則有兩個特定的例外情況。您可以使用大寫字母(例如TIFF或PDF)的着名首字母縮寫詞開始一個方法名稱,並且您可以使用前綴對私有方法進行分組和標識

對於代表對象所採取行爲的方法,帶動詞。

- (void)invokeWithTarget:(id)target; 
- (void)selectTabViewItem:(NSTabViewItem *)tabViewItem 

不要使用「do」或「does」作爲名稱的一部分,因爲這些輔助性的動詞不能增加更多的含義。另外,在動詞之前不要使用副詞或形容詞。

如果該方法返回接收者的屬性,則將該方法命名爲該屬性。除非間接返回一個或多個值,否則使用「get」是不必要的。

- (NSSize)cellSize; 

在所有參數之前使用關鍵字。

- (void)sendAction:(SEL)aSelector to:(id)anObject forAllCells:(BOOL)flag 

在參數描述參數之前做出單詞。

- (id)viewWithTag:(int)aTag; 
+0

我認爲你的意思是「現在已經被編纂了。」 –

+0

@Steven,謝謝,修正。 – zaph