人文艺术 > 请问大佬们能2000行代码0 error 0 warn 0 bug一遍过吗?如果能过,是什么水平?

请问大佬们能2000行代码0 error 0 warn 0 bug一遍过吗?如果能过,是什么水平?

2020-10-30 02:39阅读(60)

请问大佬们能2000行代码0 error 0 warn 0 bug一遍过吗?如果能过,是什么水平?:在现实中写2000行代码没有错误没有告警信息一遍能过的情况下还是非常少见,这需

1

在现实中写2000行代码没有错误没有告警信息一遍能过的情况下还是非常少见,这需要具备非常强的基本功以及非常平稳的心态,如果在时间充足或者精神压力没有那么大情况一般的高级软件工程师都应该具备这种能力,但是在国内软件企业里面很多对于产品开发速度要求都很高,有时间为了赶工期可能连基本的设计思路都没有时间去考虑周全,导致很多时候代码需要在后续拿出大量的时间来修改,特别是国内的互联网企业对于需求的工期更是急切,在这种大背景下谈不上代码能够一遍能过了,能够在短时间完成功能就已经不错了。

程序员写代码不能以忙作为借口,毕竟程序员的代码就是自己的门面,优秀的程序员从来就是非常珍惜自己的代码,真正大神级的程序员编程的基本功非常扎实,而且代码写的代码都是在自己的设计之中真正开始代码的时候实际上就是思路落地的时候,由于从事软件编程多年,也真遇到几个编程基本功极强的程序员,平时很少看到他在写代码,真正开始写代码的时候速度非常快速,而且写完代码直接编译基本上都是一遍过,很少再去检查代码的语法细节,看这种人编程就会有一种特别享受的感觉,但是在平时对于基础的学习和演练都是同步在进行,经常看到在放假的时候打印一堆厚厚的标准去研究学习。

程序员的代码就是自己的脸面,越是谷歌微软这种企业在代码的管控越是显得随意,很多代码的审核只需要周围的同事给审核下直接就能提交了,但这种是建立在大家的水准都是在一个非常高的情况下,而且在平时经常看到模块代码的重构,重构的目的就是让代码执行起来更加高效,而且在心理上能够满足已经努力到自己满意为止了,这是优秀程序员和普通程序员最大的不同之处,对自己写过的代码负责,特别是对于已经实现功能的代码更是想办法做到最大程度的优化,做的时间长了自然在基本功底上表现的更加厉害了。

实际工作的过程中写代码的时间相对有限,主要是在代码的调试上以及构思上花费的时间会更多一些,对于设计思路的探索以及设计之后改进工作消耗的时间会显得更多,代码更多是在思路上的体现,最后只是工具能够落实到实际解决问题中,对于工具使用的顺手就会弄出高质量的代码。

程序员能力的体现不能仅仅看代码,而是代码支撑起来的背后产品,产品的性能以及稳定性才是最终衡量程序员水准的关键,但从表面上代码的规整程度以及在编译的时候出错的概率都可以在直观上体现出,但最终考核的标准还是在产品的质量上,而且好的代码框架对异常场景的兼容也会更强一些,越是规范化的代码在稳定上以及性能上更加占据优势,希望能帮到你。

2

一个开发人员如果能独立开发一个功能模块,且没有bug,可以说是一名合格的程序员。如果能持续高质量,低bug的输出,那他就是一名优秀的程序员。

我身边就有这样的一个同事,他开发的功能提测从来没有bug,上线后也能够保持长期稳定运行。他和我炫耀他做过的一个项目,这个项目是交付给一个国外公司使用,交付之后的一年里没有发生过一次报警,没有一次宕机甚至是重启,真正的做到了7*24小时高可用!

还有一个例子,有两个朋友给人家长期兼职一个项目,这个项目每日注册10w+,DAU也是几十万,总共就三台服务器扛起这些并发量。他俩的工作模式开发、自测,然后就是相互review代码,完事就上线!这个过程是没有测试人员来保证质量的!

这里我的观点是:一次的没问题并不能代表什么,只能说你是一个合格的程序员,能够长期的保持代码质量,低bug或者无重大bug才能算得上是一名优秀的程序员!

个人认为要想达到如上的能力,需要持续追求下面几件事:

  • 严谨的思维能力
  • 持续的学习
  • 优秀的代码能力
  • 规范的流程保证

这里单独强调一下规范的重要性,有的同学在开发的时候总觉得严格的流程规范会降低团队的开发效率,比如提测前的代码review,上线前的sql审批,各级领导的审批等等。

实际上这些流程就是为了保证上线的一个安全性。你总以为你写的代码没问题,不需要他人来评判你的代码,也许一次两次都OK,但这证明不了什么。你拿什么来保证你每一次上线都没问题?线上出问题了不是你一个人担责的,当团队规模更大的时候,如果没有规范那将是一件很可怕的事情~

3

没问题,只要思路正确,编码严谨,习惯良好,经验丰富,可以做到的,我就经常这样,有一次,编写一个将近2000行的批作业,想了1天,写了2天左右,准备拿出1天调试,结果,基本没什么问题,编译运行测试一次过,我都有点惊讶。不过,现在已经很少有机会动手了。顺便说一下,我大概有将近30年的编程经验。

4

第一,用行数来规定软件规模是非常扯的事。比如我可以写一千行打印语句,打印一千个字符。其实也可以用一行完成。

第二,大佬们牛的不是一次性写好,牛的是把你运行时间一千年的代码改成用一秒运行的代码,把你需要1t内存的代码改成可以在1m的空间中运行,把你一千年都找不出的bug用一秒钟找出来,把你想破脑袋也想不出的算法顺手实现。

最后劝告那些想写代码又觉得难的人,路都是一步一步走出来的,没有哪个大佬天生会写代码。我们要做的是知道自己需要什么,然后一天一天的积累。

5

编译通过和有没有bug是两码事哈!

相关问答推荐