在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 大數(shù)據(jù)/ 從哪里開始讀起,怎么讀
Redis 數(shù)據(jù)淘汰機制
積分排行榜
小剖 Memcache
Redis 數(shù)據(jù)結(jié)構(gòu) intset
分布式鎖
從哪里開始讀起,怎么讀
Redis 數(shù)據(jù)結(jié)構(gòu) dict
不在浮沙筑高臺
Redis 集群(上)
Redis 監(jiān)視器
源碼閱讀工具
Redis 日志和斷言
內(nèi)存數(shù)據(jù)管理
Redis 數(shù)據(jù)結(jié)構(gòu)綜述
源碼日志
Web 服務器存儲 session
消息中間件
Redis 與 Lua 腳本
什么樣的源代碼適合閱讀
Redis 數(shù)據(jù)結(jié)構(gòu) sds
Memcached slab 分配策略
訂閱發(fā)布機制
Redis 是如何提供服務的
Redis 事務機制
Redis 集群(下)
主從復制
Redis 應用
RDB 持久化策略
Redis 數(shù)據(jù)遷移
Redis 事件驅(qū)動詳解
初探 Redis
Redis 與 Memcache
AOF 持久化策略
Redis 數(shù)據(jù)結(jié)構(gòu) redisOb
作者簡介
Redis 數(shù)據(jù)結(jié)構(gòu) ziplist
Redis 數(shù)據(jù)結(jié)構(gòu) skiplist
Redis 哨兵機制

從哪里開始讀起,怎么讀

這個問題簡單,程序從哪里開始就哪里開始讀起。譬如,C 代碼,當然是從 main(),其他語言也是類似的。但閱讀的時候,要帶著問題去讀。

帶著最簡單的問題,開始閱讀源碼。

拿到一個別人寫的代碼,或多或少,細節(jié)有很多,不可能一開始就能把所有的細節(jié)都吃透,所以需要一個簡單的問題先把整個代碼系統(tǒng)的閱讀一遍,知道里面的整體框架是怎么樣的。譬如 Memcache/Redis 這種 key/value 系統(tǒng),當它們收到一個 set/get key 請求,是如何做相應的呢?整個服務是如何運作起來的?譬如 Django,當它拿到一個 HTTP 請求,是如何做相應的呢?帶著這些簡單的問題,瀏覽源代碼能更快了解它們的代碼框架是怎么樣的,對于之后繼續(xù)閱讀里面的模塊,也是非常有好處的。

讀源代碼,框架才是最先需要了解的,細節(jié)才是最重要的。

看到一個函數(shù), 首先要做的是知道這個函數(shù)到底做了什么, 而不是他底層是怎么實現(xiàn)的。這有點類似于英語中的閱讀理解,遇到文中陌生的單詞,首先是根據(jù)上下文來判斷它是什么意思,到最后真的不能理解再回頭拿字典去查單詞。

忽略變量聲明。好的開源 C 代碼會將所有變量提前聲明,即放在函數(shù)的開頭。實際上,沒必要例會這一大坨的變量,等遇到用到這個變量的時候自然就能懂得這個參數(shù)是用來做什么,而不用我們首次見到就猜測它的用處。 畫出函數(shù)的調(diào)用鏈,用自己認為最合適的圖表說明問題。有時候 Redis 里面的調(diào)用鏈比較長,經(jīng)常畫滿一張 A4 紙。在每個函數(shù)旁邊都標注它所完成的事情,這是收集線索的一個過程,可能會非常的枯燥。

我會在小冊子的最后推薦幾款源碼閱讀的軟件。

上一篇:源碼日志下一篇:消息中間件