本条微博地址Caldera杨在谷歌做程序员写代码,对于新人来说体验是震撼性的,慢工出细活。
C++的许多标准由此发扬光大,Go语言也在这里诞生。完善的基础设施和无数前人对技术社区贡献的日积月累,共同造就了工业界代码质量的最高标准。大到代码整体架构与风格,小到变量命名、缩进、函数的选用,都能在上千页文档中找到最优解。
一个基础原则是,如果代码质量不佳,那么就不允许提交。许多Noogler的第一次代码提交过程常常痛苦万分,code review拿到几十条评论和来回改上一个月是家常便饭,推翻重写也不稀奇。组里曾经受同样折磨的code reviewer总会不留情面,指出所有不符合最佳实践的地方,只有全部改到让人满意才可能进入下一步。
而这还不算完,谷歌的程序员要负责测试自己的代码,如果单元测试覆盖率不达到90%就强制不允许提交,集成测试更是必须项——也是在这里,许多人第一次养成写测试的好习惯。
更难的还在后面,因为有“代码可读性认证”readability。当每个commit达到一定行数,想要提交就需要有一个有该编程语言readability的人来批准,如果自己有的话自己也可以。而想要获得readability,需要持续将自己的代码给全公司最严苛的一批人审阅。这些人是代码批评家,日常的职责就是给代码挑刺,你反复推敲的完美代码经过他们评估又变成了狗屁不如。
在持续一段时间满足他们的要求后,你终于毕业了。这时的你不再是新人,你也开始给新人的代码发十几条评论,对某个变量名提出“nit”的挑刺修改,最终发出一个LGTM。
一个新的轮回降临了。
搜索微博更多关键词-GO语言