软件开发的一个最基本的事实是写代码,但是最大的误区之一就是把写代码当做工作。当我作为一个程序员第一次参加工作的时候,就犯了这样的错误。老实说,写代码真的是一件特有意思的事,它的强大功能,它的多种作用等等都让我有一种挥斥方遒的豪情壮志,倍有满足感。但是经过这么多年在这个行业沉浸,我才终于发现了这个真理:软件开发人员应该尽可能地少写代码。
不过,可别误解我的意思,我可不是说我们应该死命地压缩代码,像“代码高尔夫”竞赛那样,步步为营,搞得最后自己写出来的代码自己都不理解了。我的意思是,我们现在大多数的时间都用在了写大段大段的可怕代码上,少写代码其实就意味着给自己减轻工作负担。怎么样,听上去是不是像夏娃的蛇果一样诱人?
原因
环顾四周,看看你的工具,看看你的框架,正是依靠这些我们才能搞定我们手头的工作。所有你使用的工具,所有你做的尝试,这所有的一切归根究底都是朝着“少写代码”的目标而前进的。工具可以让我们少犯错,扫掉会导致麻烦的垃圾。
那么,为什么要少写代码呢?首先我得承认,我前面所说的软件开发人员的任务就是少写代码这一点有点言过其实了。事实是,软件开发的任务应该是思考,思考手头的问题,设计出一个完美的解决方案,然后再把这个方案转变成可供用户使用的软件。而写代码仅仅是在这一系列步骤最后一步——写成软件——这一过程中产生的副产品。
代码就是一个副产品
其实代码没有我们想象的那么重要。为什么呢?因为当我们将方案转化成软件时,写代码仅仅是一个手段而已。在日常生活中,我们会说说编辑器,谈谈编程语言,聊聊工作环境。我会这样做,他会这样做,大家都会这样做。享受我们从事的工作所带来的成果并不可耻。不过关键要保持专注。代码的确是个超级棒的工具,但是它从有的角度来看也是个麻烦:我们得花大量的时间去写,一不留神就容易出现 bug,光看代码还不甚明了,并且不甚耐用,需要维护等等。
这就是文章题目我提出“少写代码”的原因。当有时候我感觉事情越来越繁琐,远远超过原先的预计,或者最后的成果过于复杂,我会提醒自己“我需要少写代码”。不论何时,要是我的代码在上下文中放不下了,我会毫不犹豫地删掉重构。与此同时,心中一直默念着这个原则:我要少写代码。
如果代码乱糟糟的一坨堆在那里,而这时候如果我不得不浏览这些玩意儿的时候,我会异常痛苦。少写代码也意味着写好的代码清清楚楚,明明白白。如果我们大家都可以简练地写代码,那我写这篇文章的目的就达到了。
最后,本文想说明什么呢?我觉得,最最重要的是,我们的代码只是一个副产品,是在软件开发过程中产生的,而对此,我们难以避免,唯有选择接受。不过,我们可以做的是,多多思考,好好重构,及时删掉过时的代码,代之精简的新代码。好吧,各位,改变从今天开始,加油!