規(guī)范注釋的好處:
- 方便使用向臀,會提示注釋說明
- 方便自己與他人閱讀
- 快速生成開發(fā)文檔
好注釋:
- 可以使用快捷鍵[alt+點擊]查看代碼
- 使用時可以智能提示注解(目前只有屬性/方法的注釋才會提示)
- 類的層級分明(使用pragram)
注:普通的注釋(//和/**/)沒有以上功能,只作為單純的注釋用
注釋主要分4種:
- 單行注釋,有以下4種,滿足前面提到的好注釋的第1夫啊、2點
/// 單行注釋
//! 單行注釋
/** 單行注釋专甩,此處其實可以多行 /
/! 單行注釋运沦,此處其實可以多行*/
如:
/// 這是name屬性
@property (nonatomic, strong)NSString *name;
- 行尾注釋,有以下4種配深,滿足前面提到的好注釋的第1携添、2點
///< 行尾注釋
//!< 行尾注釋
/**< 行尾注釋 /
/!< 行尾注釋 */
如:
/// 這是name屬性
@property (nonatomic, strong)NSString *name; /**< 這是name屬性 */
3、多行注釋
xcode8以后可以使用快捷鍵[cmd + alt +/]篓叶,系統(tǒng)會根據(jù)方法的參數(shù)和返回值類型生成對應(yīng)的多行注釋
如
/**
求兩數(shù)之和
@param firstNumber 第一個數(shù)
@param secondNumber 第二個數(shù)
@return 兩數(shù)之和
*/
- (NSInteger)sumNumber:(NSInteger)firstNumber withNumber:(NSInteger)secondNumber;
- 方法集注釋
使用pragma
使用方式:
#pragma 什么都不顯示
- (void)test1;
#pragma mark 顯示文字烈掠,無分割線
- (void)test2;
#pragma mark - 顯示分割線,并在分割線下方顯示文字
- (void)test3;
可通過將注釋格式保存為代碼塊的方式缸托,提高注釋的效率
其他注釋:
- 警告提示:#warning
xcode會在此處報一個黃色警告提示
如:#warning 產(chǎn)生黃色警告
- 在注釋中(什么注釋都行)出現(xiàn)以下字樣左敌,會有特別的作用
MARK: 等同于#pragma mark
TODO: 等待實現(xiàn)的功能
FIXME: 需要修正的功能
!!!: 需要改進的功能
???:有疑問的功能
Comments containing: (注:未知此字樣的具體用法)
注:以上字樣可以放進//、///俐镐、//<矫限、//、//佩抹、/</等注釋方式中
// MARK: - 方法集
// TODO: 等待實現(xiàn)
// FIXME: 有bug叼风,需要修改
// !!!: 邏輯混亂,需要完善
// ???: 具體干什么用的棍苹?
- (NSInteger)sumNumber:(NSInteger)firstNumber withNumber:(NSInteger)secondNumber;
注釋中常用的標簽:
@brief : 使用它來寫一段你正在文檔化的method, PRoperty, class, file, struct, 或enum的短描述信息无宿。
@discusstion: 用它來寫一段詳盡的描述。如果需要你可以添加換行枢里。
@param:通過它你可以描述一個 method 或 function的參數(shù)信息孽鸡。你可以使用多個這種標簽。
@return: 用它來制定一個 method 或 function的返回值栏豺。
@note:注意點,補充說明
@see: 用它來指明其他相關(guān)的 method 或 function彬碱。你可以使用多個這種標簽。
@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標簽吆豹,在它后面應(yīng)該給出class名字鱼的。
@interface: 同上
@protocol: 同上兩個一樣,只是針對protocols
@superclass: 當前class的superclass
@classdesign: 用這個標簽來指出你為當前class使用的任何特殊設(shè)計模式(例如痘煤,你可以提到這個class是不是單例模式或者類似其它的模式)凑阶。
@coclass: 與當前class合作的另外一個class的名字。
@helps: 當前class幫助的class的名字衷快。
@helper: 幫助當前class的class名字宙橱。
參考:https://blog.csdn.net/zeng_zhiming/article/details/68925543