注册用户享全站资源 并成为粉丝 不定时福利发放
合作广告

合作广告

最大优惠

人事面试

人事面试

套路太深

面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背...

部分企业人事部收到求职者简历后,会预先进行一轮电话面试,来考察求职者的综合素质,因此了解懂得求职面试的基本技巧,将...

1、着装要适当  穿着不一定要名贵,但一定要合体、干净、整洁,而且颜色和图案的搭配一定要协调。鞋子应该是舒服而又引...

一、隐瞒真实个人资料的不诚实者简历是求职的第一步,只有面试官对你的简历有兴趣才会通知你面试。在简历中适当地突出个人...

一、首先你得已经成为公司里“最好”的程序员,或者你已经找不到可作为老师和导师的人关于这一点,很多人都会过度自信,所...

程序人生

程序人生

技术的另一面

女程序员这一物种是稀有物种,茫茫软件工程系,放眼望去满眼尽收“屌丝男士”。零星几只女性就显得尤为珍贵。这里有只女程...

你是否曾经遇到过这样的情况:你已经有了一个好主意,比如开发一个在线商店,制作一个应用等等,但是却只缺一个程序员,能...

在北京四环路西北部的中关村,聚集了这座城市最多的科技企业和最优秀的技术人员,因为腾讯、字节跳动等互联网巨头坐落于此...

作者 : 何俊林 王小波在《黄金时代》里写道,“那一天我二十一岁,在我一生的黄金时代。我有好多奢望。我想爱,想吃,...

在Stack Overflow上有这样的一个贴子《What’s your most controversial p...

程序员段子

程序员段子

乐一乐

皇上太拼了......  被电视剧蒙骗了好多年,三观毁灭!  这是传说中“帅气的王爷”与“美腻的王妃”,像不像屠夫...

足够自信的程序猿自信是通往成功路上的指明灯,自信的程序员更是加班夜里的探照灯,总能让BUG无所遁形。效率高的程序猿...

最近这段时间,小编絮絮叨叨说了很多严肃的东西,今天说点好玩的,轻松一下。娱乐圈有潜规则,小编认为IT圈一样,也有潜...

今天来说说一位女青年的老公以及他们的事儿。如有雷同,纯属巧合。十一年前我和程序猿第一次见面,还是大一军训期间。我甚...

公司高层公司副总A:咱们开个会研究一下这个事情怎么处理。公司副总B:如果老板没有救成功,下任是谁呢?会不会影响公司...

副标题

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

发表时间:2018-11-19 13:48

今天在社群上闲逛,突然发现一个十分有趣的帖子,《写了100W行的代码是啥感觉?》

看完之后就头皮一阵发麻,让我写一万行的代码?!are you kidding me?(黑人问号脸)我估计写到20万的时候就会突然有个疑问—-“咦?我的头发呢?”


图0:写了100万行代码的程序员是什么样的程序员


A同学:我写两千行代码功能都得琢磨个两三天,一百万行真的是好多啊,最多了五年写了也就 20-30万行代码左右,还是有任务在身的情况被逼着写的,让我写一百万行代码,恐怕这辈子得死在电脑前了…


图1:写了100万行代码的程序员是什么样的程序员


B同学:我是觉得如果说你一个工作写了一百万行代码,那你在公司的地位应该算资深员工了。如果你一个项目写了一百万行,那你肯定是参与了一个比较大的项目了。

如果你一个类写了一百万行,请问你用的是什么编辑器?如果你一个方法写了一百万行代码的话,请问你有没有被同事打死?


图2:写了100万行代码的程序员是什么样的程序员


C同学:据说要从初学者成长为程序员,那个得需要10万行代码的积累才可以呢。不过话说回来这样说也很对,毕竟入门阶段嘛,确实需要多打代码才能积累经验。

不过修炼一段时间之后再注重代码的量那就不对了这时候肯定是注重数学还有算法思维,按这样算的话,假如20万是修炼门槛真积累到了一百万行代码肯定代码质量越来越高了,估计是某个领域的小专家也说不定。

至于真敲了一百万行低质量代码,听哥一句话,还是转行吧。程序员不适合你这种锲而不舍的精神。


图3:写了100万行代码的程序员是什么样的程序员


D同学:切,一群渣渣。给你们看看一张网图就知道我连续熬夜写几千行代码是什么状态了。我感觉我快要窒息了,如果时间可以倒流,我希望我不做程序员!!!

E同学:这简直就是一个送命题啊,哪有什么人能打一百万的代码,从业五六年的程序员,如果按正常工作量的话一天也就一百多行,这五六年估计也就五六万行吧。

如果是外包公司代码量估计翻倍了,那就按五十万行来算。但是谁会那么拼命去奋斗在一线一天一千行的去工作啊。写五六十万行肯定都转行创业了,还继续下去不猝死估计也脱一层皮了。

其实,代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握。谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。

那么,写出100万行代码到底需要多少时间,我们来算一下:

假设最好的情况,一天100行高质量代码,一年36500,100/3.65=27年多。即便从20岁开始编码,要到50岁左右方可完成。

但实际上关于平均代码量的问题,即便把所有工作日都算上,大概也就是20-30行的样子;如果仅讨论集中的开发期,高峰也不会超过200行。

所以说,一百万代码就像找女朋友一样不靠谱。


图4:写了100万行代码的程序员是什么样的程序员


总结一下:

关于代码的量,从初学者成长为程序员,需要代码的积累,而以后数学功底和编程思维的深化更加重要。

一味的追求量并没有任何实际意义,通常,越核心的部分代码量越小,越容易写大量代码的,大概是没什么技术含量的 UI、业务逻辑。而一些部分,用脚本或DSL实现可以更精简。写代码和考试一样,做题最多的不一定是成绩最好的。

此外,要想做高质量的代码,建议先打好技术基础,比如掌握好开发语言,熟悉开发平台、掌握基础的数据结构与算法、了解基础的设计原则等。建议采用代码标准,比如Google等大厂已经制定好了各种标准。想好了再写,不建议边做边想。

我们常常很难一次把代码写得让自己满意、无可挑剔,所以重构对于代码质量的重要性不言而喻,推荐阅读《重构》这本业内经典书籍。

很多问题归根结底都是技术债务,就代码质量而言,如果你还对高质量代码有追求,建议你在负责一个小模块时,除了把它做好之外,也要顺便将与之纠缠在一起的技术债务还掉,在一个团队里任何一个人都不可能独善其身

写出高质量的代码,代码审查也必不可少。事实上,很多代码上的问题,都可以通过一些工具来找到,比如Android开发中有Lint, Find bugs, PMD等优秀静态检查工具可用,通过改进这些工具找出的问题,就能对语法的细节,规范,编程的技巧有更多直观了解。

建议最好与持续集成(CI),代码审查环境配套使用,每次提交的代码都能自动验证是否通过了工具的代码检查,通过才允许提交。

当你需要修改大量代码时,单元测试的优点就显现出来,你只尽管放心修改,只需要保证单元测试用例通过即可,无需瞻前顾后。在写完代码后,进行充分自测,需要至少跑一遍基本的场景,一些简单的异常流,不要总想着让测试帮你找问题。

最后就是善用开源。虽然并非开源的东西,质量就高,但至少关注度较高,使用人数较多,口碑较好的开源项目,质量有一定保证,即便存在一些问题,也可以通过提交反馈,不断改进。

最重要的是,你自己花时间造的轮子,需要很多精力维护,而充分利用开源项目,能帮助你节省很多时间,把精力专注在最需要你关心的问题上。


Java帮帮公众号生态

Java帮帮公众号生态

总有一款适合你

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

Python帮帮-公众号

Python帮帮-公众号

人工智能,爬虫,学习教程

大数据驿站-微信公众号

大数据驿站-微信公众号

一起在数据中成长

九点编程-公众号

九点编程-公众号

深夜九点学编程

程序员服务区-公众号

程序员服务区-公众号

吃喝玩乐,听学吐画

Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
合作品牌 非盈利生态-优质内容分享传播者
关于我们
友链申请
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
全站内容非商业用途,内容来源于网友,并遵循 CC BY-NC 4.0 许可,如有异议请联系客服。
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部