轉摘自:http://my.oschina.net/myemptybottle/blog/42683web
部分轉摘,全文請查看原文!網絡
我第一次看到WebKit代碼中did,will前綴有點困惑,看多了才熟悉了其含義.will/did至關於某些項目裏的before/after,也就是在某件事情發生之間和發生以後要進行的處理(有些地方並不正確,但大致如此),did相似callback的含義,像win平臺上常見的OnKeyDown裏的On. will,did,callback,after,before在webkit的函數命名中都有使用.
其命名慣例還有client和private, AAAClient表示的是須要關注AAA處理的過程當中一些邏輯點的類,***client通常是個接口類,繼承它,實現本身的邏輯,這樣***在進行一個操做時會調用client類的邏輯,實現通知or處理or攔截.
private就是pimpl手法,多用於外圍邏輯和移植的部分,AAA類會有一個AAAprivate成員,AAA的方法就是簡單的調用AAAprivate的同名方法.在WebKit裏有些地方也用impl這個標綴,但很少.
閱讀過程可能很累很疲倦,涉及方方面面細節不少,最好找至少30分鐘的塊狀時間來進行閱讀.看5分鐘就被打斷了,回過頭極可能就忘記了,也就白浪費了5分鐘.
我的以爲多注意幾點:
0. 選擇性閱讀,注意每一個類實現了什麼功能,這個功能的關鍵程度.
咱們的時間只夠看有意義的類,不可能犄角旮旯的代碼也去仔細閱讀.
1. 對於 類,能夠經過查看類名的引用關注它是在何處什麼時候構造的,以清晰它的重要程度.
2. 閱讀一個類的方法時,多使用"查看全部引用"功能.
以:
a.防止本身在閱讀無太大意義的代碼.
b.清晰這個方法調用時的運行環境/邏輯環境,以更好的體會方法中的代碼要注意的地方.
3. VS與Source Insigh交換着使用,2者各有各的優缺點.閱讀時應該注意本身此時使用的是哪樣工具從事哪樣事情,爭取提升每分每秒的效率.
我使用的是VS2005,其代碼上下文窗口響應極其緩慢,查看定義和聲明時常有一些bug,"智能感應"功能耗CPU很高卻耗時好久,而source insigh在這方面至關的完美.
VS內置標籤頁功能,並且能夠創建垂直選項卡組,在寬屏上能夠很方便進行並排閱讀.安裝visual assistant後,有更多快捷的功能.
總而言之,咱們要靈活使用2者來最高效率的完成誇張的工做量.
4. 閱讀時能夠加些斷點,加載一個網頁,執行一些操做,跟蹤下流程,加深理解.
5. 多作記錄,由於邏輯繁雜,很容易看一些忘一些(我去年就看過一小部分webkit代碼,今年幾乎就想不起來了,幸好留了些筆記.), 作些記錄,以便查看時能把之前的理解很快的撿起來.
6. 對一些有趣優秀的地方,一些臃腫的地方進行總結反思學習,多總結才能更好的幫助本身代碼設計的更好,寫的更好.
7. 對本身要嚴酷,要有規劃,若僅僅是很是膚淺的讀webkit一部分代碼,我的強烈建議節約時間看一些網絡上的webkit代碼閱讀總結大致瞭解好了.畢竟不深入的記憶老是很容易忘記的,而人的時間是最昂貴的,作一件不能成爲回憶的事情是對生命極大的浪費.
函數