當前位置:
首頁 > 科技 > 你們這些程序員,真得每天都在讀代碼嗎?

你們這些程序員,真得每天都在讀代碼嗎?

關鍵時刻,第一時間送達!

近日,外媒上的一篇文章震驚了我,它赤裸裸地寫道:你們這些程序員們,真得每天都在讀代碼嗎?多數人閱讀代碼的數量遠遠不夠。

文中提到,在Peter Seibel撰寫的「Coders at Work」一書中描述了這樣一個矛盾的現象:「幾乎所有的程序員都建議他人通過多讀代碼獲得樂趣,但自己卻往往做不到。」甚至他還直接向麻省理工學院計算機科學系教授 Hal Abelson尋求答案:

「我想更深入了解一下。像很多人一樣,您也常常建議程序員應該多讀代碼。然而,當我問到您是因為讀了哪部分代碼而受到啟發或感到娛樂時,您同其他人一樣,回答說『是因為您閱讀了學生的代碼』,而這是您的工作,『在谷歌review代碼』,而這同樣是您的工作。從頭到尾,這都聽起來不像是您在某個夜晚心情愉悅地讀一段代碼的樣子。」

為了搞清楚這種現象產生的原因,Seibel幾人展開一番討論,並給出了精彩見解,不過,或是由於過於聚焦「讀」這個詞,使得他們的思考局限於某一個框架,考慮的問題跟著帶跑偏了。

實際上,我們都讀過代碼,但基本是需要編輯的時候才會選擇讀代碼,而只有當遇到複雜問題時,讀代碼這件事才變得異常重要。畢竟,有程序員就曾抱怨:「一坨幾千行的代碼,整個業務邏輯都放在裡面,注釋也不寫全,誰能看懂?」

而為了養成這種讀代碼的好習慣,作者Kartik Agaram從另外一個角度給出了自己的見解——破解程序法讀代碼。

這種破解程序法比「被動地」、「線性」閱讀能產生更好的理解,且基本滿足以下三個特點:

主動探索當你想要破解一款程序時,你最終希望要對代碼庫進行修改,恰恰是這個慾望引導著你一步一步讀著代碼;

大幅修改同樣,此時你會根據想要進行的修改對現有代碼進行評估。決定用什麼和刪除什麼迫使你對現有系統保持一副排斥的態度。而如果你以線性的思維讀代碼,你會發現:你基本無法批判性地檢查代碼;

合:為了改變你想要的程序,你可以將新代碼與現有代碼進行組合。

通過破解程序的方式學習代碼,還可以調用某一個代碼庫的自然結構。一本好書就是通過一系列問題和答案來引導讀者的,而代碼庫本質上是非線性的,像地圖一樣,你可以不停地向地圖尋找答案,但你不能指望地圖告訴你要問什麼問題,因為從左到右、從上到下地線性讀取地圖是沒有意義的。

此外,過度沉迷於乾淨代碼和整潔界面的討論,使得我們忽略了一件事:對不熟悉的代碼愈加避而遠之。對於程序員而言,整潔,意味著有據可循,但如果我們想要另闢蹊徑時,反倒是累贅。

所以,或許只有當你再也聽不到老大review代碼的聲聲抱怨時,就說明已經你已經進步了~

快來投票

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

賈躍亭終現身,這次帶來了一個好消息
0 基礎如何成為 UI/UE 工程師?

TAG:CSDN |