文章转自开源中国社区,编译自:Quora

Quora上有个有趣的问题:Google工程师们每天写多少行代码?

Google 的 AdMob 全栈工程师 Raymond Farias 在 Quora 发表评论表示:“我的同事最近和我分享了一组调查研究数据,一名高效的工程师每天能写100-150 行代码,我嘲笑了他,并表示这项预估值绝对要比实际值低很多。”

Raymond Farias 为了证明上述估计值的错误,决定以他在谷歌工作效率最高的一个月为例,并使用了 Google 的一个内部工具来查看每天代码的增量(包括添加、删除和更改的代码行数)。

最后他将一个月的数据汇总,除以总的工作天数 20 天,最后得出的数据是 ——150!随后,他也对其他同事进行了检测,最后得出的数据基本一致。

Oak Lomonosovas 曾在 Quora 上对 Google 有多少名软件工程师进行了回答,它估计Google 有 4 万工程师。

其中有部分工程师的代码产出量比较少,像技术主管等可能会因为会议或假期而减少代码产量,因此,每位工程师每天 100 行代码的估计会比较准确。

所以,Google 代码量可粗略估计为每天 400 万行代码。

有人说,一天写 100 ~ 150 行代码,怎么能算高效?

1、一天工作 8 小时里,你有多长时间在写代码?

2、工作中平均每天写的代码里,

有几行能通得过 code review 的有测试的 production quality 的代码?

网友评论

@晓唦

额,想写的时候,一天几百行,不想写,一条0行……(つД`)

@Jn xyp

编程五分钟,扯淡两小时

@评论专用

靠代码量衡量工作量是相当傻逼的行为,把程序员当流水线拧螺丝的

@酱油攻城狮

代码行数写多容易,写少难~

@山雨欲来

在中国,一天就100行代码?明天不用来上班了!!差距

@南望山阿飞

通过代码行数来判断一个程序员的工作,真的是愚蠢至极;就好像评价一个作家,是看他写了多少文字一样。大神固然写的多,但是写得多不一定是大神

@落风月

假设Google工程师日新1000.那么一行代码就值6-10块钱。想起曾经某人跟我说一行代码只值5毛钱我就想笑。

@屠诽

“大神,你一天写多少代码啊?“ “2个G左右吧~~”

@cjmmx

码码5分钟,修bug两小时

@Eric

100行代码可以装下整个宇宙,夸张了。但是100行代码可以做很多事了,像谷歌这种大公司,100行代码一天真的不烂,如果没有bug。看代码行数来评价一个人的技术就像看一个人的外表来评论内在,一个菜鸟写100杭代码可能一行就解决了,所以你能说菜鸟更牛?

@少年子弟江湖老

高效
就是代码行数写得多?

曾经把接受的一堆三千行代码
推掉重写
八百行实现全部功能

怎么看?
冗余
倒是高效咯?

我一直都是坚持用最少的代码实现相同的事情
越少越好,越简洁凝练越好

@Kit_lee

靠代码量衡量工作效率的说法较容易引起开发人员反感,所以我看到评论中还是有不少负面内容。但其实代码量对于项目管理来说,确是做成本估算的一项重要参考指标。相近的一个功能,总代码行数大概是可参考其他同类型项目估算出来的,那么这个开发人员平均一天的代码行数,作为一个参考指标就可以用来做开发工时预估,从而计算出多少工期内我要投入多少开发人员。不然大家以为都是拍脑袋估的?

-End-

关注Java技术栈微信公众号,在后台回复关键字:Java,可以获取一份栈长整理的 Java 最新技术干货。

最近干货分享

写代码注意了,打死都不要用 User 这个单词

Java 12 骚操作, 文件比对居然还能这样玩

Java 12 骚操作, String居然还能这样玩

Spring Boot 1.x 正式退役,2.x大步向前

分享一份 2019 最新 Java 架构师学习资料

点击「阅读原文」加入栈长的战队~

厉害了,Google大神每天写多少行代码?的更多相关文章

  1. 不写1行代码,在Mac上体验ASP.NET 5的最简单方法

    昨天微软发布了ASP.NET 5 beta2(详见ASP.NET 5 Beta2 发布),对ASP.NET 5的好奇心又被激发了. 今天下午在Mac OS X上体验了一下ASP.NET 5,而且借助Y ...

  2. 只写104行代码!在nopCommerce中如何实现自动生成网站地图

    表告诉我说你不知道nopCommerce是什么.它是目前.NET中最流行的完全开源网上商城,由俄罗斯的团队在2008年开始立项一直开发到现在已经是3.3版本了.代码目前托管在codeplex上,有兴趣 ...

  3. Unity中的ShaderToys——将大神们写的shader搬到unity中来吧

    http://lib.csdn.net/article/unity3d/38699 这篇文章翻译自国外的一篇文章(这里是原文链接),正在使用unity的你是否在shader toy上发现很多牛逼哄哄的 ...

  4. 【python】抄写大神的糗事百科代码

    照着静觅大神的博客学习,原文在这:http://cuiqingcai.com/990.html 划重点: 1. str.strip() strip函数会把字符串的前后多余的空白字符去掉 2. resp ...

  5. 大神Java8写了一段逻辑,我直呼看不懂

    业务背景 首先,业务需求是这样的,从第三方电商平台拉取所有订单,然后保存到公司自己的数据库,需要判断是否有物流信息,如果有物流信息,还需要再进行上传. 而第三方接口返回的数据是 JSON 格式的,其中 ...

  6. 今天看了shell大神的写的一个统计脚本

    通过nginx日志统计接口耗时排行 grep '/bigbox?' access_log | awk '{print $7"&process="$NF}'| sed -r ...

  7. SQL 分组排序分页(大神帮写的膜拜一下)

    查询全部: SELECT P3.ID, P3.Name, P3.AddTimeFROM (SELECT Name, MAX(AddTime) AS MaxAddTime FROM Product AS ...

  8. 90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来

    1.for 循环 我们大部分的时候代码里面都有for循环,然后里面嵌套一段逻辑处理,下面有两种方法来完成: 二者的性能差距有多大呢,一般我们用内置的timeit模块来量化比较: 把传统的for改成推导 ...

  9. “使用多target来构建大量相似App”,唐巧大神理论验证(附工程代码地址)

    无意间看到巧神的文章时,感觉非常兴奋,此文章正好解决了公司目前项目的痛点. 读到以下关键一段时,不甚明了,故自己做了实验分享给有缘人. "我们的每个课程的资源文件都具有相同的文件名,例如首页 ...

随机推荐

  1. struts2 中的 addActionError 、addFieldError、addActionMessage方法的区别添加错误信息

    转自:https://www.cnblogs.com/wangyp/archive/2011/07/13/2104828.html 一.addActionError("错误内容") ...

  2. centos7卸载YUM后重装过程 -bash: yum: command not found / -bash: yum: 未找到命令

    [root@localhost ~]# rpm -qa |grep yum yum-3.4.3-158.el7.centos.noarch yum-plugin-fastestmirror-1.1.3 ...

  3. oracle 使用escape转义%与_匹配字符为本来含义

    举例: 查找姓名为M%的员工. select * from employee where staff_name like 'M\%' escape '\';

  4. 吉首大学2019年程序设计竞赛(重现赛)I 滑稽树上滑稽果 (莫队+逆元打表)

    链接:https://ac.nowcoder.com/acm/contest/992/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K  ...

  5. node.js从入门到放弃《什么是node.js》

    1.什么是node.js Node.js是一个后端的Javascript运行环境(支持的系统包括*nux.Windows),这意味着你可以编写系统级或者服务器端的Javascript代码. Node. ...

  6. bzoj4399 魔法少女LJJ 线段树合并+线段树二分+并查集

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4399 题解 毒瘤题 \(9\) 种操作还有支持动态图的连通性 仔细读题 $ c<=7$. ...

  7. css 响应式(媒介查询)

    1.CSS 来实现响应式 CSS实现响应式网站的布局要用到的就是CSS中的媒体查询接下来来简单介绍一下: @media 类型 and (条件1) and (条件二){css样式} <link r ...

  8. margin 和padding 的区别

    margin是用来隔开元素与元素的间距:padding是用来隔开元素与内容的间隔.margin用于布局分开元素使元素与元素互不相干: padding用于元素与内容之间的间隔,让内容(文字)与(包裹)元 ...

  9. tensorflow图像处理函数(1)

    1.tensorflow中对jpeg格式图像的编码/解码函数: import matplotlib.pyplot as plt import tensorflow as tf image_raw_da ...

  10. KindEditor 完全复制word内容

    Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...