年轻程序员的悲伤

年轻的程序员,这并不是第一次工作经验。但是他的第一个项目却被证明是有问题的。那时候,他认为功能是不需要变的。但是他错了,于是乎,每个功能的改变都需要全部重构,从而导致bug横行以及时间的巨大浪费。他甚至尝试了一些良性的方法,如编写测试。但是他的测试需要维护,需要编写时间,以及更多的时间才能被执行。

和每一个年轻的开发人员一样,他的成长道路上都是那些经验丰富的开发人员的声音,“过早的优化是罪恶的根源!”,以及“写测试!测试!测试!”。也许他只是在重构一个小型的实用方法,但这个时候经验丰富的开发人员过来了,郑重其事严肃地警告他,“不是告诉过你不能过早的优化吗?”,或者“你这是在写测试么?”。

但往往,年轻的开发人员直接就左耳朵进右耳朵就出了。因为他们不明白为什么过早的优化应该是罪恶的根源,以及为什么要写好测试。从他以往有限的经验来看,他认为接下来的技术指标并不能长效工作(因为它们往往会改变),以及写测试纯粹是浪费时间。

“到底是为什么我每次都需要重写代码?究竟又是为什么现在我写的代码之后还需要重构?还有就是到底是为什么我得花这么多的时间用来写那些没用的测试?“年轻的开发人员心里在咆哮。

于是乎,终于有一天,年轻的开发人员又开工了一个新项目。这一次,他决定无视那些经验丰富的开发人员的警告:他相信他写的每一个代码片段都会既快捷、可配置,又强大,并且可以承受每一次参数规格的改变。在他绞尽脑汁地搞定项目的核心之后,年轻的开发人员忍不住得瑟起来:“哈哈,我就说那些‘老家伙’的话是错的!”仿佛凯旋在望,年轻的开发人员眼中已经出现了胜利的光芒。

然而,发布一段时间之后……

突然有一天,客户告知他们程序发现了bug。经验丰富的开发人员看了这个bug,找到问题的所在,就要求年轻的开发人员去修复他自己造成的bug。

听到自己的代码被嫌弃了,年轻的开发人员第一感觉是生气。但是当看了项目之后……却发现,他居然无法理解自己写的代码了!他已经完全看不懂这些代码的含义!天哪,呜呼哀哉!

但是没办法,这是他的问题,他也只能硬着头皮上,好了,终于修复好了这个bug——但是过几天又出现了新的bug。bug——补丁,bug——补丁,焦头烂额。

年轻的开发人员简直要崩溃了,“也许我并不适合这种工作,不然我的代码怎么总也写不好?”在各种质疑自己的声音中,年轻的开发人员半信半疑地打开了经验丰富的开发人员的项目。他震惊了!代码是如此简单易懂——有注释、有测试。这跟他写的代码完全有着本质的不同。特别明显的区别就是:没有额外的配置,对每一行代码都进行了测试,每一个方法都有一个有意义的名字,并且方法非常短(最长的也只有几十行代码),代码只做了客户要求做的事情。

在那一刻,年轻的开发人员是非常沮丧的,但是经验丰富的开发人员来了,他走到年轻的开发人员的身边,一边走他其实一边已经在开始考虑如何重构这些错误的代码。

在一起合作解决问题的时间里,年轻的开发人员目睹了经验丰富的开发人员一步步解决问题的过程;有时候经验丰富的开发人员还会监督年轻的开发人员编写代码。

几天以后,又一次发布标志着bug已经被修复了。造成bug的那部分代码片段现在已经进行了测试,不但易于阅读,并且非常稳定。经验丰富的开发人员看着年轻的开发人员,问:“你现在应该明白了吧?”

年轻的开发人员点点头。现在他确实明白了。想要完美,其关键并不是能够预测未来,而是编写易于改变并经过测试的代码(这样,如果要改变代码的话才不会造成bug),而且只需要满足当前的需求。而当他意识到这一点的时候,他在无形之中,已经蜕变成为了“差不多”经验丰富的开发人员。

“我们现在要重构整个项目吗?”年轻的开发人员问。

“当然不!这又没有预算的。”经验丰富的开发人员斩钉截铁地回答。

“但是,要是出现其他bug怎么办?”年轻的开发人员问。

“可以让自由职业者来解决那些问题。”经验丰富的开发人员答复。

然后,“差不多”经验丰富的开发人员开始能写出优良的代码,渐渐地向更高层次的水平靠近。当然,这是另一个故事了。

对于年轻的开发人员的建议:请回过头去看看你曾经写的代码,多去扣丁学堂www.codingke.com这样的在线教育网站看一看。如果你的代码现在看上去没有以前感觉的那么漂亮,那么说明你在进步。

对于经验丰富的开发人员的建议:当你的身边出现了一个年轻的开发人员,或许你需要不时地替他们收拾烂摊子。如果你想摆脱这样的处境,那么就让他们尽快学会编写得体的代码。

对于自由职业者的建议:你或许应该提高你的酬劳了

时间: 2024-10-18 08:32:01

年轻程序员的悲伤的相关文章

让年轻程序员少走弯路的14个忠告

无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么.下面是让年轻程序员少走弯路的14个忠告,希望能对大家有所帮助. 1.不要害怕在工作中学习. 只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍.如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的.如果你盲目地要求更多的工作,也是不可能提升自己的.放慢脚步,先将一些基础的知识捡起来. 2.在事业上勇往直前,自己为自己负责. 大概只有十分之一的人才能得到导师的特殊照顾,如果你是十分

如何提升你的能力?给年轻程序员的几条建议

收藏自腾讯开发平台:http://gad.qq.com/article/detail/7151319 一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验.我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发. 我工作过的公司有4家,NVIDIA, Google, Slide和Glow.其中两家是知名的大公司,Slide我是D轮过后加入的,那时约150人.Glow则是从它第一天创立,一直走到现在.个人的工作也从Developer,Tech Lea

[好文推荐] 给年轻程序员的8条建议

看到一篇写的很好的职业生涯建议,想想真的是这些道理. 翻译如下: 如同儿歌 "Ooh La La" 所唱的一样,我多希望年轻时就懂得现在才领悟的那些道理呀.那时候,我心里只有代码,才不会去想想自己的职业人生,也不会去主动维持良好的朋友关系.要是有人指点一二,那能少走多少弯路啊! 1.保持联系方式 我刚毕业时一门心思都扑在计算机上,如果谁将我和心爱的电脑隔离我甚至会很反感.好吧,这样说可能夸张了一点. 尽管那时候就认识很多行内知名的专家,也参加各种交流会议认识很多值得做朋友的人, 但很可

[转]如何提升你的能力?给年轻程序员的几条建议

转自 http://tech.glowing.com/cn/advices-to-junior-developers/ 一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验.我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发. 我工作过的公司有4家,NVIDIA, Google, Slide和Glow.其中两家是知名的大公司,Slide我是D轮过后加入的,那时约150人.Glow则是从它第一天创立,一直走到现在.个人的工作也从Developer

给年轻程序员的几句话

      找其他开发人员合作开发.我们正处在科技历史上第一个绝好的时代,你几乎不用在意在哪工作.为谁工作.只要你有一个还过得去的网络,你就可以和另外一个在世界任何角落里的人一起来完成某段程序.我知道,越来越多的有经验的开发人员开始把他们的一部分时间投入到这种知识共享里.        阅读经典著作:<代码大全(第二版)>, <程序员修炼之道>, <程序设计实践>, <设计模式>等.       阅读WikiWiki (有时也被称作WardsWiki).这一

一个程序员的悲伤爱情故事

小伟毕业后顺利的进了一家软件公司,他天生就是干这行的料,又是科班出身.不爱说话,不善于言谈,却热衷于解决程序中的难题,程序员的这些标签都贴在了他的身上. 每次解决一个难题,小伟总习惯对着电脑傻笑一会儿.刚开始大家都以为他脑子有点问题,后来久了也就习惯了. 女神降临 突然有一天,公司来了一名女程序员.在他看来她一点没有程序员的样貌,长发飘飘,一副大边框的眼镜里藏着一双美丽的大眼睛,连走路时身边带过来的风都夹着淡淡的清香. 她的位置被安排在了小伟边上,她向小伟问好同时对他笑了一下. 就这个很平常的举

谈程序员的自我修养

最近,无意中看到一本书,叫作<程序员的自我修养>,书名很吸引我,翻开看时,却发现里面的内容多是有关Windows底层技术的介绍,比如编译器.链接库的原理,运行库的实现等等.可能是自己不常做Windows编程的缘故,便觉得索然,不愿再往下读了.反而是这书名倒让我起了些意见,明明应该叫作"深入Windows开发核心"之类,却被冠以"程序员自我修养"的名字,确有些言过其实了吧. 我也曾写过些文章,多是教程序员们如何摆弄新鲜技术,或是谈些有关职业与个人发展的话题

也谈程序员的自我修养

最近,无意中看到一本书,叫作<程序员的自我修养>,书名很吸引我,翻开看时,却发现里面的内容多是有关Windows底层技术的介绍,比如编译器.链接库的原理,运行库的实现等等.可能是自己不常做Windows编程的缘故,便觉得索然,不愿再往下读了.反而是这书名倒让我起了些意见,明明应该叫作“深入Windows开发核心”之类,却被冠以“程序员自我修养”的名字,确有些言过其实了吧. 我也曾写过些文章,多是教程序员们如何摆弄新鲜技术,或是谈些有关职业与个人发展的话题,但对于程序员们的生活以至修养却从未敢说

程序员们,你三十岁了吗?

大专毕业,男,今年三十岁,古人云:三十而立,看看自己,突然悲从心来. 自02年毕业到现在,一直从事着软件开发的行业,当初的激情和骄傲似乎被岁月磨灭. 记得读书的时候,在学校里玩得多,什么足球.小说.网吧啊,总之是稀里哗啦地玩得一塌糊涂,也没有什么扎实的软件编程功底.毕业的时候终于面临了人生的第一次迷茫和无助,虽然学校里即使认真学习,学到的东西也不一定对将来的工作有多大的帮助,但平心而论,那种迷茫和无助,真的是我几年玩乐所应得的惩罚.    最近公司接到大的项目,这几天公司准备狂招人,公司大小头头