Chromium學習指引

2021-06-28 23:21:20 字數 955 閱讀 6850

面對複雜如作業系統的乙個工程,我們應該如何學習,學習什麼,從**入手?下面是一篇學習指引:

關於chromium code base,有許多需要學習的,巨集觀層次比如:程序及其相互之間的關係,ipc如何工作,url載入流程;微觀層次比如:智慧型指標,訊息迴圈,執行緒用法,執行緒模型,string等的使用指引。

學習chromium的「行為處事」:

編碼風格:

個人學習計畫:

最終,你配好了編譯環境,編譯成功,準備開始寫**了。如果我們有時間閱讀完所有的**並理解之後才開始寫第一行**,那就完美了。當然,那是不可能的,boss沒時間等你閱讀完並理解所有的**,大概我們自己也沒有耐心閱讀完所有的**。我們應該怎麼做呢?我們建議你根據自己的實際需要制定學習計畫,下面推薦一些切入點:

chromium已經有一些高質量的設計文件

。有的可能比較陳舊了,但無礙於幫助理解**的整體組織方式。

閱讀最重要的幾個開發文件

學習相關**約定

/important-abstractions-and-data-structures

如果時間允許,瀏覽一遍所有的設計文件,閱讀相關的部分

擅用**搜尋(或者你自己的**瀏覽工具)

學習怎麼樣找到了解相關**的人員

對你要學習的**進行除錯,使用除錯工具,列印log等

注意區分哪些是需要理解的,哪些是目前所理解的。例如,如果你的團隊正在做很多gui程式設計,那麼也許你應該花點時間學習gtk+,win32, 或者cocoa程式設計。

blink:

有時,你需要深入到blink(以前的webkit),以fix乙個bug或者新增乙個新功能。

這裡有一篇關於「webkit工作原理」的文件

。儘管blink已經不同步webkit了,但其中很多東西還是沒有變。

這篇文件解釋了webkit開發的基本流程:

;原文:

如何學習Chromium

2 初次看到vs2010裡的幾百個工程,是不是嚇傻了,呵呵,不用著急,飯要一口一口吃 2.1 了解源 的目錄結構,了解chromium的基礎執行機制 2.2 了解依賴的庫,並對部分庫進行初步學習,所謂磨刀不誤砍柴工,這些庫都是很優秀的,值得學習 2.3 從感興趣的地方看起,譬如chromium的ui...

Linux學習指引

為什麼要學習linux作業系統?it行業日新月異,新技術層出不窮,然而這些新技術所依賴的底層技術,如作業系統 計算機系統原理 資料結構與演算法 網路 編譯原理等依然沒多大變化,只有掌握了這些基礎技術,在面對新技術才能撥開新技術的迷霧一窺究竟。大學中和平時我們都在使用wiondws作業系統但是有必要學...

Chromium 多執行緒模型學習

總結參考文章 1.2.3.4.5.6.示例 pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。如下 示例 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sea...