提起程序员,大家的第一印象是?
而程序员的日常?
而以代码为主要工作的程序员,一天写多少代码才算达标?
比尔盖茨曾说过:“用代码行数来衡量程序的开发进度,就好比用重量来衡量飞机的制造进度。”
的确,在编写代码之前,需要有需求获取分析、需求建模、系统的架构、系统模块的设计、以及之后的测试等工作需要做。最终所编码的时间也所剩无几了。在国内某些公司,对于一些熟练的程序员,每天 100 行代码是正常的生产率(包括需求分析、设计、编码、单元测试和系统测试)。但是对于缺乏编码经验的毕业生或转型的从业者来说,代码产出量也须另当别论了。
在国外,作为科技巨头的之一的 Google,他们的工程师每天能写多少的代码呢?
近日,Google 的 AdMob 全栈工程师 Raymond Farias 发表评论表示:“我的同事告诉我,根据以往的调查证明,一名高效的工程师每天能写 100-150 行代码。”我嘲笑了他并称他的估计值肯定低了很多。
为了证明他的估计值错误,我以在 Google 工作中最有效率的一个月为例,并使用了 Google 一款内部工具,即可以查看每天的代码增量(包括添加、删除、更改的代码行数)。我汇总了我一个月的代码数据,进行求和,并除以 20(因为周末不上班)得出平均数。猜猜得出的数字是多少?
等于 150!!!
在我最忙碌高效的一个月上得出的结论,事实证明,我之前的观点错了。此外,我也检测了我的同事,几乎每个人的数据都一样。
那这样的数据怎么足够呢?由此,在 Quora 上,Oak Lomonosovas 对 Google 有多少名软件工程师进行了回答, 估计 Google 大约有 4 万名工程师。而在这些工程师中有些人代码产出量比较少,因为技术经理或者主管因为很多的会议或者假期并不会写太多的代码,因此,一位工程师 100 行应该是更为准确的猜测了。
有很多人认为一天写 100 ~ 150 行代码,怎么能算高效?那么我们来计算一下: