在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    要不要寫代碼注釋

    前言

    代碼是否應該寫注釋,目前大概有兩種看法。第一種認為,優(yōu)秀的代碼不需要注釋,即很多人推崇的代碼即注釋;第二種認為,寫代碼應該要寫注釋。

    在此,先給出結論:代碼需要注釋。但是不是每行都需要注釋,或者需要多少注釋,我們會在接下來的文章中討論這個問題。(文中的例子均為PHP代碼)

    首先,我們先討論下代碼即注釋 的問題。

    我們先思考下,代碼即注釋的觀點是否正確。對于代碼即注釋,主要有兩個好處。 其一是在不寫注釋的情況下,避免了一定的工作量,這個工作量包含注釋的編寫,維護以及注釋規(guī)范的保持。在實際工作中,我們都遇到過注釋和實際代碼意圖不一致的情況,這就是注釋沒有維護好,為代碼的維護造成更多的負擔。 比如下面這個經(jīng)常被用來被調(diào)侃的例子

    <?php/** 獲取明天這個時候的時間戳./*/* @return int 時間戳.*/function getTomorrowTime(){ sleep(86400); return time();}復制代碼

    其二是代碼即注釋,能提高團隊的代碼命名、可讀性等。對于一個有強制代碼風格檢查、Code Review執(zhí)行到位的團隊來講,推崇代碼即注釋,確實會強有力地推動代碼的命名和可讀性,提升編碼能力。

    從以上兩點來講,代碼即注釋的觀念是正確的,也確實能給團隊帶來收獲。但是,在團隊實踐代碼即注釋,也是有前置條件的。

    首先,團隊必須是相對固定的,這里的相對固定是指團隊成員不會經(jīng)常性流動。一個團隊要達到代碼即注釋的水平,是很難的,即使你的團隊是精英團隊,每個人能力極強,但是大概率會有不同的技術背景,在認知上難免出現(xiàn)差異,這里舉幾個例子:

  • 當代碼中,需要發(fā)送一個事件時,有人喜歡用dispatch,有人喜歡用send。
  • 轉換成布爾值,有人喜歡 (bool) $var,有人則會用 !!$var
  • 參考以下代碼片段
  • 0) { return 100 / $a; } return 0;}// vs function test() { return $a > 0 ? 100 / $a : 0;}

    我們先不論誰好誰壞,這種不一致性是確實存在的。 要到達代碼即注釋,最重要的一點是你需要將團隊成員的編碼認知,基本拉到同一個水平,并且團隊內(nèi)部形成大家都認可的最佳實踐。要做到這一點,需要團隊長時間的協(xié)作和磨合。 對于一個流動性大的團隊,是無法做到這一點的,假設團隊5個人,剛把大家的認知統(tǒng)一,結果走了3個人;補充的3個新人,還得重新去拉齊大家認知,人員再流動,再拉齊,永遠達不到目標。所以對于流動性極高的團隊,老老實實寫注釋是最好的選擇。

    其次,你得有拉齊團隊認知的工具和文化。比如嚴格的Code Review,自動化的代碼風格檢查等。一個Code Review 都做不好的團隊,代碼風格、邏輯實現(xiàn)千奇百怪,怎么能統(tǒng)一認知,怎么做到代碼即注釋呢。

    總結一下,要在團隊中實踐代碼即注釋,首先得考慮團隊的流動性、其次有沒有相關工具和規(guī)范;對于一個新團隊,即使有條件,也要長期堅持不懈推行規(guī)范,建立文化,才能得以成功。

    最后,在談談代碼即注釋還有一個弊端,在一些特定的場景下,代碼中會包含一些隱藏的邏輯,無法很好通過代碼表達出來。對于不了解隱藏邏輯的人來說,往往會錯誤地使用該代碼,造成Bug。

    鑒于以上的原因,加上國內(nèi)這種為搶占市場快速產(chǎn)出而導致遍地加班的環(huán)境,代碼注釋絕對是有必要的,至少使用90%以上的團隊。

    代碼注釋寫多少合適

    對于這個問題,我們傾向于從三個情況考慮: 第一,你的團隊是踐行代碼即注釋的團隊,并且做得還不錯;對于這種情況,常規(guī)的代碼注釋可以省略,但是對于業(yè)務邏輯復雜或者包含隱藏邏輯的代碼,這是需要注釋的。

    第二,你的團隊有明確的注釋規(guī)范;這種情況按團隊規(guī)范來即可。

    第三,你的團隊沒有良好代碼的基因,不推崇代碼即注釋,也沒有規(guī)范;這種情況下,團隊負責人需要評估,是制定一套注釋規(guī)范,還是踐行代碼即注釋。我們的建議一般都是先制定注釋規(guī)范,因為注釋規(guī)范實現(xiàn)相對于代碼即注釋,時間和成本都要小很多;注釋規(guī)范落地后,再考慮代碼即注釋的問題。

    最后,不管是寫注釋還是踐行代碼即注釋,Code Review 都是保證代碼質(zhì)量(包括代碼和注釋本身)的重要工具。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月19日 09:14
    下一篇 2022年6月19日 09:14

    相關推薦

    • 央行全面降準0.25個百分點 釋放資金5000億

        圖蟲創(chuàng)意/供圖 證券時報記者 賀覺淵 11月25日,央行宣布,為保持流動性合理充裕,促進綜合融資成本穩(wěn)中有降,落實穩(wěn)經(jīng)濟一攬子政策措施,鞏固經(jīng)濟回穩(wěn)向上基礎,決定于2022年1…

      2022年11月26日
    • 《我在島嶼讀書》:文壇大家是最會講故事的人

      當余華、蘇童、西川這些文壇大家相聚在一起,會碰撞出怎樣的火花?外景紀實類讀書節(jié)目《我在島嶼讀書》給出了答案。 上周節(jié)目首播之后,觀眾一邊從中汲取文學養(yǎng)分,一邊又驚嘆于作家們接地氣的…

      2022年11月24日
    • 微軟合并Azure Virtual Desktop和Windows365服務

      微軟宣布合并 Azure Virtual Desktop 和 Windows 365 服務,合并之后交由 21 年老將斯科特?曼徹斯特(Scott Manchester)負責。 我…

      2022年11月23日
    • 分享2大類微信引流軟件(不花錢的微信引流軟件都有哪些)

      不花錢的微信引流軟件之前介紹了不少節(jié)省社群運營精力、提高社群運營效率的方法,今天主要給大家推薦一些簡單好用的工具。 大家首先要掌握尋找工具的方法,因為工具可能因為平臺封禁等原因不能…

      2022年11月22日
    • 高德地圖無網(wǎng)絡可以導航嗎 高德地圖怎么離線導航

      高德地圖是現(xiàn)在大家比較常用的一個導航軟件,很多朋友在使用中都存在著一個疑惑,那就是在沒有網(wǎng)絡的時候該怎么導航呢?現(xiàn)在就讓小編帶大家來看一下吧。 1.首先打開進入高德地圖頁面,然后點…

      2022年11月21日
    • 馬斯克凌晨一點半曬“代碼審查”現(xiàn)場,編排他的段子比瘋狂星期四還多

      夢晨 Pine 發(fā)自 凹非寺 量子位 | 公眾號 QbitAI 每一個真正會寫代碼的人,請在下午2點到總部10層報到。 每一個真正會寫代碼的人,請在下午2點到總部10層報到。 馬斯…

      2022年11月21日
    • 提倡小規(guī)模旅游團隊(嚴格控制旅游團隊規(guī)模)

      團隊旅游應控制組團規(guī)模,提倡小規(guī)模旅游團隊強化數(shù)據(jù)分析,科學安排團隊旅游線路和出游時間,分時段分批次分區(qū)域開展旅游活動,避免游客聚集對于游客,指南明確應加強行前排查,旅行社要做好游…

      2022年11月19日
    • 沒團隊就做這幾種(一個人適合做哪一領域短視頻)

      自媒體短視頻什么領域比較火呢?又有哪些領域收益高?現(xiàn)在自媒體短視頻越來越火了,很多新手想要入門,但是又不知道做什么領域。經(jīng)過小編多方面觀察和統(tǒng)計,發(fā)現(xiàn)了5個比較容易上熱門的視頻領域…

      2022年11月19日
    • 淘寶運營團隊怎么找(網(wǎng)店運營與推廣)

      很多商家認為網(wǎng)店代運營就是將網(wǎng)店外包出去 因此在找服務商的時候不知道從何下手,也不知道怎么配合代運營公司 其實網(wǎng)店代運營除了有運營外包之外,還可以根據(jù)自己的實際情況進行選擇其他合作…

      2022年11月18日
    • “工具人”楊冪的一天

      但是沒想零點一過,楊冪生日還沒上熱搜,一些奇奇怪怪的話題已經(jīng)霸占在熱搜上了。第一個就是迪麗熱巴為楊冪慶生。話說兩個人作為同公司的藝人,熱巴為楊冪慶生也是理所當然的,但是誰能想到熱巴…

      2022年11月18日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息