移動(dòng)開(kāi)發(fā)編碼規(guī)范

一.命名規(guī)則
二.注釋

  1. 背景
    1.1 當(dāng)我們第一次接觸某段代碼碾盟,但又被要求在極短的時(shí)間內(nèi)有效地分析這段代碼,我們需要什么樣的注釋信息颓鲜?
    1.2 怎么樣避免我們的注釋冗長(zhǎng)而且凌亂不堪呢?
    1.3 在多人協(xié)同開(kāi)發(fā)、維護(hù)的今天偶妖,我們需要怎么樣的注釋來(lái)保證高質(zhì)、高交的進(jìn)行開(kāi)發(fā)和維護(hù)工作呢政溃?

  2. 意義
    程序中的注釋是程序設(shè)計(jì)者與程序閱讀者之間通信的重要手段趾访。應(yīng)用注釋規(guī)范對(duì)于軟件本身和軟件開(kāi)發(fā)人員而言尤為重要。并且在流行的敏捷開(kāi)發(fā)思想中已經(jīng)提出了將注釋轉(zhuǎn)為代碼的概念董虱。好的注釋規(guī)范可以盡可能的減少一個(gè)軟件的維護(hù)成本 , 并且?guī)缀鯖](méi)有任何一個(gè)軟件扼鞋,在其整個(gè)生命周期中,均由最初的開(kāi)發(fā)人員來(lái)維護(hù)愤诱。好的注釋規(guī)范可以改善軟件的可讀性云头,可以讓開(kāi)發(fā)人員盡快而徹底地理解新的代碼。好的注釋規(guī)范可以最大限度的提高團(tuán)隊(duì)開(kāi)發(fā)的合作效率淫半。長(zhǎng)期的規(guī)范性編碼還可以讓開(kāi)發(fā)人員養(yǎng)成良好的編碼習(xí)慣溃槐,甚至鍛煉出更加嚴(yán)謹(jǐn)?shù)乃季S能力。

  3. 注釋的原則
    3.1 注釋形式統(tǒng)一
    在整個(gè)應(yīng)用程序中科吭,使用具有一致的標(biāo)點(diǎn)和結(jié)構(gòu)的樣式來(lái)構(gòu)造注釋昏滴。如果在其他項(xiàng)目組發(fā)現(xiàn)他們的注釋規(guī)范與這份文檔不同,按照他們的規(guī)范寫代碼砌溺,不要試圖在既成的規(guī)范系統(tǒng)中引入新的規(guī)范影涉。
    3.2 注釋的簡(jiǎn)潔
    內(nèi)容要簡(jiǎn)單、明了规伐、含義準(zhǔn)確蟹倾,防止注釋的多義性,錯(cuò)誤的注釋不但無(wú)益反而有害猖闪。
    3.3 注釋的一致性
    在寫代碼之前或者邊寫代碼邊寫注釋鲜棠,因?yàn)橐院蠛芸赡軟](méi)有時(shí)間來(lái)這樣做。另外培慌,如果有機(jī)會(huì)復(fù)查已編寫的代碼豁陆,在今天看來(lái)很明顯的東西六周以后或許就不明顯了。通常描述性注釋先于代碼創(chuàng)建吵护,解釋性注釋在開(kāi)發(fā)過(guò)程中創(chuàng)建盒音,提示性注釋在代碼完成之后創(chuàng)建表鳍。修改代碼的同時(shí)修改相應(yīng)的注釋,以保證代碼與注釋的同步祥诽。
    3.4 注釋的位置
    保證注釋與其描述的代碼相鄰譬圣,即注釋的就近原則。對(duì)代碼的注釋應(yīng)放在其上方相鄰或右方的位置雄坪,不可放在下方厘熟。避免在代碼行的末尾添加注釋;行尾注釋使代碼更難閱讀维哈。不過(guò)在批注變量聲明時(shí)绳姨,行尾注釋是合適的;在這種情況下阔挠,將所有行尾注釋要對(duì)齊飘庄。
    3.5 注釋的數(shù)量
    注釋必不可少,但也不應(yīng)過(guò)多购撼,在實(shí)際的代碼規(guī)范中竭宰,要求注釋占程序代碼的比例達(dá)到20%左右。注釋是對(duì)代碼的“提示”份招,而不是文檔,程序中的注釋不可喧賓奪主狞甚,注釋太多了會(huì)讓人眼花繚亂锁摔,注釋的花樣要少。不要被動(dòng)的為寫注釋而寫注釋哼审。
    3.6 刪除無(wú)用注釋
    在代碼交付或部署發(fā)布之前谐腰,必須刪掉臨時(shí)的或無(wú)關(guān)的注釋,以避免在日后的維護(hù)工作中產(chǎn)生混亂涩盾。
    3.7 復(fù)雜的注釋
    如果需要用注釋來(lái)解釋復(fù)雜的代碼十气,請(qǐng)檢查此代碼以確定是否應(yīng)該重寫它。盡一切可能不注釋難以理解的代碼春霍,而應(yīng)該重寫它砸西。盡管一般不應(yīng)該為了使代碼更簡(jiǎn)單便于使用而犧牲性能,但必須保持性能和可維護(hù)性之間的平衡址儒。
    3.8 多余的注釋
    描述程序功能和程序各組成部分相互關(guān)系的高級(jí)注釋是最有用的芹枷,而逐行解釋程序如何工作的低級(jí)注釋則不利于讀、寫和修改莲趣,是不必要的鸳慈,也是難以維護(hù)的。避免每行代碼都使用注釋喧伞。如果代碼本來(lái)就是清楚走芋、一目了然的則不加注釋绩郎,避免多余的或不適當(dāng)?shù)淖⑨尦霈F(xiàn)。
    3.9 必加的注釋
    典型算法必須有注釋翁逞。在代碼不明晰或不可移植處必須有注釋肋杖。在代碼修改處加上修改標(biāo)識(shí)的注釋。在循環(huán)和邏輯分支組成的代碼中添加注釋熄攘。為了防止問(wèn)題反復(fù)出現(xiàn)兽愤,對(duì)錯(cuò)誤修復(fù)和解決方法的代碼使用注釋,尤其是在團(tuán)隊(duì)環(huán)境中挪圾。
    3.10 注釋在編譯代碼時(shí)會(huì)被忽略浅萧,不編譯到最后的可執(zhí)行文件中,所以注釋不會(huì)增加可執(zhí)行文件的大小哲思。

  4. Objective-c注釋技巧
    4.1 Xcode注釋常規(guī)方法
    4.2(使用Alcatraz下載插件VVDocmenter)

三.使用#pragma mark 方便閱讀

參考:
Objective-C代碼規(guī)范

Objective-C編碼規(guī)范:26個(gè)方面解決iOS開(kāi)發(fā)問(wèn)題

那些令人噴飯的代碼注釋:僅以此代碼獻(xiàn)給...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洼畅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子棚赔,更是在濱河造成了極大的恐慌帝簇,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靠益,死亡現(xiàn)場(chǎng)離奇詭異丧肴,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)胧后,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門芋浮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人壳快,你說(shuō)我怎么就攤上這事纸巷。” “怎么了眶痰?”我有些...
    開(kāi)封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵瘤旨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我竖伯,道長(zhǎng)存哲,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任黔夭,我火速辦了婚禮宏胯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘本姥。我一直安慰自己肩袍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布婚惫。 她就那樣靜靜地躺著氛赐,像睡著了一般魂爪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上艰管,一...
    開(kāi)封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天滓侍,我揣著相機(jī)與錄音,去河邊找鬼牲芋。 笑死撩笆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缸浦。 我是一名探鬼主播夕冲,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼裂逐!你這毒婦竟也來(lái)了歹鱼?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卜高,失蹤者是張志新(化名)和其女友劉穎弥姻,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掺涛,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡庭敦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了薪缆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片螺捐。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖矮燎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赔癌,我是刑警寧澤诞外,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站灾票,受9級(jí)特大地震影響峡谊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刊苍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一既们、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧正什,春花似錦啥纸、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盾致。三九已至,卻和暖如春荣暮,著一層夾襖步出監(jiān)牢的瞬間庭惜,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工穗酥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留护赊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓砾跃,卻偏偏與公主長(zhǎng)得像骏啰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜓席,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理器一,服務(wù)發(fā)現(xiàn),斷路器厨内,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock閱讀 3,371評(píng)論 2 36
  • 赤壁之戰(zhàn)祈秕,是指東漢末年,孫權(quán)雏胃、劉備聯(lián)軍于建安十三年(208年)在長(zhǎng)江赤壁(今湖北省赤壁市西北)一帶大破曹操大軍请毛,奠...
    悠悠千古事閱讀 753評(píng)論 0 0
  • 數(shù)組 動(dòng)態(tài)數(shù)組 鏈表 棧 隊(duì)列 優(yōu)先隊(duì)列 樹(shù) 二叉樹(shù)(廣義)二叉堆二叉查找樹(shù)AVL樹(shù) 并查集 散列表
    crf1028閱讀 267評(píng)論 0 0