Xcode中代碼注釋編寫小技巧

前言

碼農(nóng)總是在搬磚挺峡,日復(fù)一日葵孤,年復(fù)一年,有的時(shí)候都會麻木橱赠。

代碼大家都會寫尤仍,但是把注釋寫好卻是一個(gè)技術(shù)活。

下面這段話狭姨,很好的說明了寫好注釋的感覺:

注釋代碼很像清潔你的廁所——你不想干宰啦,但如果你做了苏遥,這絕對會給你和你的客人帶來更愉悅的體驗(yàn)∩哪#—— Ryan Campbell

今天給大家聊的就是在Xcode中田炭,代碼注釋編寫小技巧。

Objective-C的代碼注釋

很久很久以前纺裁,在Xcode還可以安裝插件的時(shí)代诫肠,iOSer都通過VVDocument來編寫代碼注釋的司澎。

代碼注釋的風(fēng)格一般都是這樣的欺缘,代碼出自IQKeyboardManager/IQBarButtonItem

#import <UIKit/UIBarButtonItem.h>

@class NSInvocation;

/**
 IQBarButtonItem used for IQToolbar.
 */

@interface IQBarButtonItem : UIBarButtonItem

/**
 Boolean to know if it's a system item or custom item
 */
@property (nonatomic, readonly) BOOL isSystemItem;

/**
 Additional target & action to do get callback action. Note that setting custom target & selector doesn't affect native functionality, this is just an additional target to get a callback.

 @param target Target object.
 @param action Target Selector.
 */
-(void)setTarget:(nullable id)target action:(nullable SEL)action;

/**
 Customized Invocation to be called when button is pressed. invocation is internally created using setTarget:action: method.
 */
@property (nullable, strong, nonatomic) NSInvocation *invocation;

@end

OC的注釋是通過/** */這樣的形式進(jìn)行編寫的。分隔符使用的是這種風(fēng)格:

#pragma mark - 這個(gè)是一個(gè)分割符
image.png

需要注意的是這個(gè)-非常的重要挤安,通過這個(gè)-谚殊,在查看代碼的時(shí)候,可以生成分隔線蛤铜,讓代碼結(jié)構(gòu)看的更為清晰嫩絮。

Swift的代碼注釋

隨著Swift語言發(fā)布,在Swift中編寫注釋的風(fēng)格就所有不同了:

extension NSObject {

    /// 對象獲取類的字符串名稱
    public var className: String {
        return runtimeType.className
    }

    /// 類獲取類的字符串名稱
    public static var className: String {
        return String(describing: self)
    }

    /// NSObject對象獲取類型
    public var runtimeType: NSObject.Type {
        return type(of: self)
    }

    /// 這是一個(gè)例子函數(shù)
    /// - Parameter arg:
    /// - Parameter argument: 傳入Int類型的參數(shù)
    /// - Returns: 返回Int類型的參數(shù)
    public func afunction(argument: Int) -> Int {
        return argument
    }
}

Swift的注釋是通過/// 這樣的形式進(jìn)行編寫的围肥。分隔符使用的是這種風(fēng)格:

//MARK: - 綁定
image.png

Swift中的//MARK:這個(gè)-也是起到生成分隔線的作用剿干。

Objective-C和Swift的注釋風(fēng)格現(xiàn)在已經(jīng)統(tǒng)一

如果你現(xiàn)在通過alt+cmd+/在OC和Swift中編寫注釋的時(shí)候,就會發(fā)現(xiàn)現(xiàn)在的注釋都變成了Swift的這個(gè)中風(fēng)格了:

image.png

image.png

我個(gè)人建議是:以前代碼注釋就讓它去吧穆刻,現(xiàn)在就都是用這個(gè)統(tǒng)一風(fēng)格置尔。

快速修改注釋

一個(gè)函數(shù)寫好了,注釋也寫好氢伟,但是有的時(shí)候計(jì)劃沒有變化快榜轿,函數(shù)添加了新的參數(shù),這個(gè)注釋難道要手動添加朵锣?別急谬盐,其實(shí)Xcode也為我們提供了快捷方式,我們繼續(xù)看例子诚些,這個(gè)函數(shù)我在之前的基礎(chǔ)上添加了一個(gè)num參數(shù)飞傀,但是注釋還是之前的樣子:

image.png

cmd+鼠標(biāo)左鍵點(diǎn)擊,我們可以看到左側(cè)出現(xiàn)了一個(gè)菜單诬烹,點(diǎn)擊Add Documentation

image.png

我們需要添加的參數(shù)它就來了砸烦,這樣就可以直接添加注釋了。
image.png

大家有興趣可以把菜單的選項(xiàng)都點(diǎn)擊試試椅您,也許有意外的驚喜外冀,比如Convert Function to Async,await/async掀泳。

參考文檔

VVDocumenterhttps://github.com/onevcat/VVDocumenter-Xcode

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雪隧,一起剝皮案震驚了整個(gè)濱河市西轩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脑沿,老刑警劉巖藕畔,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異庄拇,居然都是意外死亡注服,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門措近,熙熙樓的掌柜王于貴愁眉苦臉地迎上來溶弟,“玉大人,你說我怎么就攤上這事瞭郑」加” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵屈张,是天一觀的道長擒权。 經(jīng)常有香客問我,道長阁谆,這世上最難降的妖魔是什么碳抄? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮场绿,結(jié)果婚禮上剖效,老公的妹妹穿的比我還像新娘。我一直安慰自己裳凸,他們只是感情好贱鄙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著姨谷,像睡著了一般逗宁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梦湘,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音捌议,去河邊找鬼哼拔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瓣颅,可吹牛的內(nèi)容都是我干的倦逐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宫补,長吁一口氣:“原來是場噩夢啊……” “哼檬姥!你這毒婦竟也來了曾我?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤健民,失蹤者是張志新(化名)和其女友劉穎抒巢,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秉犹,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛉谜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崇堵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片型诚。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖筑辨,靈堂內(nèi)的尸體忽然破棺而出俺驶,到底是詐尸還是另有隱情幸逆,我是刑警寧澤棍辕,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站还绘,受9級特大地震影響楚昭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拍顷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一抚太、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昔案,春花似錦尿贫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捞稿,卻和暖如春又谋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背娱局。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工彰亥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衰齐。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓任斋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親耻涛。 傳聞我的和親對象是個(gè)殘疾皇子废酷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容