专栏首页程序你好幽默的程序员:写了100万行代码的程序员是什么样的程序员

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总结一下:

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

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

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

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

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

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

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

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

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

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

本文分享自微信公众号 - 程序你好(codinghello)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 新手程序员如何写出好的代码

    我之前的博客文章在推特上火了。这篇文章指出了一个问题——始终遵守某些规则实际上并不能帮助人们更好地编写代码。

    程序你好
  • 程序的腐化原因及建议

    程序你好
  • 软件设计原则——DRY(Dont Repeat Yourself)和KISS( Keep It Simple, Stupid)

    程序你好
  • 告别狗屎代码,请记住这 11 条编码秘诀!

    我已经写了20年代码了,在此期间曾与17个团队共事过,使用不同的语言做过数百个项目。

    Java技术栈
  • 世间本无完美代码,不要苦苦追寻了

    一些代码比其他代码重要 通过研究代码如何随时间变化,Michael Feathers 确定了一个代码库的冥曲线。每个系统都有代码,通常有很多是一次性写成,永远都...

    BestSDK
  • 从条件运算符说起,反思什么是好代码

    那什么样的代码才是优秀的代码呢?对于这个问题,我想每个人心中都会有自己的答案。今天我就来和你聊聊我的思考。

    架构师修炼
  • 高级Python工程师教你如何正确写代码

    我接手的第一样东西就是React UI。我们有一个主要组件,它容纳了其他所有组件。我喜欢在代码中加入一点幽默感,我想把它命名为GodComponent。在cod...

    小小科
  • Dead Code为什么能在代码库中永生?

    在一些遗留系统中,经常会看到大片大片灰掉的代码(被注释掉了),这种代码是死代码吗?如果要我下定义,我认为这些不是死代码,因为它们连代码都称不上,如何又能叫死代码...

    袁慎建@ThoughtWorks
  • JS逆向时碰到了恶心的死代码怎么办?手把手教你解决!

    你是否也曾有过「跟着代码跳了很久之后,才发现那一大坨代码其实没有任何作用」的惨痛经历?

    青南
  • JS逆向时碰到了恶心的死代码怎么办?手把手教你解决!

    你是否也曾有过「跟着代码跳了很久之后,才发现那一大坨代码其实没有任何作用」的惨痛经历?

    崔庆才

扫码关注云+社区

领取腾讯云代金券