之所以寫這個江锨,是因為自己接盤過幾個項目,而其中的注釋幾乎為零斜棚,看起來特別崩潰阀蒂,也很無奈。其實代碼添加注釋真的是一種很好的編程習慣弟蚀,不僅僅是因為接盤的項目沒注釋蚤霞,自己寫代碼在關(guān)鍵地方也會添加一些注釋代碼,后期維護也比較方便义钉,而如果是那種一個頁面幾千行甚至幾萬行的要進行修改昧绣,TMD,想想都恐怖捶闸。方法注釋常用的是一下幾種夜畴。
- 單行 (如:// 姓名)
- 多行 (如: ///)
- 方法集 (如:#pragma mark &***************** get Data)
- 單行,簡單的描述
//
删壮,或command + /
,后者可以對選中的代碼進行批量注釋贪绘。單行一般用于屬性,或者區(qū)域塊內(nèi)的注釋央碟。
// 按鈕數(shù)組
@property(nonatomic,strong)NSMutableArray *btnArray;
- (void)viewDidLoad {
[super viewDidLoad];
currentTypeIndex = 0;
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
// 初始化View
[self createSubviews];
// 獲取商品標簽
[self getGoodsTags];
}
注釋風格可根據(jù)自身喜好去定義税灌,比如注釋的優(yōu)先級
// &&&&&&
,可根據(jù)&
數(shù)量的多少確定優(yōu)先級。
- 多行注釋
多行注釋比單行注釋的好處是多行注釋在使用到方法亿虽,或?qū)傩缘臅r候菱涤,會有提示。
而且在quickhelp
查看時會有顯示(alt
+ 鼠標左鍵)
多行注釋以/**
開頭*/
結(jié)束经柴,中途不能出現(xiàn)*/
,或者在方法或?qū)傩悦媲笆褂茫?code>alt + command + /)快捷鍵狸窘,會自動補齊(前身為VVDocumenter
插件,貌似被收購了墩朦?)
/// <#Description#>
/// @param animated <#animated description#>
-(void)viewWillDisappear:(BOOL)animated{}
-
Description
方法描述 -
@param
參數(shù)
@param
與此類似的還有以下幾種:
標簽/注釋常用 | 用法 |
---|---|
@param |
@param 參數(shù)名 參數(shù)含義 |
@return |
返回值 |
@see |
欲知詳情坯认,請看xx類或方法 |
@note |
筆記 |
@warning |
警告 |
@brief |
使用它來寫一段你正在文檔化的method, PRoperty, class, file, struct, 或enum的短描述信息 |
@discussion |
詳細描述 |
@sa |
同上 |
@code |
文檔嵌入代碼段。在Help Inspector當中查看文檔時氓涣,代碼通過在一個特別的盒子中用一種不同的字體來展示牛哺。記住在寫的代碼結(jié)尾處使用 |
@endcode |
標簽 |
@remark |
強調(diào)任何關(guān)于代碼特殊之處 |
標簽/ 記錄文件 | 用法 |
---|---|
@file |
指出你正在記錄一個文件(header 文件或不是)。如果你將使用Doxygen來輸出文檔劳吠,那么你最好在這個標簽后面緊接著寫上文件名字引润。它是一個top level 標簽 |
@header |
跟上面的類似,但是是在 HeaderDoc中使用痒玩。當你不使用 Doxygen時淳附,不要使用上面的標簽 |
@author |
文件創(chuàng)建者信息 |
@ copyright |
版權(quán)信息 |
@ version |
文件的當前版本议慰。如果在工程生命周期中版本信息有影響時這會很重要 |
@ class |
用它來指定一個class的注釋文檔塊的開頭。它是一個top level標簽奴曙,在它后面應該給出class名字 |
@ interface |
同上 |
@ protocol |
同上兩個一樣别凹,只是針對protocols |
@ superclass |
當前class的superclass |
@ classdesign |
用這個標簽來指出你為當前class使用的任何特殊設計模式 |
@ coclass |
與當前class合作的另外一個class的名字 |
@ helps |
當前class幫助的class的名字 |
@ helper |
幫助當前class的class名字 |
- 方法集注釋
系統(tǒng)有一個自帶的方法集注釋
#pragma <#argument#>
但是這樣的沒有分割線,看起來有點不爽洽糟,按照自己的想法添加想要的分割線就好了比如我的炉菲。
#pragma mark &***************** life style
其他類似注釋
注釋 | 用法 |
---|---|
#warning |
黃色警告 |
#pragma mark |
方法集 |
// MARK: 等同于#pragma mark |
方法集 可以放進//、///坤溃、//<拍霜、//、//薪介、/</等注釋方式中 |
// TODO: |
等待實現(xiàn)的功能 可以放進//祠饺、///、//<昭灵、//吠裆、//、/</等注釋方式中 |
// FIXME: |
需要修正的功能 可以放進//烂完、///试疙、//<、//抠蚣、//祝旷、/</等注釋方式中 |
// !!!: |
需要改進的功能 可以放進//、///嘶窄、//<怀跛、//、//柄冲、/</等注釋方式中 |
// ???: |
有疑問的功能 可以放進//吻谋、///、//<现横、//漓拾、//、/</等注釋方式中 |
這樣達成的效果如下
將不同的方法集(如:聲明周期戒祠,代理方法骇两,代理數(shù)據(jù)源,屬性的setter與getter)用方法集注釋分割姜盈,查找話就方便多了低千,生命周期方法,在life 下面找就行馏颂,界面初始化一目了然在init view下看示血,就算有幾萬行代碼棋傍,找界面初始化方法,直接在init view注釋下面找难审,因為其他的地方不會有舍沙。