软件开发的一个基本事实是:你需要写代码。但是一个***的概念误区是“写代码就是我的工作”。当我开始我的软件开发者生涯时,我就陷入了这个误区。代码是强大的,它能让你做许多事情,你觉得自己是有效率的,觉得自己完成了工作。然后,这些年来我学到了事情的真实的本质:一个程序员的工作的本质是写尽可能少的代码。
不要误解我的意思。我不是说我们应该把压缩代码,以尽量少敲键盘为目的,从而让写出来的代码根本无法理解。当你想到,作为一个程序员,你的绝大部分时间将用来维护你写的可怕的代码这一事实的时候,你就会觉得“写更少的代码,不要让自己写的代码给自己更来更大的工作量”这一原则是一个非常不错的主意。
为什么?
想想你的工作。想想你使用的工具,看看你喜欢用来开发的框架。你做的每件事,你使用的每件工具,都是为了让你写更少的代码。你的工具能让你犯更少的错误,并且把那些可能会给你带来麻烦的底层细节都抽象出来。
那么,为什么你需要写更少的代码?前文中我说:你的工作就是写更少的代码。其实我没有说出真相。你的真正的工作是思考。你的工作是思考要解决的问题,设计一个优雅的解决方案,然后把这个方案变成软件。而开发软体的一个副产品是,你需要通过写代码来解决问题。
代码是副产品
代码并没有那样重要。之所以我们喜欢让自己那样认为,是因为当我们开始干活、把解决方案变成代码时,写代码看来就好像即是手段,又是目的。我们谈论自己使用的编辑器,谈论我们使用的编程语言和我们的编程环境。我这样做过,你这样做过,我们都这样做过。诚然,享受你的工作带给你的快乐是无可厚非的,但是你要意识到:代码是很棒的,但它同样是你的敌人:写代码花掉你大量的时间,它可能有各种 bug,它可能很难理解,或者不够鲁棒。
这就是我为什么坚持“写更少的代码”的原因。当我觉得一些东西变得超出需要的烦琐、或者比它原本的样子更复杂时,我告诉自己“写更少的代码”。当我写了太多的代码以至于很难在上下文中理解它们时,我就重构,清理,坚持想着“写更少的代码”。
虽然让我很痛苦,但不得不说:有时写大量的代码是无法避免的。但是,当你不能保持简洁(concise)时,保持清晰(clear)。“写更少的代码”是就写干净(clean)的代码,写清晰(clear)的代码。当你写的代码足够简练时,你的程序的目的就变得更加清楚。
那么,这一课的经验是什么呢?我认为最重要的是“代码只是一个副产品”,它是你在你工作的过程中不可避免要创造出来的东西。因此,多思考,多重构,去掉一些老旧的代码,写更少的新的代码,给自己一个机会,从今天开始。
原文链接:http://news.cnblogs.com/n/148345/
【编辑推荐】