而程序员的真实情况却是这样:每天大部分时间都在改代码,写代码,看代码才是我们真实的工作日常,到底每天要写多少行才是好程序员呢?
为了探讨这个问题首先要了解程序员的种类。一般来讲,开发者(指的是纯的写代码,不包括不写代码的项目经理 、技术总监等)主要分为:
一般来讲,开发者(指的是纯的写代码,不包括不写代码的项目经理 、技术总监等)主要分为:
1 web工程师:
一般是写基于 web 的程序,所用语言基本上为 Java,PHP 或者 ASP,如果做 winform,C# 则是主流。
另外设计到数据库 部分,还要写部分的数据库 sql 语句(基于框架的开发被框架封装好的存储过程除外)。
此外,还有前端的编写,涉 及到的语言包括 HTML、CSS、以及 Javascript 等。这类编程工作的主要特点是量大,技术含量相对来说不是很高,入门槛相对较低。
2嵌入式工程师
一般都是基于芯片编程,控制硬件,代码浓缩度很高,有时候,整个控制程序也就是几百行代码。而在设计时候需要考虑很多,代码速度一般来说一天能产生 20 行是不错的了。
3算法工程师
算法工程师一般都是研究某种算法,然后将它实现。算法设计上每一步都需要仔细推敲时间和空间上的复杂度以及完成效率。编写代码也是如此。
这些程序虽然可能 很大,比如一个视频每帧文字的识别程序,但是代码的产出速度可能会更慢。因为在实现前必须有大量的算法分析和设计的活,和代码时间比大概是6:1。所以一 天一般也就产出20行左右。
还有一些其他种类,比如通信工程师、数据库工程师、安全工程师,也都大同小异,在这里不细说了。但是我们可以看到,熟练工种一般都是在一天100行以内这样一个数量级上的。
而以代码为主要工作的程序员,一天写多少代码才算达标?
来自 CSDN 论坛的程序员们说:每天精华代码是 1 行。
代码不在多,而在于精简、高效、美观。
真正优秀的程序员都拿着高工资,其本上不用怎么写代码,如果你还拼命在写代码,说明离“优秀”还有一段距离。
每天把 1000 行代码减少到 100 行。
很多时候都在分析问题,查看代码,写代码越来越少了。
如果写的话,基本上每天 100 到 200 行,但是更多的时候在开会、开会、开会。
来自知乎的程序员们说:无须看重代码行数,程序员的价值在于思考,而不在于打字数量。
真正写出来可用的代码,一天平均几十行就很好不错了。
我通常是一天不到 100 行。
负的。我们不生产代码,我们只是 GitHub 的搬运工。
最多的时候,一个礼拜写了上万行代码,那时候每天睡觉都很香,因为累!
比尔盖茨曾说过:“用代码行数来衡量程序的开发进度,就好比用重量来衡量飞机的制造进度。”
的确,在编写代码之前,需要有需求获取分析、需求建模、系统的架构、系统模块的设计、以及之后的测试等工作需要做。最终所编码的时间也所剩无几了。
在国内某些公司,对于一些熟练的程序员,每天 100 行代码是正常的生产率(包括需求分析、设计、编码、单元测试和系统测试)。但是对于缺乏编码经验的毕业生或转型的从业者来说,代码产出量也须另当别论了。
在国外,作为科技巨头的之一的 Google,他们的工程师每天能写多少的代码呢?
近日,Google 的 AdMob 全栈工程师 Raymond Farias 发表评论表示:“我的同事告诉我,根据以往的调查证明,一名高效的工程师每天能写 100-150 行代码。”我嘲笑了他并称他的估计值肯定低了很多。
为了证明他的估计值错误,我以在 Google 工作中最有效率的一个月为例,并使用了 Google 一款内部工具,即可以查看每天的代码增量(包括添加、删除、更改的代码行数)。
我汇总了我一个月的代码数据,进行求和,并除以 20(因为周末不上班)得出平均数。猜猜得出的数字是多少?
等于 150!!!
在我最忙碌高效的一个月上得出的结论,事实证明,我之前的观点错了。此外,我也检测了我的同事,几乎每个人的数据都一样。
那这样的数据怎么足够呢?由此,在 Quora 上,对 Google 有多少名软件工程师进行了回答, 估计 Google 大约有 4 万名工程师。
而在这些工程师中有些人代码产出量比较少,因为技术经理或者主管因为很多的会议或者假期并不会写太多的代码,因此,一位工程师 100 行应该是更为准确的猜测了。
基于以上,Google 每天的代码量粗略估计为 400 万行代码。
有很多人认为一天写 100 ~ 150 行代码,怎么能算高效?
那么我们来计算一下:
一天工作 8 小时里,你有多长时间是在真的在写代码?
你算一算自己工作中平均每天写几行能通得过 code review 的有测试的 production quality 的代码?
说了这么些那么些,程序员的你一天写了多少行代码呢?
有人回答说:“平均有20行有效代码每天,就是世界级水平了。绝大部分时间你都在反复改写、修订已有代码。”的确,程序员的编写代码的速度可能也就如此。而在国内某些公司,对于一些熟练的程序员,每天100行代码是才正常的生产率(包括需求分析,设计,编码,单元测试和系统测试)。
我们来聊聊~
每天 ,你有多长时间是在真的写代码?
你是在搜索或者复制粘贴,还是自己动手丰衣足食?
代码的数量能衡量一个程序员的水平吗?
你有没有写过一行抵别人20行的高效代码?来讲讲?