每天在公司写3000行代码,在行业内是个什么水平?

太乙神数


首先我们要知道,一个在公司工作的程序员每天平均要写多少行代码?我们再来看一天写3000行。到底是什么样水平?

平均一天100行有效代码我就觉得对得起自己了。这是纯手工写C++。这是一种还有另外一种。

做web的报表系统,人家写好了一张报表,拿来照着套“生产”其它报表,连html估计一天能干个上万行,几十张报表就这么干……

其实写不难就是关键是花在思考和查资料上的时间比敲代码多得多。

代码这种东西,从来都不是越多越好。行数并非判断代码质量的标准。只是想说,我做一个旁观者阅读一些外包公司代码时发现下面的代码(变量名的修改),当时觉得很奇怪,为什么IsAdult方法写这么麻烦(没有评论注释是原始的,是我重写),然后突然醒来时,该公司很可能是基于行代码与甲方接收钱。对于软件公司来说,评估程序员性能的标准之一是它会导致代码的拖拉和运行。

内行看门,业余的看热闹。虽然代码,每个写代码或看到代码的人都能说几句话,但是别人,我不知道别人为什么发表这些数据,增加别人有什么意思。这种数据很好,即使人们看了,“哦,我是这样的……”至于是否要尝试“双重生产代码”或“努力简化代码”,这是他们自己的问题。

自己的一些泛泛之谈,参考就好。

可以这样理解:

以我现在的水平,每天写的原始代码大概是1200行。需要用相同多的时间来调试,再需要相同多的时间来优化,还需要相同多的时间来编译测试,算下来每天能写300行有效代码。

让我写一个windows的话,需要10W天=273.97年

其实编码只是整个软件开发过程里面的一小部分。我想大家知道了吧厉不厉害





极光配晨曦


3000行,那是不用脑子外加代码生成器的代码也计算在内的结果。如果你不在外包公司,就是最底层的软件蓝领当然公司也不小。有质量的代码,一天100行甚至30行就已经很牛了。

我曾经接手过一个项目,有2-30人维护,但运行还是问题不断,当时的问题是要不要用新架构重新开发。我看过项目架构和代码后,就决定对现有项目进行优化,而不是重新开发。一个团队去做客户需求的新模块,由我带领的小组做提高稳定性和让项目可维护。最后、在保持功能不变的情况下我将项目的代码缩减到原有的十分之一,性能提高100倍,数据量缩小30%。维护人员降到5人。客户反响好维护的费用不变,这样利润很高。而我每天的代码量相对于项目整体而言是负数。而后面我做的工作就是每月检查新增代码,把不按规范做的找出来,要求整改,不听话的程序员调到开发组去做蓝领,什么时候懂规范了,理解架构的意义了,再考虑培养提升。就像军训一样,会走正步方阵了,再上来打硬仗。

这要求的是团队里必须都是有经验懂架构的高手,人不多就2-3人,多了也没法搞。

什么时候你的代码量降低到100行而公司对你的考评也是ok的,那你才算真正是在编程序,而不是砌砖。


懒爸爸育儿日记


程序员正常的水平一小时写10行左右。这个速度不是单纯地写代码,还包括了调试,测试的时间。能保持这个水平的程序员应该很不错了。

程序员的水平不能单纯看他写代码的速度。我自己写代码的最高纪录是一天一万多行吧。当时是把一个算法用EXCEL算出所有的结果,再用公式拼成一万多行代码。逻辑部分不到十行,其余都是数据。看出来那个算法就是一组固定数据的集合,用静态数据结构代替了动态逻辑运算,有点投机取巧了。

还有比我更快的。一个朋友在某软开发多年,离职的时候带走了公司的代码库。靠着这套代码库出来创业,写代码基本靠复制粘贴,他一天的代码量不能看行数,得看源文件大小,得按MB计算。跟这位大神相比一天3000行勉强算是青铜吧。


日冲信息 黄


首先我们要知道,一个在公司工作的程序员每天平均要写多少行代码?我们再来看一天写3000行。到底是什么样水平?

平均一天100行有效代码我就觉得对得起自己了。这是纯手工写C++。这是一种还有另外一种。

做web的报表系统,人家写好了一张报表,拿来照着套“生产”其它报表,连html估计一天能干个上万行,几十张报表就这么干……

其实写不难就是关键是花在思考和查资料上的时间比敲代码多得多。

代码这种东西,从来都不是越多越好。行数并非判断代码质量的标准。只是想说,我做一个旁观者阅读一些外包公司代码时发现下面的代码(变量名的修改),当时觉得很奇怪,为什么IsAdult方法写这么麻烦(没有评论注释是原始的,是我重写),然后突然醒来时,该公司很可能是基于行代码与甲方接收钱。对于软件公司来说,评估程序员性能的标准之一是它会导致代码的拖拉和运行。

内行看门,业余的看热闹。虽然代码,每个写代码或看到代码的人都能说几句话,但是别人,我不知道别人为什么发表这些数据,增加别人有什么意思。这种数据很好,即使人们看了,“哦,我是这样的……”至于是否要尝试“双重生产代码”或“努力简化代码”,这是他们自己的问题。

自己的一些泛泛之谈,参考就好。

可以这样理解:

以我现在的水平,每天写的原始代码大概是1200行。需要用相同多的时间来调试,再需要相同多的时间来优化,还需要相同多的时间来编译测试,算下来每天能写300行有效代码。

让我写一个windows的话,需要10W天=273.97年

其实编码只是整个软件开发过程里面的一小部分。我想大家知道了吧厉不厉害


MSN鱼Mr


每天写3000行代码在当前的IT行业内是很难想象的,即使很多早期从事外包开发的程序员也很难有这样的工作效率,大部分程序员每天的代码量都在几百行左右,研发级程序员一天的代码量通常不会超过300行,应用级程序员的代码量也很少能够突破500行。从业多年以来,只有在工作初期,面对较为简单的应用级开发时,每天的代码量会相对多一些,但是即使加班到凌晨,代码量也很难会超过1000行。

代码的编写通常需要经过三个阶段,第一个阶段是逻辑设计,这个过程涉及到算法设计、数据结构定义和技术选型等过程,这个过程往往是比较耗费时间的,通常在采用一个新技术之前,还需要进行应用场景验证,这通常还需要多人配合才能够完成。如果是研发级任务,这个过程会占据大部分的工作时间,真正的代码编写时间并不长,代码量也不会很多。实际上,很多容器的核心代码也不过万余行左右,但是通常也需要多人的开发团队开发数月才能完成。

第二个阶段是代码编写,如果是应用级程序员,代码编写会占据更多的时间,因为应用级开发往往已经有了比较清晰的规划,只要按照架构师的设计方案进行编写就可以了,但是即使是应用级程序员,代码的编写也需要一个思考和验证的过程。实际上,随着当前云计算(PaaS)在开发领域的广泛使用,目前应用级程序员的代码量得到了较大幅度的下降。

第三个阶段是调试,这个阶段往往也会占用较多的时间,尤其是在新场景开发的初期,调试会占用更多的时间。按照历史经验来看,程序员的开发经验对于调试时间有较大的影响,程序员开发经验越多则调试速度也会越快。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!


IT人刘俊明


我感觉题主有一个误区。写的代码行数多少能够决定技术水平么?其实,每天写代码的行数跟技术水平其实没有任何关系。

代码行数跟技术水平相关联的话,就跟老板用代码行数来考察一个人的 KPI 一样不靠谱。


代码行数,跟个人水平没有关系

你想想,一个人每天敲代码行数即使是 1 万行,又能怎么着?如果他天天干的活,敲定的代码,都是非常简单的业务逻辑,每天的工作几乎都跟复制粘贴一样, ctrl + c 和 ctrl + v 。其实毫无技术含量。

可能一个资深的架构师,每天敲的代码行数连 300 行都没有,但是这并不妨碍人家成为资深架构师。


所以代码行数和个人能力水平其实没有什么关系的。


另外,接下来会给大家普及一下概念,其实,你真实的有效代码行数根本就没有 3000 行。


什么是有效代码行数?

有效代码行数统计必须遵循了代码一致的存放规则。主线、分支、标签,必须按照划分好的规则和目录存放。代码在提交到主线之前,必须经过严格的代码审查。而开发人员用来做 debug 的 code 必须要单独存放,拉出去的 branch 也要严格区分。只有确认提交到主线的 code,才能真正在主线里出现。这不只对于项目代码规模统计有意义,也对项目代码的规范管理带来积极的影响。在统计代码时候,如果只统计主干的有效代码,必然会提高代码统计的精确性。对于不同子项目的私有代码和公用代码必须区分清楚,并能很方便的统计出来。开发人员也需注意的是,必须及时提交自己的代码,否则未提交代码肯定是无法被统计在内的。

大多数 QA 在统计有效代码行数的时会排除以下代码:

  1. 自动生成代码(开发环境生成或自己开发的生成工具生成)

  2. 格式需要的空行或分隔符不算

  3. 要有相应的注释但注释本身不算行数。


所以,你说抛出去工具自动生成的代码,以及空行和分隔符,以及换行的大括号,以及注释等,你其实一天的代码行数,根本就不会达到 3000 行的。


是不是这篇回答,给大家普及知识了?如果感觉学到知识了,记得给我的回答点个赞哦!点个赞哦!或者留个言哦,咱们一起交流探讨。

非著名程序员


每天3000行的产出,要么是不思考的增删改查工程师,要么是应付领导要求代码行数的老油条,跟技术水平无关!



互联网技术大咖


一个顶尖Google工程师每天产生的代码大概在100-150行!而一个合格的顶尖工程师从来都不是用代码行数来衡量自己的工作成就,一个优秀的工程师应该是要尽可能多的产生高质量代码。

用代码行数评价程序员是不公平的

早些年在传统软件公司存在一种用代码行数来衡量工作质量的方式,当然在传统软件企业这个工作是有一定合理性的。传统软件企业需求变动小,所有的产品迭代都有一个相对确定的周期,大家都是按部就班的按照工作计划来工作,工作量好衡量,不过在互联网企业这一点完全不一样。

互联网需求变动极其频繁,昨天的代码今天可能就不行了,相对于传统软件同时实用导致的并发压力小不同,互联网软件动辄上千万、上亿,甚至上十亿的用户在使用同一个产品同一个功能,一旦用户上亿,技术难度远超过业务本身的难度,需要解决的问题将变得非常复杂,每一行代码可能都需要经过非常多的思考、推演,背后的工作量其实是极大的,这是代码行数不能直接体现的。大家想想爱因斯坦质能公式多简单,可是背后爱因斯坦付出了多少艰辛很多人都不理解。

传统软件公司通常是“项目经理+技术经理+工程师”为主干架构,而项目leader往往就是这个项目最大的项目经理,互联网公司则更多的变成了“产品经理+算法工程师+研发工程师”的主干架构,项目leader往往就是这个项目最大的产品经理,互联网很难像传统软件企业管理项目那样去管理项目,这也导致了你不能用代码行数来衡量其工作质量。

一大半时间在思考、你做的产品给很多人带来便捷才是你真正的价值

硅谷的工程师跟国内的工程师其实还是存在比较大的差异的,在硅谷没有像国内这么明确的分工,基本上入职的岗位都叫做研发工程师,大家都要写代码,都要参与业务,都要研究算法,即使是很多做到了科学家级别,也要写一些代码。

好的程序员,一半以上的时间都在思考,在想着如何更好的设计,你的价值更多的取决于你对于这个项目的影响,而这些影响往往都不是直接的。移动短信到真正彻底被即时通讯软件所取代,花了接近20年的时间;支付宝从一个支付中间工具到真正上线快捷支付也长达十年时间;同时有数万、数十万用户点外卖或者打车,这对于技术又是多么大的挑战。

互联网就是这样,一旦你实现了一个功能,很有可能有上亿的用户会使用,这就是你的价值,你写的每一行代码都可能影响到每一个用户的日常生活。还是回到数学例子,就好像最简单的圆的面积公式,极其美观简洁,可是这背后经历了上千年的不断探索,思考的过程远远比结果要曲折得多。


EmacserVimer


我一个汇编代码的小项目总共就不到1W行,些了两年才交到客户手里测试。

另外一个C的项目,核心代码可能不到1W行些了快一年,但控制界面的显示与按键代码好几万行,两三个月就搞定。

所以代码量要看什么东西的代码了。算法类的,关键控制逻辑类的,有时一周过后还写不出几行,但却不停的在草稿纸上画流程写数字函数等等。


机电艺术


回答问题之前,我先猜测一下,能够问出这个问题的同学,应该不会是个程序员或者根本没有在IT这个领域干过。

为什么说不会是个程序员或者不是个IT人呢?

我们先把程序员分一下类,一般来说,程序员包括前端工程师、后端工程师、嵌入式工程师、算法工程师、IOS/Android工程师等等 。

再来简单看看每个不同岗位的程序员工作是如何的。

对于前端工程师来说,主要使用的语言就是JavaScript,其余就是和HTML、CSS打交道。对于一个比较初级的前端工程师来说,每天有效的代码行数能够超过100行,基本就算是及格了,对于比较资深的前端来说,能够达到300-500行,也算是不错的了。

再说说后端工程师,我们现在最主流的研发语言就是Java,其实做后端和做前端只是考虑的业务面不一样,前端主要想的是人机交互,后端主要是数据和业务的处理。因此,对于一个后端工程师来说,每天能够150行左右的代码算是及格了,资深一点的也就是300-500行的这个范围。

而算法工程师严格意义上来说其实也算是后端,所以可以和后端工程师同样看待。而IOS/Android和前端类似,所以计算代码行数,可以参考前端。

不同的就是嵌入式工程师了,嵌入式工程师主要是面向芯片、面向硬件控制,代码量不会太大,一个嵌入式工程师,一天能够有几十百把行代码已经算是不错的了。

OK,我们大概了解了情况以后,再言归正传,每天写3000行代码的程序员是什么水平?

我只能说,这个高度只要是个程序员,都不可能达到。就别说程序员了,写网络小说的专业写手也写不到这个水平。

一个写网络小说的作家,一天两章更新算是比较普通了。如果熬个夜,勤奋点,可以做到三章更新。一章差不多就3000字,一行大概30个字左右,差不多就是100行。一个专业的写手也就是200-300行每天的码字量而已。

程序员就和专业写手一样,只是码的是代码,写完代码以后照样要检查一遍,如果出点什么bug,还需要debug一下,造点数据跑下流程。还需要沟通业务,了解需求,有时候遇到技术难题,还需要一起攻关一下。每天真正用在码代码的时间估计只有3分支2不到,3000行的代码,那不是人能够干出来的事。


分享到:


相關文章: