精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么我們要閱讀源碼?

開發 前端
程序員每天都和代碼打交道。經過數年的基礎教育和職業培訓,大部分程序員都會「寫」代碼,或者至少會抄代碼和改代碼。但是,會讀代碼的并不在多數,會讀代碼又真正讀懂一些大項目的源碼的,少之又少。這種怪狀,真要追究起來,怪不得程序員這個群體本身 —— 它是兩個原因造成的。

程序員每天都和代碼打交道。經過數年的基礎教育和職業培訓,大部分程序員都會「寫」代碼,或者至少會抄代碼和改代碼。但是,會讀代碼的并不在多數,會讀代碼又真正讀懂一些大項目的源碼的,少之又少。這種怪狀,真要追究起來,怪不得程序員這個群體本身 —— 它是兩個原因造成的:

  • 我們所有的教育和培訓都在強調怎么寫代碼,并沒有教大家如何讀代碼
  • 大多數工作場景都是一個蘿卜一個坑,我們只需要了解一個系統的局部便能開展工作,讀不相干的代碼,似乎沒用

為什么我們要閱讀源碼?

我常常把寫代碼和寫作進行類比 —— 二者有很多相通之處;但從培養寫代碼和寫作的過程來看,二者又有很多不同。我們的寫作能力,是建立在大量基礎閱讀的基礎上的,是除了學習語法和文法知識外,從小學開始,經年累月,通過閱讀各種不同層次的名家的作品,再加上各種各樣的寫作訓練,累積出來的;而我們的寫代碼的能力,在了解和掌握了語法/文法之后(學習和抄寫 example 代碼也算語法/文法學習的一部分),跳過了大量閱讀名家作品的過程,直接 biu 地一下就自動養成了:學會基礎的語法和試驗了若干 example 后,我們就火箭般躥到了自己寫代碼打怪贊經驗的階段。這樣略過大量閱讀代碼的階段有三個害處:

  1. 寫代碼的基礎是不牢靠的,打怪升級的過程也是最慢的。道理很簡單 —— 前輩們踩過的坑,總結的經驗教訓,你都不得不親自用最慢的法子一點點試著踩一遍。
  2. 很容易養成 stackoverflow driven 的寫代碼習慣 —— 遇到不知如何寫的代碼,從網上找現成的答案,找個高票的復制粘貼改吧改吧,湊活著完成功能再說。寫代碼的過程中遇到問題,開啟調試模式,要么設置無數斷點一步步跟蹤,要么到處打印信息試圖為滿是窟窿的代碼打上補丁,導致整個寫代碼的過程是一部調代碼的血淚史。(見我的文章:你要避免的軟件開發模式)
  3. 你周圍***的那個工程師的開發水平的上限就是你的上限。

我們再回到讀書進行類比。

從小學到高中,就語文而言,12年時光,單單課本我們要讀十二冊,數百篇文章。如果每篇文章平均一千字,那么我們讀了數十萬文字。這些文字,我們是精讀過的(有些甚至要求全文背誦)。每篇文章我們需要總結中心思想,段落大意,歸納出論點論證論據或者時間任務地點起因經過結果,會分析長句難句,會學習起承轉結,并反復訓練基礎的遣詞造句能力,并最終模仿那些文章寫出自己的文章。在這個過程中,我們學會了賦、比、興,我們掌握了三段論,我們知道了如何用更優雅地方式表達自己的思想。更重要的是,這些閱讀訓練讓我們在我們在脫離學校的基礎教育后,可以自己獨立完成一本書的閱讀。我們不再依賴老師或者參考書為我們給出段落大意,中心思想,我們知道如何粗讀,細讀甚至類比閱讀一本書,我們能把書中的精髓濃縮成思維導圖,也大段大段摘錄書中精彩的句子,段落或者篇章。

這十幾年的時光,算上各種課外閱讀,世界名著,古典文學,金庸古龍,修正玄幻,一個大學畢業的二十幾歲的青年人,閱讀量應該不下幾百萬字。而稍稍涉獵廣些的讀者,上千萬字的閱讀累積是常有的事。有了這些累積,你才能在迎面走來一位妙齡女子,想到的是肌膚勝雪,明眸善睞,桃腮帶笑,齒如含貝,氣若幽蘭,美艷不可方物,一笑傾城,再笑傾國,沉魚落雁,閉月羞花這些詞句,而非不知如何表達,只能吞吞口水,在肚子里悶上一句:「我擦,美女啊」。

這是讀書的***大功用:累積素材(information)。你是否寫文章時,經過一番搜腸刮肚,也不知該如何描述某事某物?同樣的,寫代碼時,有沒有毫無頭緒,不知從何寫起的時候?或者有了些的思路,雙手卻在鍵盤上遲滯,不知所措?這些現象,大多是缺乏累積所致。

讀書的第二大功用:是開拓思路。有時候,一段文字,甚至一個句子,在你意料之外撲面而來,讓你有種醍醐灌頂的感覺。比如『圍城』里,趙辛楣和方鴻漸鴻初次見面,錢老描述趙的傲慢無禮,是這么寫的:「傲兀地把他從頭到腳看一下,好像鴻漸是本一覽而盡的大字幼稚園讀本」。初讀圍城的時候,我關注點是其故事性,將這樣的句子輕易放了過去,幾年前再讀時,才發覺它的精妙:竟能如此簡單地以物喻人,就把整個場景復原到如同發生在我的面前一樣活靈活現。隨后,我自己的文字里也模仿著,有時甚至刻意地如此這般使用比喻來增強畫面感。前些日子偶爾再讀到這句,因我有了作為一個成人,給女兒讀幼稚園讀本的經驗,不由得莞爾一笑,旋即明白了一個道路:精妙的不是比喻本身,而是對生活的細微觀察。

我在邊學 elixir 邊做 policy engine(見:Policy Engine 的前世今生)的過程中,除了官方的文檔和零星的博文外,可讀的內容少得可憐,我要解決的一些問題,論壇里也沒人能給我較好的思路。于是我轉而讀了部分 iex 的代碼,了解了 elixir 代碼編譯的方式,最終完成了一個 auto compiler 的 app —— 它能接受一些 API 請求,對預先配置的屬于其他 app 下的源碼可以在 cluster 里的有且僅有一個 node 上進行編譯,編譯完成后在整個 cluster 的所有 node 里重新加載;在做 API 的過程中,我讀了 plug(elixir 下官方的 connection adapter 實現)里面的主要邏輯,尤其是精讀了 Plug.Router 的代碼,搞明白了為何 Phoenix 的 router 敢宣稱在 route match 階段,其 performance 就甩同行好幾個數量級。于是我做 API 時,對如何在 match / dispatch 前后如何做些動作實現 middleware,甚至 hook 進 before send,有了更清晰的思路,在寫代碼時,也更加明白如何寫出類似的 composable adapter。

累積素材是基礎,被啟發出來的思路將這些素材串成線,這就形成了知識(knowledge)。書讀得越多,越勤于思考的人,知識也就越豐富。而知識的融會貫通,最終形成讀書的第三大功用:通過了解,吸收別人的思想,去蕪存菁,最終形成自己的思想,或者說智慧(wisdom)。

information -> knowledge -> wisdom 是個長期的累積,并非一朝一夕之功。

我的文章除幾篇廣告外,全部是原創,而原創中 99% 是我自己原創。這些原創完完全全是我「原創」么?我在 『如何選擇工作』一文中借用了『黑客與畫家』的思想:可測量性和可放大性。我贊同這個思想,同時將其融入了我自己的思考;在『程序員和拉條子』一文,我其實是寫了個現代版的庖丁解牛;『代碼重構之道』我借用了松本行弘,Martin Fowler,荀子等人的思想,形成了我自己的見解。當然,我書還是讀得太少,所以,真正有價值的思想還貧瘠得很。

同樣的,閱讀名家的優秀的代碼最終的歸宿是形成你自己寫代碼的思路。我去年撰寫的一個基于 node restify 的 API framework(見:再談 API 的撰寫 - 總覽 系列),雖然有很多不完善的地方,但內核還是相當穩定,一年多來只是些許小修小補。撰寫它的過程,是我對之前所讀各種項目的一個融會貫通:為了確定我是否該基于 restify,我通讀了它的代碼(沒多少),融合進了 hapi 和 loopback 的一些思路,提供了一套類似于 rails 的 CLI,再加上早年在 parser 上的一點經驗,把 framework 邏輯上分出了:compile time(嚴格講 nodejs 沒有 compile time,但 configuration 的處理,route / middleware / model / task 對應的內部數據結構的生成,算進了 compile time 中),load time 和 run time,用前兩個階段的「低效」換取后一個階段的高效(其實也類比了我的老本行,路由器/防火墻上的 control plane / data plane,first path / fast path 的設計)。如果沒有之前各種源碼閱讀的累積,我很難做出這樣的設計。

同樣的,閱讀 elixir unicode 實現的過程在兩年前激發我做了一個使用同樣思路的漢字的 slugify,或者漢字轉拼音(解決多音字問題)的暴力方法(see github: chinese_translation),這一思路在今年年初進一步發揚光大成了我們現在在 Tubi TV 使用的 policy engine 和 content engine,為每日不計其數的內容請求保駕護航。我們使用了 code as cache 的方法,把數據庫里的內容的不必在運行時做的 transformation 都在 compile time 完成,然后在 run time 結合記敘文三要素,得到最終的結果。以前我們系統中我們最慢的 API,采用新的 engine,如今快了至少數十倍 —— 尤其是在低并發下就慘不忍睹的 95 percentile response time(高并發都無法完成測試),如今在高并發,沒有任何 failure 的情況下,99 percentile response time 都能控制在 500ms 左右。

所以你說,閱讀優秀的,有啟發性的源代碼,多重要?

解決了 why 的問題,過兩天我們講講 how。

責任編輯:未麗燕 來源: 程序人生公眾號
相關推薦

2010-11-03 09:22:00

C語言

2021-01-26 05:37:08

分庫分表內存

2014-05-30 15:56:26

iOS 8WWDC2014

2021-05-17 08:20:22

職場晉升轉型

2021-02-11 13:30:56

Nodejs源碼c++

2021-06-21 10:04:12

微軟密碼Arsenault

2023-12-08 10:59:49

2016-08-22 13:31:05

前端架構前后端分離

2015-02-26 09:41:50

2022-01-19 22:51:57

設計匿名用戶

2019-07-30 15:50:00

2015-11-02 09:19:10

程序員JavaScript

2020-01-18 09:35:03

微服務團隊架構

2019-11-15 13:10:17

潘石屹Python語言

2020-11-12 18:13:21

辦公

2012-04-11 09:19:08

Haskell編程

2025-09-29 01:22:00

微服務單體架構CQRS

2019-11-06 09:24:25

量子芯片網絡

2020-06-19 14:55:11

Kubernetes容器技術

2015-11-06 11:28:43

搜狗知乎投資
點贊
收藏

51CTO技術棧公眾號

国产精品视频午夜| 亚洲男人天堂古典| cao在线观看| 女人偷人在线视频| 精品一二三四在线| 久久久久久久久久久网站| 成人免费无遮挡无码黄漫视频| 成人国产在线| 亚洲国产精品视频| 亚洲欧洲国产日韩精品| 色欲av伊人久久大香线蕉影院| 久久在线精品| 欧美黄色三级网站| 免费黄色片网站| 国产在线播放精品| 欧美日韩视频在线观看一区二区三区 | 日韩美女在线| 亚洲成人免费在线| 视频一区二区在线观看| 人妻无码中文字幕| 久久99国产精品久久99| 日本中文字幕不卡免费| 久久久久久久伊人| 天天做综合网| 在线观看成人黄色| 熟女人妻在线视频| 国产一区二区视频在线看| 一本一道综合狠狠老| 欧美在线观看视频免费| 91大神在线网站| 97久久精品人人做人人爽| 147欧美人体大胆444| 波多野结衣一二区| 亚洲视频播放| 国模视频一区二区| 福利所第一导航| 国产精品久久久久久影院8一贰佰| 日韩激情av在线播放| 中文字幕在线播放一区二区| 欧美性aaa| 色狠狠色噜噜噜综合网| 无码中文字幕色专区| 在线视频中文字幕第一页| 国产精品免费av| 日韩欧美一区二区三区久久婷婷| 亚洲人成色777777老人头| 成人深夜福利app| av成人在线电影| 99视频国产精品免费观看a| 免费成人av在线播放| 日本精品性网站在线观看| 天天干天天干天天干天天| 99在线|亚洲一区二区| 欧美极品在线视频| 免费观看一级视频| 亚洲欧洲另类| 97成人精品区在线播放| 国产午夜小视频| 亚洲美女一区| 91精品国产高清| 成人午夜视频精品一区| 9色国产精品| 91av国产在线| 一级片视频在线观看| 天堂午夜影视日韩欧美一区二区| 日韩av高清不卡| 最近中文字幕在线观看视频| 蜜桃视频在线观看一区| 成人www视频在线观看| 国产免费黄色网址| 国产91精品在线观看| 精品综合久久| 免费在线一级视频| 国产精品久久精品日日| avove在线观看| 韩国日本一区| 一本色道久久加勒比精品 | 青少年xxxxx性开放hg| 麻豆tv入口在线看| 亚洲国产美女搞黄色| 777久久久精品一区二区三区| 少妇一区视频| 欧美一区二区三区在线观看| www.四虎精品| 你懂的视频欧美| 久久视频国产精品免费视频在线| 久久高清无码视频| 久久午夜av| 成人免费福利在线| 免费看日韩av| 国产日本一区二区| 91精品国产吴梦梦| 欧美gay视频| 欧美一级黄色片| 国产高清自拍视频| 国产精品99视频| 国模精品系列视频| 艳妇乳肉豪妇荡乳av| 成人午夜激情视频| 天堂av一区二区| 超免费在线视频| 欧美日韩国产一级二级| 欧美成人三级伦在线观看| 成人黄色小视频| 久久久免费观看视频| 国产女优在线播放| 91在线云播放| 国产人妻互换一区二区| 日韩视频网站在线观看| 日韩欧美国产精品一区| 亚洲精品国产精品国自产网站| 中出一区二区| 国产精品久久久久影院日本| 国产刺激高潮av| 国产精品国产三级国产aⅴ入口| 国产不卡一区二区视频| 亚洲天堂网站| 国产亚洲一区二区在线| 日韩网红少妇无码视频香港| 国产一区二区三区在线观看精品| 欧美精品123| 久久影院午夜精品| 日韩欧美一区电影| 制服丨自拍丨欧美丨动漫丨| 亚洲综合二区| 精品久久久久亚洲| 青青草原av在线| 欧美肥妇毛茸茸| 色欲狠狠躁天天躁无码中文字幕| 中文国产一区| www.成人av| 羞羞的网站在线观看| 欧美久久久久久久久中文字幕| 中文字幕第20页| 亚洲女同同性videoxma| 国产精品久久亚洲7777| 在线观看小视频| 欧美一区二区观看视频| 国产高清视频免费在线观看| 老司机免费视频一区二区| 日本一区二区三区在线视频| 涩涩av在线| 亚洲美女性生活视频| 日韩污视频在线观看| 波多野结衣在线一区| 国产一线二线三线女| aaa国产精品视频| 欧美多人爱爱视频网站| 亚洲经典一区二区三区| 亚洲国产精品自拍| 国产精品伦子伦| 久久黄色影院| 日韩高清国产精品| 黄色成人小视频| 久久久精品欧美| 国内精品久久久久久久久久| 亚洲男人的天堂在线aⅴ视频| 午夜免费福利网站| 你懂的一区二区| 成人综合电影| 中国色在线日|韩| 亚洲色图五月天| 国产情侣呻吟对白高潮| 中文字幕一区二区三| 色噜噜狠狠一区二区| 久久久久国产| www.成人三级视频| jizz内谢中国亚洲jizz| 一区二区中文字幕| 99久久精品无免国产免费| 亚洲图片自拍偷拍| 成人精品在线观看视频| 日本免费在线视频不卡一不卡二 | 伊人成人在线| 久久久久国产精品视频| 成人看片在线观看| 久久视频精品在线| 少妇精品高潮欲妇又嫩中文字幕 | 亚洲精品手机在线观看| 亚洲91视频| 国产精品一区二区三区精品 | 91激情五月电影| 国产成人免费在线观看视频| 国产精品99久久久久久似苏梦涵| 精品视频在线观看一区| 国产91精品对白在线播放| 成人免费高清完整版在线观看| 91豆花视频在线播放| 亚洲视频在线观看免费| av资源免费看| 91国偷自产一区二区开放时间 | 9色精品在线| 亚洲区一区二区三区| 风间由美中文字幕在线看视频国产欧美 | 久久一区二区三区欧美亚洲| 玖玖精品在线| 91精品国产91| 成人在线影视| 亚洲男人天堂九九视频| 国产乱色精品成人免费视频 | www.亚洲天堂.com| 日本国产一区二区| 激情五月婷婷小说| 国产精品久久影院| www.色多多| 国产精品18久久久久久久网站| 超碰网在线观看| 欧美人成在线| 一区二区三区欧美在线| 性欧美lx╳lx╳| 亚洲直播在线一区| 91在线亚洲| 欧美一区二区视频97| 直接在线观看的三级网址| 亚洲偷熟乱区亚洲香蕉av| 日韩一区二区三区在线观看视频| 欧美日韩精品一区二区天天拍小说 | 亚洲自拍偷拍第一页| 欧美黄色三级| 欧美中文字幕视频| 国产一线二线在线观看| 欧美大奶子在线| 天堂地址在线www| 亚洲片av在线| 视频一区二区三区国产| 欧美xxxx在线观看| 国产免费av观看| 欧美日韩国产另类不卡| 黄色av一区二区| 色综合久久88色综合天天6| 国产小视频在线观看免费| 亚洲精品你懂的| 极品尤物一区二区| 国产日韩精品一区二区浪潮av | 国产成人极品视频| 美女高潮视频在线看| 久久免费国产视频| 欧美xxx黑人xxx水蜜桃| 欧美成人午夜剧场免费观看| 老司机精品影院| www国产亚洲精品久久网站| 日本三级视频在线播放| 色yeye香蕉凹凸一区二区av| 在线观看免费版| 最近2019中文字幕在线高清| 大片免费播放在线视频| 在线观看精品自拍私拍| av二区在线| 日韩视频一区在线| 成人免费看片| 欧美大胆在线视频| www欧美xxxx| 91成人在线播放| 欧美二三四区| 国产精品久久中文| 欧美成人xxxx| 91成人免费观看| 豆花视频一区二区| 鲁鲁视频www一区二区| 久久99青青| 一区二区三区四区视频在线| 天堂美国久久| 国产精品久久久久9999爆乳| 亚洲一区免费| 精品久久久久久久无码| 久久国产福利国产秒拍| 久久黄色一级视频| 99久久国产综合色|国产精品| 国产精品第七页| 国产精品女上位| 粉嫩av性色av蜜臀av网站| 一区二区三区波多野结衣在线观看| 精品无码人妻一区二区三区| 欧美日韩人人澡狠狠躁视频| 欧美性受xxx黑人xyx性爽| 欧美日高清视频| 丰满少妇高潮在线观看| 亚洲人成伊人成综合网久久久| aaa在线观看| 欧美激情综合亚洲一二区| 欧美18av| 91中文在线视频| 日韩有码一区| 亚洲亚洲精品三区日韩精品在线视频| 欧美激情91| 精品久久久久久中文字幕2017| 国产麻豆午夜三级精品| 女人被狂躁c到高潮| 亚洲欧洲国产日韩| 黄色片视频网站| 欧美另类高清zo欧美| 深夜福利视频网站| 色一区av在线| 国产色播av在线| 国产欧美日韩免费| 老汉色老汉首页av亚洲| 中文字幕精品—区二区日日骚| 在线成人欧美| 亚洲这里只有精品| fc2成人免费人成在线观看播放| 久久免费手机视频| 五月激情六月综合| 国产又大又黄的视频| 亚洲精品一区中文| 日韩电影免费观看| 91精品国产自产在线老师啪| 欧美日韩一本| 国产高清不卡无码视频| 奇米777欧美一区二区| 成人免费无码大片a毛片| 亚洲免费在线看| 最近中文字幕在线免费观看| 日韩精品中文字幕久久臀| 色婷婷av在线| 91在线播放国产| 色777狠狠狠综合伊人| 黑鬼大战白妞高潮喷白浆| 国产成人aaaa| 日本一级片免费| 在线精品视频一区二区| 天天干免费视频| 欧美二区乱c黑人| 国产精品日本一区二区不卡视频| 日本一区二区三区视频免费看| 在线一区视频| 国产精品福利导航| 亚洲午夜国产一区99re久久| 国产欧美熟妇另类久久久| 社区色欧美激情 | 国产极品嫩模在线观看91精品| 免费看国产精品一二区视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 综合欧美国产视频二区| 亚洲天堂资源| 精品网站在线看| 亚洲激情视频| 国产精品手机在线观看| 亚洲h在线观看| 人妻一区二区三区| 97视频免费看| 日韩中文av| 国产免费毛卡片| 久久亚洲精品小早川怜子| 国产夫妻性生活视频| 亚洲永久免费视频| 92久久精品一区二区| 丝袜美腿精品国产二区| 成人性片免费| 一本色道久久99精品综合| 精品伊人久久久久7777人| 任我爽在线视频| 欧美肥胖老妇做爰| 黄色av电影在线观看| 91影院未满十八岁禁止入内| 影音先锋日韩精品| 在线播放av网址| 午夜a成v人精品| 亚洲三级中文字幕| 欧洲亚洲在线视频| heyzo久久| www.久久久久久久久久久| 亚洲欧美日韩国产综合| 国产超碰人人模人人爽人人添| 欧美日韩国产999| 欧美精品中文| xxxx一级片| 亚洲视频一区在线| 人妻丰满熟妇av无码区hd| 亚洲**2019国产| 国产一区二区三区四区五区| xxx国产在线观看| 亚洲伦理在线精品| 日批免费在线观看| 国产精品久久av| 91精品亚洲| 五月开心播播网| 欧美日韩精品一区二区天天拍小说| www国产在线观看 | 一区二区美女| 一区二区在线播放视频| 亚洲精品国产成人久久av盗摄| 无码精品人妻一区二区三区影院| 国产精品极品尤物在线观看| 国产精品国产三级国产在线观看| 在线xxxxx| 欧美在线制服丝袜| 日本h片在线观看| 欧美一区免费视频| 国产成人在线视频免费播放| 一本一道无码中文字幕精品热| www.日韩系列| 亚洲调教一区| 能看毛片的网站| 日本道色综合久久| 丁香影院在线| 亚洲人体一区| 97国产一区二区| 精品国产伦一区二区三| 国产成人精品日本亚洲专区61| 欧美精品一卡|