代码形式

这几年,编程的门槛变得越来越低了,

相关的软件开发知识也变得越来越普及,

似乎人人都可以写那么几段代码,这并不是什么难事。


然而,作为一门技巧

编程初学者和经验丰富的匠人,还是有所不同的,

这不仅体现在最终结果上,还体现在对代码本身的看待方式上。


我们都知道,代码主要的作用是实现功能

与他人合作的时候,代码还能起到沟通想法的作用。


因此,功能目标是重要的,实现方式是其次,

沟通的结果是重要的,沟通形式是其次。


本文打算对,代码如何实现功能的表现形式,进行探讨。


喜好

通常实现一段功能,我们可以用不止一种方式进行编程,

那么为什么最后我们选择了其中一种呢?

这是我们觉得代码有好坏之分


代码能体现开发者的品味


努力编写出一段看起来漂亮的代码,是一件好事,

但是这件事很容易做得适得其反

因为好坏的评判标准是模糊的,某些方面也是因人而异的。


简而言之,我们认为好的,别人不一定认为好。

别人认为好的,我们也许不这么认为。


所以,虽然追求把代码写好是一种好习惯

但是如果过于追求代码形式,就会浪费很多时间,

而且还不能达到预期的效果。


返工

很多人在写代码的时候,会持续不断的对它进行改动,

以便让代码在每时每刻都保持“优雅”


我认为这是不必要的。

因为这在无形中增加了很多工作量。

而且我们这次的改动,未必不会在以后再被改回去


我们应当认识到这是一种返工现象。


那么,如何才能避免最终代码脏乱差呢?

一个推荐的办法就是“写两遍”。


在个人开发过程中,我们可以随意发挥,先把功能做完

然后在代码提交之前,重新阅读一下自己的代码,

最后一口气把它改好。


这样会减少大量的返工,还能保证最终的代码质量。


如果一次修改的代码量太大呢?

这说明我们一次提交的东西太多了,需要分多次提交,

每次提交“写两遍”。


重写

看到自己写的代码就非常喜欢,看到别人写的,就觉得很不舒服,

这是正常现象。

但是忍不住修改别人的代码,使他变成自己喜欢的方式,

这就不正常了。


这有几方面值得考虑,

首先,单纯修改代码的表现形式,价值并不明显,

也没有明显的证据表明,新代码比旧代码更好维护。


此外,代码一方面是实现功能,另一方面是沟通实现意图

既然这两方面的目的都达成了,

就没有必要再修改其表现形式


值得一提的是,不对现有代码进行充分了解就去修改,这种行为非常危险。

很容易出现故障,也不见得能比现有代码写的更好,

觉得脏乱差,很可能是现有代码需要照顾到的细节太多了,

我们脑海中的优雅代码,可能是暂时没考虑这些细节怎么处理。


最后,一个旧系统的现有代码量其实是很大的,

短时间内我们不可能将它完全改掉,这需要我们重写所有的业务逻辑,

因此,学会如何在现有代码的基础上工作,是开发者必备的一项技能。


所以,对现有代码,我们应该保持敬畏态度,

除非从业务上来看,有了巨大的修改,现有代码必须删掉重写,

否则,不要轻易重写它。


结语

希望本文能帮助对代码有洁癖的强迫症患者们,尽早摆脱纠结,

跳出代码形式的狭小领域范围,

早日避开写法问题。


况且,如果真要追求可读性和可维护性的话,

没有什么比当面讲解和丰富的文档更直接有效了,

从代码反推逻辑的话,再好的代码也无法还原当初的设计意图。


不要过于注重形式,要看意图

需要达成什么目的,达到了没有,

还有哪些需要改进的,当前改进是否有成效


我们已经在成效甚微的事情上浪费了太多时间,

是该放下包袱轻身前进了。