关于这位年青的开发人员,这并不是首次作业经历。可是他的榜首个项目却被证实是有疑问的。那时分,他以为功用是不需求变的。可是他错了,于是乎,每个功用的改动都需求全部重构,从而致使bug横行以及时刻的巨大糟蹋。他乃至尝试了一些良性的办法,如编写测验。可是他的测验需求保护,需求编写时刻,以及更多的时刻才干被执行。
和每一个年青的开发人员相同,他的生长道路上都是那些经历丰富的开发人员的声响,“过早的优化是罪恶的根源!”,以及“写测验!测验!测验!”。或许他只是在重构一个小型的实用办法,但这个时分经历丰富的开发人员过来了,严肃认真严肃地正告他,“不是通知过你不能过早的优化吗?”,或许“你这是在写测验么?”。
但通常,年青的开发人员直接就左耳朵进右耳朵就出了。由于他们不理解为何过早的优化应当是罪恶的根源,以及为何要写好测验。从他以往有限的经历来看,他以为接下来的技术指标并不能长效作业(由于它们通常会改动),以及写测验纯粹是糟蹋时刻。
“到底是为何我每次都需求重写代码?终究又是为何如今我写的代码今后还需求重构?还有即是到底是为何我得花这么多的时刻用来写那些没用的测验?“年青的开发人员心里在吼怒。
于是乎,总算有一天,年青的开发人员又开工了一个新项目。这一次,他决定无视那些经历丰富的开发人员的正告:他相信他写的每一个代码片段都会既方便、可装备,又强大,并且能够接受每一次参数规格的改动。
在他绞尽脑汁地搞定项目的中心今后,年青的开发人员不由得得瑟起来:“哈哈,我就说那些‘老家伙’的话是错的!”似乎凯旋在望,年青的开发人员眼里现已呈现了成功的光辉。
可是,发布一段时刻今后……
俄然有一天,客户奉告他们程序发现了bug。经历丰富的开发人员看了这个bug,找到疑问的地点,就请求年青的开发人员去修正他自个形成的bug。
听到自个的代码被厌弃了,年青的开发人员榜首感受是生气。可是当看了项目今后……却发现,他竟然无法了解自个写的代码了!他现已彻底看不懂这些代码的意义!天哪,呜呼哀哉!
可是没办法,这是他的疑问,他也只能硬着头皮上,好了,总算修正好了这个bug——可是过几天又呈现了新的bug。bug——补丁,bug——补丁,焦头烂额。
年青的开发人员几乎要溃散了,“或许我并不适合这种作业,否则我的代码怎样总也写欠好?”在各种质疑自个的声响中,年青的开发人员半信半疑地打开了经历丰富的开发人员的项目。
他震动了!代码是如此简略易懂——有注释、有测验。这跟他写的代码彻底有着实质的不一样。格外显着的差异即是:没有额定的装备,对每一行代码都进行了测验,每一个办法都有一个有意义的名字,并且办法十分短(最长的也只要几十行代码),代码只做了客户请求做的工作。
在那一刻,年青的开发人员是十分懊丧的,可是经历丰富的开发人员来了,他走到年青的开发人员的身边,一边走他本来一边现已在开端考虑怎么重构这些过错的代码。
在一起协作处理疑问的时刻里,年青的开发人员目击了经历丰富的开发人员一步步处理疑问的进程;有时分经历丰富的开发人员还会监督年青的开发人员编写代码。
几天今后,又一次发布标志着bug现已被修正了。形成bug的那有些代码片段如今现已进行了测验,不但易于阅读,并且十分安稳。经历丰富的开发人员看着年青的开发人员,问:“你如今应当理解了吧?”
年青的开发人员点点头。如今他的确理解了。想要完美,其要害并不是能够猜测未来,而是编写易于改动并通过测验的代码(这样,假如要改动代码的话才不会形成bug),并且只需求满意当时的需求。而当他意识到这一点的时分,他在无形之中,现已蜕变成为了“差不多”经历丰富的开发人员。
“咱们如今要重构全部项目吗?”年青的开发人员问。
“当然不!这又没有预算的。”经历丰富的开发人员直截了当地答复。
“可是,要是呈现其他bug怎样办?”年青的开发人员问。
“能够让自由职业者来处理那些疑问。”经历丰富的开发人员答复。
然后,“差不多”经历丰富的开发人员开端能写出优秀的代码,渐渐地向更高层次的水平接近。当然,这是另一个故事了。
关于年青的开发人员的主张:请回过头去看看你从前写的代码,假如你的代码如今看上去没有曾经感受的那么美丽,那么阐明你在前进。
关于经历丰富的开发人员的主张:当你的身边呈现了一个年青的开发人员,或许你需求不时地替他们拾掇烂摊子。假如你想摆脱这样的境况,那么就让他们赶快学会编写得当的代码。
关于自由职业者的主张:你或许应当进步你的报酬了:-P(文章来自南京欣才PHP培训机构http://www.thinksite.cn/index.php?m=content&c=index&a=show&catid=39&id=2718)