写了100万行代码的程序员是什么样的程序员?

WEB技能圈儿


写过十几年的代码,写的代码有没有100万行没有做过具体的统计,写代码的行数和程序员的能力没有太直接的关系,代码编写能力只是编程能力的一个体现,不能以偏概全,而且不同的岗位代码能力数量差异非常大,常见的前端工程师以及应用级开发代码量比系统级开发或者底层开发代码量少了许多,所以代码量并没有太多的可比性。

只有有过实际项目开发经验的工程师,都有一个认识,写代码的时间只占总工程量的百分20,编码能力稍微差点的就是占据百分30,其实要做一个项目首先要进行可行性分析,然后是功能分析,也就是需求分析,代码完成阶段,测试阶段,联合调试,最后出厂,到客户再提出新的需求再返回来修改,这一系列的过程都会花费大量的时间,写代码的时间只占很小的一部分,代码只是展示形式,对于编程的认知到了一定层面编程语言就是工具一般的存在,如果拿代码的总量来衡量编程水准就会显得比较狭隘。

写代码直接的表现是实现功能,最终编程的最终的目的是给生活提升了多少便利,站在不同的角度能给出不同的结论。还有人纠结于掌握多少编程语言,掌握多种编程工具而已,编程能力的核心解决实际问题的能力,解决问题能力包含具体的代码实现,功能需求最优的实现,以及准确的测试手段,还包含着和客户的沟通能力,当然最核心的架构能力以及算法逻辑,都可以归结于解决问题能力,几乎每个企业都有一个或者多个定海神针般的人物存在,几乎大家解决不了的问题都会交给他去解决,特别是项目交付的关键时期。

判断一个程序员的能力,代码能力只是业务能力的一个体现,很多程序员觉得实现自己的功能模块就万事大吉了,把自己做的东西和实际应用场景结合的太少了,从来不去考虑是不是有更好的使用方式,很多顶层的架构师除了研究本身代码,还会从生活中寻找创新的灵感,如果只是一个满足于现状的程序员基本上决定了未来的发展,优秀的程序员的从来对于自己写的代码带着有色眼镜在审视,从纯粹的代码角度考虑代码的质量远大于代码的数量,不停的折腾代码,不停的寻找更好的实现方式,是优秀程序员的一个基本特质。

曾经共事过一个同事,代码基本功极强,平时写代码基本上都是一次性过,很少在编译的时候来回修改语法错误,最经典的一次是一个团队实现的一周实现的代码,被这位神奇的同事一晚上给重构了,早上上班发现自己的代码都没了都换成他的了,很多人觉得不爽,但重构的代码质量无可挑剔,实力的体现,平时特别喜欢研究一些编程规范,经常拿着C99这些标准研究来研究去,有时候还会喊出一句怪不得那,写代码就是一种享受,境界不同产出的结果也会不同。

希望能帮到你。


大学生编程指南


程序员写了100万行代码就会变得很厉害吗?其实不然,衡量程序员厉害的并非是你写的代码多少,得看你是什么类型的程序员。下面先说说常见的几种程序员的类型:

1.COPY侠

复制粘贴别人代码的程序员并不少见,一方面是因为懒,另一方面也是确实没思路。所做的事情也就是从网上他人的代码里拷贝片段,放在项目中跑通了,这个任务也就完成了。

其实copy侠对编程没太大的兴趣,久而久之他们仅有修改代码的能力,却不会写代码。之所以干这行主要是以此养家糊口,并没有什么职业理想。

2.新手上路

有句话叫:现学现卖。

加上程序员本身就是个需要长期学习的职业,很多新手在接触到项目的时候,并不完全知道要如何实现这个功能,这时需要通过学习、寻找资料等方式来解决问题。

所谓的新手上路,程序员的目的是“完成功能”,解决目前所面对的问题。在这种工作状态下,很多程序员都是十分被动的,因此也很难有多余的时间去考虑边界条件、性能、可扩展性、编码规范等问题,因此代码bug可能比较多,稳定性不高。可能常常会出现这种情况——编程2分钟,寻找bug2小时。

3.学习选手

相较于上一种程序员,这类程序员对所在领域的语言已经比较了解,对于一般功能可以有较为清晰的实现思路。当他们接到需求时,能够通过自己的思路来实现,而且会在一定程度上考虑边界条件和性能问题。当然,他们对可读性和可扩展性考虑很少,也没有项目级别的考虑。

学习选手最大的表现在于喜欢“创造代码”,即使有现成的实现,他们也希望自己来实现一套,以达到“学习”的目的。他们不喜欢复用别人的代码,看见项目中别人实现了相类似的功能,他们会以“需求不同”的借口来自己重新实现一套。这类人一般来说对技术有着较为浓厚的兴趣,希望能够通过项目来进行学习。

兴趣是最好的最好的老师,学习型的程序员如果能坚持在技术上的尽头,将有可能成为技术牛人。

4.实现牛人

一般来说,实现型的人才都有十分丰富的经验,俗话说程序员必须得写够百万行代码。熟能生巧,因此不再追求“创造代码”来进行学习,同时对所在领域的相关东西十分熟悉,因此对需求和项目都了然于胸,他们可以快速实现需求功能,因此也是别人眼中的“技术牛人”。但他们一般仅仅停留在“完成功能”级别上,对代码的可行性、可扩展性、代码规范等等考虑较少,对项目总体的把握也较少。

大牛一般都有这样的习惯,对于开发有着足够的热情,但对于维护则不太上心。他们产出的代码最大的问题在于维护成本,可能前不久写的代码过段时间再看就会晕头转向。

5.架构把控

这类程序员比上一类型的程序员更进一步,他们经验十分丰富,对相关框架和工具的熟悉程度很高,“完成功能”、“性能”、“稳定性”这些已经不再是他们的追求,更完美的代码、更合理的框架才是目标。

对比上一种类型的程序员,他们的优势在于整理把控,在工作过程中尽量把握代码命名、注释及逻辑分离,保证可读性,也就是说尽可能的保证项目的可持续发展。但正是由于他们的工作方式,可能在“实现阶段”来看速度会慢于“实现牛人”,他们的优势只有在项目后期才会慢慢体现出来。

当然,作为优秀的程序员必须要懂逻辑,其次还有足够的分析能力和自学能力。在学习的过程中不断培养技术能力,同时扩展自己的视野,从项目的整个流程去着手考虑,将会拥有更加开阔的职业天地。

所以讲真,程序员写百万行代码实际事件正常不过的事情。


子非良驹


写一百行代码,他未必是一个编程大神,但一定是个经验丰富的开发者。

编程水平的高级并不是看数量,不是看行数,而是看代码的质量,代码执行的效率,或者说代码带来的性能问题。

量变产生质变?

如果一个程序员写了一百万行代码,无论是不是单纯的复制粘贴,抄袭他一定也是需要先阅读别人的代码。也就是说,即使是抄一百万行,这里指带着理解得去搬运,那也算是“阅码无数”。这会让他成为一位对代码非常熟悉的人。假如是自己纯手敲,那可想而知他的技术成就。

但是如果只是搬运,只是写业务代码,写两百万行可能也并没有很高深的技术,只有熟练的编程能力。

一百万行代码算多吗?

如果天天在写代码,一个程序员一千行代码大概需要两三天的话,一周大概可以写两千行代码。一个月可以写接近一万行代码,一年可以写十二万代码,这样算下来需要十年左右写完一百万行。这个确实有点吓人,因此个人认为写一百万行代码的程序员全世界也难找。

宇文氏总结:完成一个功能并不是代码越多越好,也不一定越简洁越好,要做到代码多一行会累赘,少一行有缺失,那一定是一段值得品读的代码。

关注“极客宇文氏”,更多新鲜编程见解

极客宇文氏


写了100万行代码就一定牛逼吗?不一定。
不可否认,在大部分互联网公司,尤其是一些外包公司,技术人员要没日没夜的赶进度,每天的代码量几乎都过千,一个月下来怎么着都有几十万的代码量了。但是你敢说这些程序员的水平一定就高吗?
有多少程序员写出来的东西只能算勉强能用,甚至于有些完全就不能用,一用就崩溃的那种。
换句话说,一个有着10年工作经历的程序员,水平一定高过一个只有2年经验的程序员吗?不一定!
记住一点:编程并非纯技术的工作,它始终是一个创造性的工种。因为编程的最终目的就是将人类脑子里思考出来的逻辑转换成一系列操作计算机的指令,然后让计算机遵循这些指令去解决问题。
除了写代码,我们还需要将更多的时间花在思考和Design上。下手敲代码前,好好想想这个产品或者项目到底要实现什么功能、未来走向是什么、我要怎么做才能让它更加稳定等等。
程序员不需要没日没夜的敲代码,我们得提高效率,并且在完成项目后反思和总结经验,而不仅仅是完成任务就了事儿。

叩丁狼教育科技


毕业设计用java写一个交通分配软件,完全手写,从最底层的路网网络(也可抽象为任何行业的网络,就是点线面)写起,写各种路网操作工具(包括最起初的增删查改,到点获取相关线,线获取区域面等等)然后到写基础算法,在以基础算法为基础写复杂算法。然后每写一部分就总结,再改编,套用设计模式,抽象接口等等,期间还用到了matlab混编技术,以及百度地图js api等等,最后统计java代码写了3560行,js代码376行,历时半年左右。然后参加毕业设计,本来导师是内定好我们组的优秀毕业设计的(不是我,但也是我参与了的一个国家级比赛项目,内定给我舍友,我是二把手),结果在现场,我演讲完所有参与的导师都给了我95+,神奇般的也成了优秀毕业生,这个是不属于任何内定唯一额外的一个。我说这些并不是说自己多么优秀,而是觉得老师们的肯定就是对我编程付出的最好肯定。还有,我不是计算机专业出身,我是学交通的😂

所以呢,写100万行代码确实挺难的,这需要足够的热爱与技术。而且随着技术的提高,很多东西都不是自己去写,更多的是学习别人写的优秀的库,这也使得自己写的代码量更少了。顺便说一下,后来因为毕业没读研,我也没从事编程相关的行业,编程一下子有点没了用处,一时间我也蛮失落的,有点光辉后的暗淡。一时间又觉得写了大半年就辉煌了几天,有点失落。后来也一度对java产生了偏见,觉得不好玩,学习时间太长,出成果太慢,然后转战前端。。。上班后又趁着晚上业余时间写前段,至今连学习加几个小项目也有2000行左右代码了吧。总之一路走来不容易,尤其是自学的我,经常为一个简单的小问题而纠结半天,就缺那么一个人指点。但我还是对编程喜爱有加,写过的代码讲起来如数家珍,滔滔不绝。这就够了。

如果一个人一生能写100万行代码,那肯定是要么是天才要么是Ai,正常思考的人写代码都不太可能达到这个量级,而且我也想不出一个人写百万行代码的项目会是出于什么需求和目的。。没写一半应该就会走火入魔吧,哈哈。


糖炒小小栗


前段时间的工作是帮别人优化代码。 一个文件写了几千行, 优化后, 所有功能都在, 每个文件代码只有三四百行, 算五十个文件, 我已经删了别人辛苦写的五万行代码。 自己创作了不到一千行


遥远的狼族


我从业12年平均每天100行左右大概200万行!最后的感觉是想怎么做可能花个七小时 写代码一小时甚至半小时搞定 。另外会觉得程序开发数学很重要于是恶补数学。最后我的工作的职位已不是开发工程师 我做到了咨询部门的经理。在我心里我永远是一个程序员 因为我爱编程


沙迦的袈裟


改变世界的程序员。谈谈玩吧,多进制只是量子智能的基础识别(你们用那个退火机玩的识别)。我们需要在那个退火机上,加入几组01条件,例如静止,移动。相对绝对,真假等等01条件。然后进行自我识别,也就是谷歌那个ai,自我深度学习。产生的逻辑,作为自我意识的程序,最终形成一个,自我意识。

接下来,我这个自我意识,将来他所做的一切事情,都由这个自我意识的逻辑决定。什么是决定,拿那个自动驾驶举例,它扫描到的东西是条件之一,自我意识是另一个条件也是主要控制输出的条件。最后两个计算,完成输出。就是这个ai表现出的动作,眼神,欲望,爱,等等

哦,我们是在创造人吗?这个ai也许会有信仰哦!!!!!!!


云轻38628585


两种吧,一种是特别热爱编程的人,一种是,最没有水平的程序员只是靠堆砌代码的。

一般情况下,一个高水平的程序员平均每天可以写五十或者更少的有效代码,真正产生效益的代码,而其他的代码就是保证这几十行代码的工作。

所以写一百万行代码的程序员,我还没有见到过,也没有见到任何一个大牛站出来说自己写了一百万行代码。

如果有谁,知道,回复我一下,谢谢!


杨兴华


这个和自己有关,有的人能自我反省,有的人不行,如果能自我反省,只要几个项目,就能练出大神,有些人不能自我反省,写一辈子,都是烂代码,程序只只要,天天纠结这么写不好,那么写不好,有一天突然找到这样写,可以现实重用,异常好处理,接口简单,依赖很少,那就是比较完美的解决方案,就离高手不远了,别信什么设计模式,那个学了会误导人,我见过抽象工厂模式几千行代码,直到现在都不懂干嘛,一堆根本没办法调试的代码,我把需求花一小时看完,写了个十来行的一个函数,用线程调用,把那原来几千行删了,就完做。做程序,第一考虑的用简单方法去解决需求,不是考虑什么面向对象,什么重载,虚函数,什么模式,什么语言,只要简单,好理解,办事,比什么都强,有点片面啊,还有很小机会要踫上要省内存,运行速度要快,


分享到:


相關文章: