当你第一次思考成为一个成都软件开发人员,你也许会梦想着创建让人兴奋的新功能,玩最新的技术,写一些非常酷和有趣的代码。

你也许不会想到一个10年左右,由一些离开公司很久的人写的复杂的应用,去修复他留下的bugs。

真相就是,在软件开发生涯中,比起写新代码,你将花多得多的时间在维护代码上。那就是生活。无法回避的事。

现实是你将吧不只会维护数十年前写的老的VB6应用。事实上,也许你将维护的大量代码是你自己写的。

所以,如果你能学会下面两件事的话挺不错的。

成都软件开发

第一,要知道如何适当的维护代码以便它不会随着时间变得越来越糟直到它最后崩溃。第二,需要学会如何写好代码,让它变得容易维护,以便之后的开发人员不会因为维护你的代码而跟踪你,到你家,然后在你睡着的时候把你kill了。

在这篇文章里,我们将讨论为什么学会如何维护代码和写可维护的代码是这么的重要,我还将给你一些实用的建议,关于如何一起做这两件事。

听上去不错吧?

你生涯的大部分时间将花在维护代码上

我已经提到过这个,值得再次提起是因为它是那么的真实:不管以这样或那样的形式,你总要去维护代码。

新的软件一直在被创造,但是每个新的软件应用总是被期望能有长一点的寿命,希望可以比用来创建它的时间长一点。

这意味着,比起新软件总会有更多老的软件——除非我们不断有新软件流入,更重要的是在同时有一把老软件相继消亡,不过这不太可能发生。

老软件就在那,需要不断的提高和维护。客户会发现bugs需要修复。新功能需要增加或者现有的功能需要修改。软件产品像是一个活着的,会呼吸的生物,永远在成长和改变或者逐渐死亡。

为什么我告诉你这些?只是想把你的希望摁到墙上吗?不是。我只是希望在你作为一个软件开发人员的生涯里,对你所要做的有一些现实点的期望。

遇到热心的、善意的人事主管会给工作描绘一幅色彩斑斓的未来,告诉你你将要用最新的技术,从头设计和编写一个品牌新系统。

虽然你的一些工作是这么做,但往往不是,大部分工作——无论它听上去多么好——将包含维护一个现有的系统,这就是你毕生的事业。

这是不是意味着你永远不能找到一份工作,让你完全从头写一个新系统?不是,这一定会发生的,但是不能永远这么期望。即便你这么做,在某个时间点上,你或者某人需要维护那份代码。这就是全部。

好的开发人员写好维护的代码

现在你已经设立了期望,我将试着鼓励你写“你所能写的最容易维护的代码”,因为它只是做一个漂亮的事情。

成都软件开发(2)

在我作为软件开发人员并与软件开发人员一起工作的许多年里,我发现一个无可争议的事实就是:好的开发人员写高可维护的代码。事实上,我会说判断一个程序员的唯一标准就是:他的代码好不好维护。

这也许看上去很蠢。你也许会想我只是为了在这一章瞎扯我的观点——不过我将告诉你。究竟是为什么。

好的软件开发人员知道,他们写的任何代码,大部分时间都将会花在维护阶段。好的开发软件人员知道他们写的最有价值的代码是持续最久的代码,并且不需要废弃和重写。而不是变得聪明或者尽可能快或者有效率,好的开发软件人员优化维护性。

他们写的好的、干净的代码可以很简单理解、修改和维护。他们创建灵活的设计是松耦合的,以便系统里一个东西改了,不会影响系统里的其他的组件。他们格外小心确保他们所做的有相关文档并且尽可能好理解,无需多加说明。他们花足够的时间看别人的代码——或者他们自己的——并且试图维持它们,他们知道他们能写的最好的代码就是最容易维护的代码。

评论

电子邮件地址不会被公开。