<listing id="dgcc5"></listing>
<address id="dgcc5"><progress id="dgcc5"><font id="dgcc5"></font></progress></address>
<video id="dgcc5"><big id="dgcc5"><nobr id="dgcc5"></nobr></big></video>
<address id="dgcc5"></address>
<th id="dgcc5"><big id="dgcc5"><listing id="dgcc5"></listing></big></th>
<thead id="dgcc5"><meter id="dgcc5"></meter></thead>

<th id="dgcc5"><address id="dgcc5"></address></th>

<track id="dgcc5"><progress id="dgcc5"><listing id="dgcc5"></listing></progress></track>

<nobr id="dgcc5"><menuitem id="dgcc5"><var id="dgcc5"></var></menuitem></nobr>
<address id="dgcc5"><progress id="dgcc5"></progress></address>
      
      

        <th id="dgcc5"><meter id="dgcc5"><dfn id="dgcc5"></dfn></meter></th>

        <thead id="dgcc5"></thead>

        <track id="dgcc5"><address id="dgcc5"></address></track><address id="dgcc5"><meter id="dgcc5"></meter></address>
        <address id="dgcc5"><progress id="dgcc5"></progress></address>

            <sub id="dgcc5"></sub>

            <th id="dgcc5"></th>

            <sub id="dgcc5"><meter id="dgcc5"><cite id="dgcc5"></cite></meter></sub>

                <address id="dgcc5"><progress id="dgcc5"></progress></address>

                  <sub id="dgcc5"><progress id="dgcc5"></progress></sub>

                    <th id="dgcc5"><progress id="dgcc5"><listing id="dgcc5"></listing></progress></th>
                      <th id="dgcc5"><address id="dgcc5"><dfn id="dgcc5"></dfn></address></th>

                        <output id="dgcc5"><ins id="dgcc5"></ins></output>
                        <dl id="dgcc5"></dl>

                        1. <output id="dgcc5"><font id="dgcc5"><thead id="dgcc5"></thead></font></output>
                          1. <dl id="dgcc5"><ins id="dgcc5"></ins></dl>
                            <output id="dgcc5"></output>

                            新聞中心

                            EEPW首頁 > 牛人業話 > 寫代碼不寫注釋?!無注釋主義了解一下~

                            寫代碼不寫注釋?!無注釋主義了解一下~

                            作者:天雷君時間:2018-09-17來源:電子產品世界收藏

                            據說,共產黨員入黨時需要面向黨旗宣讀誓言,在莊嚴、肅穆的氣氛中,宣誓人懷抱著拳拳報國之心,壓抑著胸中的激蕩不已,熱淚盈眶、目光堅定地朗讀簡潔有力的誓言,沉甸甸的誓言中有一句話特別鼓舞人心:為共產主義奮斗終身。

                            本文引用地址:http://www.uavs.tw/article/201809/391975.htm

                            “主義”實在是一個好東西,它看似虛無縹緲,卻可以指導國家和人民的工作和生活。當今社會正處于劇烈變革之中,各種主義粉墨登場,占據了不同群體的精神世界,犬儒主義、樂觀主義、民本主義、民族主義、實用主義、貿易保護主義、自由主義、資本主義、社會主義、達達主義、完美主義、教條主義等等,不一而足,每一個主義承托著一個思想世界,各種主義讓我們獲得新知,受到教益,筆者在多年的科研工作生涯中摸爬滾打,一路荊棘,也漸漸在寫方面形成了自己的主義-無主義!

                            1

                            有人說,上帝給你關上一扇門,必然會為你開啟一扇窗,筆者對此金句頷首低眉,深以為然。就拿我來說吧,為人木訥,不善言談,典型一個三腳跺不出一個屁來的悶葫蘆,但是又頗喜寫作,雖然文筆欠佳,卻也經常文思涌動,恨不能剝皮為紙,以血為墨,折骨為筆,寫它個一死方休。

                            筆者不僅以文字記錄工作生活、思想感悟,曾經,還以為田,筆耕不輟,到了不寫就不寫的地步。當然,筆者的也難脫俗套,范疇基本上只限于解釋代碼的設計思路、具體實現的注意事項、關鍵變量的作用、函數調用參數的說明等內容。時過境遷,當時的心境也已難尋,現在想來,當時之所以要寫注釋,一方面是循規蹈矩隨大流,別人都寫咱也寫,另一方面,很大程度上是下意識地以文字代替語言,就好像要給他人解釋代碼,生怕哪段代碼沒有注釋,無法卸掉口頭給他人講代碼的責任一般。

                            2

                            這個世界懲罰自由散漫的人,也同時在懲罰循規蹈矩之人。人通過各種教條給自己設置了多個條條框框,在編織的牢籠里自得其樂,也必然會受到桎梏自吞苦果。

                            “注釋”就是這樣一個牢籠。

                            星爺曾經說過,能力越大,責任就越大。隨著技術水平的日益提高,領導開始將更加復雜艱巨的任務放到我的肩頭,肩負領導囑托,懷抱精忠報國之心,我寫的代碼也開始越來越多,越來越復雜了,同時,代碼里的注釋也慢慢增多了。

                            寫代碼自有其客觀規律,那就是:需要不斷地修改、完善、優化。就像在泳池中不斷變換各種泳姿一樣,筆者孜孜不倦地調整、打磨代碼,看著代碼日益精益、完美,頗有一種樂在其中、雖九死而猶未悔的體會,以至于代碼慢慢地變得面目全非,而注釋基本上依然固執地保持著最初的模樣,就好似已然開始自由泳,說明書卻還是蛙泳的動作講解,自由泳是繃腳掌,蛙泳是翻腳掌,欲不吃虧,可得乎?!

                            3

                            楞嚴經中說:如人以手,指月示人。彼人因指,當應看月。若復觀指以為月體,此人豈唯亡失月輪,亦亡其指。就是說,假如有人用手指著月亮給你看,你應該順著手指的方向去看月亮,如果你不看月亮,反而仔細地研究起這只纖纖玉手那纖細玉潤的手指來,多半會像“不知妻美”的東哥那樣失了分寸,動心而忍不了性的。

                            注釋就是那根手指,代碼才是那彎明月。

                            楞嚴經這段話的真正意思是:我們學習佛陀的經典,要通過這些語言文字,體悟它背后所蘊含的深深義理,靠此義理指示,明悟我們的清凈佛心。不能執著在語言文字上,以為那就是佛心,就是佛法。那就永遠找不到清凈佛心了,因為把語言文字當作佛心,當作佛法,其實,已經失去了佛心真正的大圓滿、大具足、大光明、大無礙了!

                            不同的是,代碼的變化總是在不經意間悄悄發生的,曾幾何時,注釋這根手指所指向的已經不是最新代碼這顆明月了,我本將心向明月,奈何明月照溝渠啊!

                            既然注釋很難跟得上代碼的變化,為什么那么多技術大牛都像模像樣地給后晉菜鳥們諄諄教誨,告誡他們注釋很重要,要養成寫注釋的習慣呢?我想主要原因應該可以歸結到大多數員都不寫文檔的壞習慣上來。員這個群體大抵都沒有多少忠君思想,跳槽也是家常便飯,無論是小白還是大牛,都不可避免地碰到接手別人代碼的情形。從代碼傳承的角度,描述性強的注釋可以起到幫助理解他人代碼、盡快上手修改原有代碼的作用。

                            人在江湖飄,誰能不挨刀,我相信很多人都遭遇過受困于別人天書般的代碼望天長嘆的時刻,那種無奈和抓狂實在刻骨銘心,所以,從利人利己的角度,都希望別人能寫注釋,而且寫得越詳細越好,最關鍵的,一定要和代碼對應起來,不能驢唇不對馬嘴。

                            可是,如果代碼本身就可以解釋自己呢?

                            如果說,注釋面對人的世界,代碼直接面向機器的世界,那么,如果代碼本身既能面對人又能面對機器世界呢?如果注釋充當的是人-機器之間的橋梁的話,那么,何不直接讓代碼充當這個橋梁呢?

                            據說孩子出生的時候,每對父母都會抓耳撓腮,反復掂量斟酌孩子的起名,過程之艱不忍描述。而想要寫出閱讀性強的代碼來,對函數、變量的起名同樣需要操碎了心,函數什么作用,變量干嘛用的,函數名稱能涵蓋它實現的所有作用嗎,相似變量名稱之間的歧義怎么解決,源文件怎么組織,函數長度怎么約束,枚舉怎么定義,這些都直接影響代碼的閱讀性。這還僅僅是代碼層面,設計方案層面呢?如果模塊化做得不夠好,模塊之間耦合性強,改這里影響那里,不寫注釋把這些隱患描述出來,怎么能夠保證之后正確修改呢?

                            所以,不是不可以不寫注釋,而是不寫注釋,就要孜孜于提高代碼的閱讀性,靠代碼本身解釋自己,這樣實在是太難了!

                            可是,誰的人生又是輕松愉快的呢?堅持貫徹無注釋主義,就可以破釜沉舟,逼迫自己寫出模塊化、結構化、可靈活修改、魯棒性強、閱讀性好的代碼來,正所謂置之死地而后生也!

                            后記

                            也許,人本來就是很難團結的,員這個群體總是很容易分出多個陣營出來,在寫不寫注釋上,也是仁者見仁智者見智,筆者只是拋磚引玉,并不代表唯一準確的觀點,科學自有其客觀規律,不容觸犯,但同時,科學的大門異常寬廣,容得你犯下任何錯誤。對于程序員這個群體,灑家始終懷有尊敬愛戴的情愫,所以,倘若本文有所冒犯,還請各位兄弟姐妹們見諒。



                            關鍵詞: 代碼 注釋 程序

                            推薦閱讀

                            評論

                            技術專區

                            關閉
                            青海11选5开奖结果