Software Engineering at Google, by Fergus Henderson

代码库

全局统一的代码库,人人可访问。除了 Chrome 和 Android 两个大型项目。截止到2015年1月,86 rerabyte 包含十亿个文件,超过9百万源代码文件,超过 20亿行代码,拥有 3500 万次提交记录。每天有4 万个提交。
几乎所有的开发都在 head 上进行,而不是分支上。
自动系统会频繁的跑测试。
代码权限,拥有代码节点权限的人才可以合并代码。

Build 系统

分布式编译系统 Blaze,负责编译,连接,跑测试。非常快速和方便提供给工程师编译和测试代码。这个一致性是让工程师打破项目边界提交代码的核心关键。

Code review

Google has built excellent web-based code review tools
All changes to the main source code repository MUST be reviewed by at least one other engineer.
Code review discussions for each project are automatically copied to a mailing list designated by the project maintainers.

Engineers are encouraged to keep each individual change small

Testing

Unit Testing is strongly encouraged and widely practiced.

Bug tracking

Google uses a bug tracking system called Buganizer for tracking issues: bugs, feature requests,
customer issues, and processes

Leave a Reply

Your email address will not be published. Required fields are marked *