精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久久影视精品| 日韩欧美国产成人一区二区| 天堂一区二区三区| jlzzjlzz亚洲女人18| 亚洲国产高清视频| 一区二区欧美久久| 国产成人强伦免费视频网站| 久久青草伊人| 一区在线播放视频| 精品一区二区三区视频日产| 国产又粗又猛视频免费| 亚洲国产一区二区三区a毛片| 亚洲欧美日韩精品| 免费看91视频| 黄色成人小视频| 天天操天天干天天综合网| 亚洲欧美国产一区二区| 天天综合在线视频| 国产精品一卡二卡| 国产精品色午夜在线观看| 日韩精品一卡二卡| 亚洲天堂一区二区三区四区| 国产香蕉一区二区三区在线视频| 亚洲精品成人无码毛片| h1515四虎成人| 欧美午夜精品久久久久久人妖 | 久久久精品视频国产| 亚洲色图官网| 亚洲国产日韩a在线播放| 亚洲午夜精品久久久久久浪潮| 午夜小视频免费| 国产成人自拍网| 国产日韩在线观看av| 老熟妇仑乱一区二区av| 亚洲黑丝一区二区| 精品自在线视频| 波多野结衣欲乱| 精品久久久亚洲| 亚洲精品日韩在线| 波多野结衣先锋影音| 视频一区国产| 欧美一区二区三区不卡| 污污动漫在线观看| 91福利精品在线观看| 色综合久久88色综合天天| 国产成人无码a区在线观看视频| 污污网站在线观看| 亚洲私人黄色宅男| 亚洲综合欧美日韩| 午夜激情视频在线观看| 中文字幕国产一区二区| 日韩欧美视频一区二区三区四区| 欧洲综合视频| 国产亚洲精品aa| 手机成人在线| 色综合久久影院| 亚洲欧美在线视频观看| 91免费视频黄| 伊人春色在线观看| 亚洲一区二区精品视频| a级免费在线观看| av中文在线资源库| 黑人精品xxx一区一二区| 国内自拍在线观看| 欧美最新精品| 欧美精品777| 丰满饥渴老女人hd| silk一区二区三区精品视频| 亚洲国产一区二区三区四区| 人妻丰满熟妇av无码久久洗澡| 亚洲人和日本人hd| 一区二区三区日韩在线| 亚洲一二三在线观看| 伊人久久大香线蕉精品组织观看| 色综合久综合久久综合久鬼88| 99视频在线看| 日韩黄色免费电影| 国产伊人精品在线| 亚洲欧美高清视频| 久久午夜免费电影| 91香蕉视频网址| av漫画网站在线观看| 日韩欧美精品免费在线| 天天色综合社区| 91精品国产自产精品男人的天堂 | 黄色片网站在线| 亚洲综合免费观看高清完整版在线 | 国产伦理一区| 国产精品偷伦一区二区| 亚洲av综合色区无码一二三区| aaa国产一区| 亚洲激情一区二区| 欧美aaaaaaa| 欧美三级电影网站| 极品白嫩的小少妇| 成人免费av| 国外成人性视频| 一级片aaaa| 国产69精品一区二区亚洲孕妇| 欧美日韩国产精品一卡| 黄色动漫在线观看| 色琪琪一区二区三区亚洲区| 91欧美一区二区三区| 亚洲瘦老头同性70tv| 久久精品亚洲精品| 欧美日韩一级黄色片| 国产精品羞羞答答xxdd| 少妇精品久久久久久久久久| 久久亚洲导航| 欧美老年两性高潮| 亚洲永久精品ww.7491进入| 中文在线日韩| 国产精品美女在线观看| 天天在线女人的天堂视频| 亚洲美女视频在线| 亚洲精品怡红院| 精品三级av| 麻豆一区二区在线观看| 欧美日韩 一区二区三区| 99视频有精品| av 日韩 人妻 黑人 综合 无码| 怡红院成人在线| 日韩经典一区二区三区| 欧美成人aaa片一区国产精品| 免费xxxx性欧美18vr| 欧美精品一区三区在线观看| 国产精品探花在线| 日韩视频永久免费| 亚洲综合图片一区| 欧美a级理论片| 欧洲精品在线一区| 黄色污网站在线观看| 亚洲白拍色综合图区| 久久中文免费视频| 久久99深爱久久99精品| 亚洲欧美日韩精品久久久| 美女100%一区| 国产视频久久久久| 国产一级精品视频| 91天堂素人约啪| 91成人在线观看喷潮教学| 在这里有精品| 久久久久久久国产| 欧性猛交ⅹxxx乱大交| 亚洲综合免费观看高清完整版在线| 午夜啪啪小视频| 欧美激情国产在线| 国产欧美va欧美va香蕉在线| 99精品老司机免费视频| 欧美视频自拍偷拍| 免费成人美女女在线观看| 美女视频一区二区三区| 一级日韩一区在线观看| 日日夜夜综合| 久久艳片www.17c.com| 国产999久久久| 亚洲综合丁香婷婷六月香| 亚洲v在线观看| 亚洲国产日本| 欧美一区二区三区成人久久片| 99亚洲伊人久久精品影院| 色琪琪综合男人的天堂aⅴ视频| 亚洲天堂中文网| 亚洲欧美另类久久久精品| ass极品水嫩小美女ass| 一区二区亚洲精品| 免费成人深夜夜行视频| 四虎4545www国产精品| 久久精品视频亚洲| 日韩中文字幕影院| 色综合一个色综合| 黄色av片三级三级三级免费看| 韩日av一区二区| 精品少妇人欧美激情在线观看| 色狼人综合干| 国产精品久久久久久久午夜| 超碰在线无需免费| 日韩精品中文字幕在线播放| 羞羞色院91蜜桃| 亚洲精品欧美激情| 一区二区不卡免费视频| 精品一区二区三区在线播放| 欧美精品在欧美一区二区| 亚洲成a人片77777在线播放| 国产欧美一区二区白浆黑人| 欧美另类tv| 在线观看国产欧美| wwwav网站| 色欧美日韩亚洲| 亚洲熟女www一区二区三区| 91在线精品一区二区| 久热精品在线播放| 影音先锋久久精品| 亚洲一区二区三区在线观看视频| 视频一区国产| 国产精品影院在线观看| 24小时免费看片在线观看| 最近日韩中文字幕中文| 理论片中文字幕| 欧美色精品在线视频| 粉嫩aⅴ一区二区三区| 国产精品九色蝌蚪自拍| 亚洲av成人无码一二三在线观看| 麻豆精品久久精品色综合| 妺妺窝人体色777777| 国产精品久久久久9999赢消| 免费日韩电影在线观看| 天堂精品久久久久| 国产精品久久久久久久久久久久| 久草在线新免费首页资源站| 色狠狠av一区二区三区香蕉蜜桃| 少妇av在线播放| 日韩小视频在线观看专区| 乱子伦一区二区三区| 天天色综合天天| 久久久久久久久久久久国产| 国产精品污污网站在线观看| 在线精品一区二区三区| 国产成都精品91一区二区三| 亚欧激情乱码久久久久久久久| 美女黄色成人网| 成年人网站免费视频| 国产精品第十页| 天天干天天色天天爽| 欧美a级成人淫片免费看| 欧美日本韩国在线| 亚洲人成精品久久久| 国内精品久久国产| 成人av地址| 成人动漫在线视频| 日韩中文字幕一区二区高清99| 国产一区私人高清影院| 成人精品一区二区三区电影| 日韩av成人在线| 波多野结衣亚洲| 5566日本婷婷色中文字幕97| 成人三级高清视频在线看| 欧美激情亚洲激情| 91国内在线| 欧美成人一二三| 成人在线观看免费网站| 久久精品国产久精国产一老狼| 成年人在线观看| 中文字幕精品一区二区精品| 91caoporn在线| 日韩中文娱乐网| 麻豆tv免费在线观看| 久久九九全国免费精品观看| 黄色免费在线观看| 九九精品在线观看| 欧美v亚洲v| 97精品国产97久久久久久| 精品捆绑调教一区二区三区| 欧美一二三视频| 性欧美超级视频| 成人激情视频网| 视频精品一区| 久久精品国产精品国产精品污| 偷拍亚洲色图| 日韩高清av| 亚洲影视一区| www.av毛片| 麻豆精品网站| 久久久精品高清| 国产精品99久久久久久久女警| 年下总裁被打光屁股sp| 2024国产精品| 欧美乱大交做爰xxxⅹ小说| 亚洲男同性恋视频| 日韩欧美亚洲视频| 在线观看精品一区| 精品国产九九九| 亚洲精品国产精品久久清纯直播| 涩爱av在线播放一区二区| 中文字幕日韩在线观看| 在线āv视频| 欧美一级黄色网| **国产精品| 精品一卡二卡三卡四卡日本乱码 | 在线成人激情黄色| 麻豆影视在线观看_| 欧美精品videosex极品1| 依依综合在线| 91视频免费在线| 亚洲精品蜜桃乱晃| 日韩国产精品毛片| 国产精品试看| 爽爽爽在线观看| 久久综合九色综合久久久精品综合 | 精品少妇av| 亚洲小视频在线播放| 久久精品在线| 无码人妻少妇色欲av一区二区| 91免费精品国自产拍在线不卡| 婷婷社区五月天| 欧美日韩亚洲国产一区| 国产精品无码久久av| 亚洲精品一区二三区不卡| 免费a级人成a大片在线观看| 91精品国产91| 国产日韩欧美中文在线| 免费在线观看一区二区| 亚洲一级高清| 色网站在线视频| 久久久久久久av麻豆果冻| 免费在线观看国产精品| 欧美日韩一级片网站| 婷婷色在线视频| 久久99精品视频一区97| 91福利精品在线观看| 开心色怡人综合网站| 激情欧美国产欧美| 久久人人爽av| 国产欧美日韩亚州综合| 国产精品视频免费播放| 精品久久久久久久久久久久久久久久久 | 蜜臀久久精品久久久久| 久久精品视频99| 久久福利在线| 日韩欧美国产二区| 久久aⅴ乱码一区二区三区| 美女黄色一级视频| 一区二区三区在线免费| 国产精品视频一区二区三区,| 亚洲色图美腿丝袜| 女人让男人操自己视频在线观看| 97人人模人人爽人人喊38tv| 亚洲va在线| www.夜夜爽| 国产日韩精品视频一区| 天天干天天色综合| 国产视频精品一区二区三区| 伊人网在线播放| 国产私拍一区| 亚洲欧洲视频| 亚洲色偷偷色噜噜狠狠99网| 亚洲资源在线观看| 国产成人精品无码高潮| 久久九九亚洲综合| 久久久国产精品入口麻豆 | 最新国产乱人伦偷精品免费网站| 久久久久无码精品| 亚洲激情欧美激情| 精品黑人一区二区三区在线观看 | 日本阿v视频在线观看| 成人免费视频免费观看| 国产主播在线播放| 亚洲国产精彩中文乱码av| heyzo高清在线| 久久精品国产精品国产精品污| 日韩亚洲在线| 亚洲国产欧美视频| 在线观看成人免费视频| 秋霞a级毛片在线看| 成人性生交大片免费观看嘿嘿视频 | 伊人av综合网| 日韩亚洲国产免费| 97超碰人人爱| 岛国精品一区二区| 99热只有这里有精品| 亚洲桃花岛网站| 欧美日韩免费电影| 97久久国产亚洲精品超碰热| av电影天堂一区二区在线观看| 香蕉影院在线观看| 最好看的2019年中文视频| 精品网站999| 成 年 人 黄 色 大 片大 全| 2021久久国产精品不只是精品| 日批视频免费在线观看| 日韩一区二区欧美| 亚洲成av人片在线观看www| 9久久9毛片又大又硬又粗| 国产午夜精品一区二区三区视频 | 国产手机视频精品| 国产精品诱惑| 又大又硬又爽免费视频| 久久这里只有精品视频网| 一二三四区在线| 国模视频一区二区| 日韩精品久久| 99免费观看视频| 欧美综合天天夜夜久久| 曰本三级在线| 日韩高清三级| 成人一区二区视频| 亚洲高清在线看| 久久久久久久av| 日韩三级在线| 一级做a爰片毛片| 欧美一区午夜精品| 91精品产国品一二三产区| 色哺乳xxxxhd奶水米仓惠香| 91麻豆蜜桃一区二区三区| 国产精品污视频| 国产精品极品美女在线观看免费| 午夜精品偷拍| 欧美成人短视频| 亚洲精品理论电影| 欧美a在线观看|