Chromium学习指引

来源:互联网 发布:常州淘宝运营 编辑:程序博客网 时间:2024/05/21 07:07

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

关于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. 阅读最重要的几个开发文档
    • http://www.chromium.org/developers/design-documents/multi-process-architecture
    • http://www.chromium.org/developers/design-documents/displaying-a-web-page-in-chrome
    • http://www.chromium.org/developers/design-documents/inter-process-communication
    • http://www.chromium.org/developers/design-documents/threading
    • http://www.chromium.org/developers/how-tos/getting-around-the-chrome-source-code
  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

0 0
原创粉丝点击