Chromium学习指引

面对复杂如操作系统的一个工程,我们应该如何学习,学习什么,从哪里入手?下面是一篇学习指引:

关于Chromium code base,有许多需要学习的,宏观层次比如:进程及其相互之间的关系,IPC如何工作,URL加载流程;微观层次比如:智能指针,消息循环,线程用法,线程模型,string等的使用指引。

学习Chromium的“行为处事”:

编码风格:http://www.chromium.org/developers/coding-style;如果你有其它编码经验,你可能会觉得chrome编码风格过于严格甚至是挑剔。例如:禁止在行尾添加多余的空格。所有的注释都应该是合法的英语句子包括标点符号。行的长度限制在80列。

个人学习计划:

最终,你配好了编译环境,编译成功,准备开始写代码了。如果我们有时间阅读完所有的代码并理解之后才开始写第一行代码,那就完美了。当然,那是不可能的,boss没时间等你阅读完并理解所有的代码,大概我们自己也没有耐心阅读完所有的代码。我们应该怎么做呢?我们建议你根据自己的实际需要制定学习计划,下面推荐一些切入点:

Chromium已经有一些高质量的设计文档http://www.chromium.org/developers/design-documents。有的可能比较陈旧了,但无碍于帮助理解代码的整体组织方式。

  1. 阅读最重要的几个开发文档

  2. 看项目组是否有相关的指引文档 -- 同事可能已经写了相关的文档,你可以进行参考以避免走弯路
  3. 学习相关代码约定
    1. http://www.chromium.org/developers/coding-style/important-abstractions-and-data-structures
    2. http://www.chromium.org/developers/smart-pointer-guidelines
    3. http://www.chromium.org/developers/chromium-string-usage
  4. 如果时间允许,浏览一遍所有的设计文档,阅读相关的部分
  5. 擅用代码搜索(或者你自己的代码浏览工具
  6. 学习怎么样找到了解相关代码的人员
  7. 对你要学习的代码进行调试,使用调试工具,打印log等
  8. 注意区分哪些是需要理解的,哪些是目前所理解的。例如,如果你的团队正在做很多GUI编程,那么也许你应该花点时间学习GTK+,Win32, 或者Cocoa编程。

Blink:

有时,你需要深入到blink(以前的webkit),以fix一个bug或者添加一个新功能。

这里有一篇关于“Webkit工作原理”的文档https://docs.google.com/presentation/pub?id=1ZRIQbUKw9Tf077odCh66OrrwRIVNLvI_nhLm2Gi__F0。尽管Blink已经不同步Webkit了,但其中很多东西还是没有变。

这篇文档解释了webkit开发的基本流程: http://dev.chromium.org/developers/webkit-development-workflow

原文:http://www.chromium.org/developers/learning-your-way-around-the-code

时间: 2024-10-12 02:04:17

Chromium学习指引的相关文章

【转】程序员英语学习指引

转自互联网 ============= 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me/blog/english-for-programmers/ 概要 这篇文章面向程序员,简要的介绍了一些学习计算机专业英语的步骤和经验. 关于 之前不少人曾站内我如何学习英语,我也曾试图写一篇如何学习英语的博文,但我现在的实力着实无法写出令人信服的文章: 尽管阅读.写作和听力还可以,但口语很差——我指的是日常用语,即便出国一年,现在我和同事交流

程序员英语学习指引

原文链接:http://lucida.me/blog/english-for-programmers/ 概要 这篇文章面向程序员,简要的介绍了一些学习计算机专业英语的步骤和经验. 关于 之前不少人曾站内我如何学习英语,我也曾试图写一篇如何学习英语的博文,但我现在的实力着实无法写出令人信服的文章: 尽管阅读.写作和听力还可以,但口语很差——我指的是日常用语,即便出国一年,现在我和同事交流时仍然磕磕巴巴,不知道用什么词的情况经常出现: 尽管读过大量外文资料,但它们绝大多是计算机专业书籍和论文,并不适

erlang工作前新手学习指引路线

Erlang学习总结,新手指引 要详细的写erlang入门技术网上有很多,我写的肯定没有那些大牛写的好,自己也实习了快一个月,也做一个总结,给后erlang初学兴趣者提供些拙见吧 第一步搭建学习环境 还没进公司前,我搭建的是erlang17+ Eclipse + erlide 网上教程很多,不细说搭建流程 第二步基本语法知识 认真看erlang程序设计的前5章,新出第二版也是大同小异,然后写一些题目,做一些润年和斐波那契数列之类的题目了,熟悉lists函数库的用法后,可以水一些HduOj的11页

acm学习指引

一般要做到50行以内的程序不用调试.100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上. 下面给个计划练练: 第一阶段:练经典常用算法,下面的每个算法打上十到二十遍,同时自己精简代码.因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来. 1.最短路(Floyd.Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.

ionic2——学习指引-学习资源汇总

Ionic2 官网............................官网的文档非常好,超级全,一定要细心看中文文档.....................比较简单 Angular 2 官网............................全英文看起来压力大,建议看中文网中文网........................中文网和官网几乎一样菜鸟教程.....................很简单英文视频.....................目前中文免费视频几乎没有,这里有英文

数据挖掘学习指引<一>

对于当前热门的大数据.云计算等技术,被百度.阿里等国内互联网巨头炒的很火,数据挖掘作为一门很实用的技术,在商业管理.市场分析.科学计算等大数据方面发挥着大作用. 数据挖掘技术也变得很火,why? 1.数据挖掘作为市场营销的一个手段,可以将潜在的商业信息捕获.指商业公司根据客户以前的消费记录,预测消费者的喜好.兴趣,可以开展定向营销,以促进双方赢利.典型的尿片+beer组合就不说了:例如,银行系统可以根据客户突然的大范围消费,可以预测该客户可能买房.结婚等,进而向楼盘.婚庆所介绍生意等. 2.数据

[Chromium学习之二]浏览器内置URL

在Chrome浏览器地址栏输入chrome://chrome-urls/可以看到内置的一些URL.这些URL提供一些工具帮助使用者.如下: List of Chrome URLs chrome://accessibility chrome://appcache-internals chrome://apps chrome://blob-internals chrome://bookmarks chrome://cache chrome://chrome chrome://chrome-urls

oracle 职业学习指引

风哥 它是阿里巴巴造出的概念.其本意是,在阿里巴巴的IT架构中,去掉IBM的小型机.Oracle数据库.EMC存储设备,代之以自己在开源软件基础上开发的系统. 思科.IBM.谷歌.高通.英特尔.苹果.甲骨文.微软并成为美国的“八大金刚”,他们一方面与美国政府.军队保持着紧密的联系:另一方面在中国长驱直入,占据众多关键领域,导致美国情报部门通过这些设备.软件.网络获取信息,给中国的信息安全带来巨大威胁 是指IT架构的更新换代,具体说就是以IBM为代表的主机.以ORACLE为代表的关系型数据库,以及

大数据课程学习流程

第一阶段 Java编程基础→oracle/mysql→sql优化→jdbc 第二阶段 JavaScript基础→JavaScript深入→jQuery→jquery easyui→bootstrap 第三阶段 Servlet/jsp→ajax→xml→svn→maven实战项目一 第四阶段 Struts2→hibernate→spring/spring mvc→项目实战二→web serviceshiro→mybatis→项目实战三 第五阶段linux+搜索+hadoop体系 Linux基础→s