代碼整潔之道—注釋

別給糟糕的代碼加注釋——重新寫吧

若編程語言有足夠的表達(dá)力姻氨,就不那么需要注釋——也許根本不需要夕玩。

注釋的恰當(dāng)用法是彌補(bǔ)我們在用代碼表達(dá)意圖時遭遇的失敗坤按,注意泪幌,失敗盲厌。注釋總是一種失敗,我們總找不到不用注釋就能表達(dá)自我的方法祸泪,總要有注釋吗浩,這并不值得慶賀。每次寫注釋没隘,你都該做個鬼臉懂扼,感受自己在表達(dá)能力的失敗。

注釋不能美化糟糕的代碼右蒲,與其花時間編寫解釋你搞出的糟糕代碼的注釋阀湿,不如花時間清潔那堆糟糕的代碼,寫出整潔而有表達(dá)力的代碼瑰妄。

好注釋

  1. 法律信息
    有時陷嘴,公司代碼規(guī)范要求編寫與法律有關(guān)的注釋。IDE會自動卷起這些注釋
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
  1. 對意圖的解釋间坐。
    有時候稍微解釋一下灾挨,自己某段程序準(zhǔn)備做什么操作邑退。

  2. 提供信息的注釋

// 格式化匹配的  kk.mm.ss EEE, MMM dd, yyyy
Pattern timeMatcher = Pattern.compile(
"\\d*:\\d*:\\d* \\w*, \\w* \\d*, \\d*"  );

也可以把這段代碼移動到某個時期和時間格式的類中,可能會更好和更清晰涨醋。

  1. 警示
    // 除非你必須要殺掉某些東西瓜饥,否則則不要運(yùn)行這段程序

  2. TODO 注釋
    // TODO是一種程序員認(rèn)為應(yīng)該做,但是由于某些原因目前還沒有做的工作浴骂。
    目前乓土,大多數(shù)好IDE都提供了特別的手段來定位所有的TODO注釋。

  3. 說明重要性
    // 本次操作非常重要溯警,它去除了字符串兩邊的空格

如果你決定寫注釋趣苏,那么就花必要的時間確保寫出最好的注釋。

壞注釋

  1. 喃喃自語

  2. 多余的注釋梯轻,廢話的注釋食磕。

  3. 誤導(dǎo)性注釋

  4. 循規(guī)蹈矩式注釋
    例如,要求每個函數(shù)都要寫javadoc喳挑,就會得到很多原本無需寫注釋的注釋彬伦。

  5. 能用函數(shù)或變量時就別用注釋。

  6. 位置標(biāo)記
    有點程序員喜歡在源代碼中標(biāo)記某個特別的位置伊诵。少用這種無理单绑,雞零狗碎的注釋。
    // Actions ///////////////////////////

  7. 注釋掉的代碼曹宴。
    有些已經(jīng)不用的程序搂橙,依然被注釋在哪里,有的人可能回想代碼留在哪里也許會有用笛坦。但是我們現(xiàn)在有源代碼控制系統(tǒng)区转,無需再用注釋來標(biāo)記,刪掉即可版扩。

最后

還是要記住废离,寫程序不僅僅是為自己而寫,考慮到讀到你寫的代碼時的感受礁芦。不要喃喃自語蜻韭,清晰的用程序語言表達(dá)自己

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宴偿,隨后出現(xiàn)的幾起案子湘捎,更是在濱河造成了極大的恐慌诀豁,老刑警劉巖窄刘,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舷胜,居然都是意外死亡娩践,警方通過查閱死者的電腦和手機(jī)活翩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翻伺,“玉大人材泄,你說我怎么就攤上這事《至耄” “怎么了拉宗?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辣辫。 經(jīng)常有香客問我旦事,道長,這世上最難降的妖魔是什么急灭? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任姐浮,我火速辦了婚禮,結(jié)果婚禮上葬馋,老公的妹妹穿的比我還像新娘卖鲤。我一直安慰自己,他們只是感情好畴嘶,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布蛋逾。 她就那樣靜靜地躺著,像睡著了一般掠廓。 火紅的嫁衣襯著肌膚如雪换怖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天蟀瞧,我揣著相機(jī)與錄音沉颂,去河邊找鬼。 笑死悦污,一個胖子當(dāng)著我的面吹牛铸屉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播切端,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼彻坛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了踏枣?” 一聲冷哼從身側(cè)響起昌屉,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茵瀑,沒想到半個月后间驮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡马昨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年竞帽,在試婚紗的時候發(fā)現(xiàn)自己被綠了扛施。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡屹篓,死狀恐怖疙渣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情堆巧,我是刑警寧澤妄荔,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站谍肤,受9級特大地震影響懦冰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谣沸,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一刷钢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乳附,春花似錦内地、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至举农,卻和暖如春荆针,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颁糟。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工航背, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棱貌。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓玖媚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親婚脱。 傳聞我的和親對象是個殘疾皇子今魔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

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

  • 別給糟糕的代碼添加注釋——重新寫吧。 若編程語言足夠有表達(dá)力障贸,或者我們長于用這些語言來表達(dá)意圖错森,就不那么需要注釋—...
    清風(fēng)流蘇閱讀 879評論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)篮洁,斷路器涩维,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 目錄及筆記鏈接 序 丹麥諺語:小處誠實非小事。 建筑師路德維希:神在細(xì)節(jié)之中嘀粱。 日本的 5S 哲學(xué): 整理(整理激挪、...
    小鐳Ra閱讀 1,497評論 3 3
  • 前段時間在看這本書, 看了一大半了, 很多東西講的還是很有道理的, 這一系列文章作為筆記, 供自己今后翻閱. 1....
    Dev_hell03W閱讀 406評論 0 0
  • 浩浩是我的小孫子,4周5個月了锋叨,1周歲開始喝黑茶了垄分,身體狀況很好,一直以來沒有吃過藥娃磺,沒有打過針薄湿,真的很幸運(yùn),在幼...
    黑茶玲玲閱讀 444評論 6 7