文章转自开源中国社区,编译自: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. 利用JFreeChart生成简单柱状图(Java)

    package barchartdemo1; import <a href="http://lib.csdn.net/base/javaee" class='replace_ ...

  2. 2019-5-28-VisualStudio-扩展开发

    title author date CreateTime categories VisualStudio 扩展开发 lindexi 2019-05-28 19:51:49 +0800 2018-2-1 ...

  3. linux命令之 repeat 重复执行命令

    $ vim ~/.bashrc function repeat() { number=$1 shift echo $@ for n in $(seq $number); do $@ done } $ ...

  4. 2018-10-25-weekly

    Algorithm 94. 二叉树的中序遍历 What 给定一个二叉树,返回它的中序遍历. How 二叉树的中序遍历顺序为左-根-右,可以用递归来解,对左子结点调用递归函数,根节点访问值,右子节点再调 ...

  5. Windows中的Work线程和GUI线程

    Windows线程分为两种:Worker线程.GUI线程 worker线程:是指完全不牵扯到图形用户界面(GUI),纯粹做运算的线程. GUI线程:负责建造窗口以及处理消息循环(拥有消息队列).任何一 ...

  6. php7 mysqli连接mysql的几种方式

    一.过程是方法 function connect(){ static $conn; if(!$conn){ $conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD) ...

  7. AIX下绑定双网卡

    摘要 AIX下绑定双网卡,实现IP地址的高可用.为后续按照oracle11gRAC环境做准备.   收 藏 生产环境中是将不同网卡的不同网口进行绑定.比如A网卡有A1,A2网口:B网卡有B1,B2网口 ...

  8. Redis-缓存击穿/穿透/雪崩

    缓存击穿/穿透/雪崩 Intro 使用缓存需要了解几个缓存问题,缓存击穿.缓存穿透以及缓存雪崩,需要了解它们产生的原因以及怎么避免,尤其是当你打算设计自己的缓存框架的时候需要考虑如何处理这些问题. 缓 ...

  9. 20 简述BASE64编码的作用和c#对其的支持?

  10. Flask学习笔记03之路由

    1. endpoint from flask import Flask, url_for # 实例化一个Flask对象 app = Flask(__name__) # 打印默认配置信息 # 引入开发环 ...