编码技巧(零):为食用者着想

背景

一直以来,总觉得告诉别人自己怎样写代码,会不太恰当,

因为每个人都有自己认为的较好的编码方式,并没有高下之分,

不同的无非是经历不同,见识各异罢了。


然而有些时候,一些高龄程序猿们,又容易变得像絮絮叨叨的老人一样,

激动的想向他人讲解自己的辛酸旅程,介绍它们见过的奇闻异事,

或者分享历史某个时间点上,自己雀跃的像孩童般的心情。


因此,才有了这一系列的文章,

意图向朋友们介绍,个人视角之下的某几个 “编程技巧”

有些可能是有用的,有些也可能毫无帮助,止增笑耳。

总诀

小说中不少武学秘籍都有一篇《总诀》,其中记载了整本秘籍的指导原则。

如果我们把编程看做一种武功绝学的话,

那么我想也应该一些指导原则才行。


指导原则不应该太多,否则容易使人忘掉哪个才是真正的原则。

小时候玩过一款单机游戏,有个可以给主角加先天资质的桥段,让我印象深刻。


主角:老伯伯,你煮的菜好像都很好吃耶,闻起来都很香。

林厨子:其实啊,做菜没什么秘诀,只要有着一颗为食用者着想的心即可。


林厨子:一个厨师不能只想到要将自己的菜做得多色香味俱全,

而应该想着是什么人要吃你这道菜,怎样的口味是最适合他,而去调理。

因为这道菜终究是要给人吃的,而不是拿来观赏或评论的。


主角听完,略有所悟。

“为食用者着想的心” 作为编码原则,我想应该榜上有名吧。

技巧

有了 “总诀” 之后,剩下的就该谈谈 “技巧” 了,好比 “武学招式”。

特定的招式(或套路)其实并不是特别重要,因为达成目的通常会有很多不同的方式。

招式是由人创造出来的,当然也就可以由人来改造


这让我想起了金庸武侠《笑傲江湖》中的对话,

风清扬道:“五岳剑派中各有无数蠢才,以为将师父传下来的剑招学得精熟,自然而然便成高手,

哼哼,熟读唐诗三百首,不会作诗也会吟!

熟读了人家诗句,做几首打油诗是可以的,但若不能自出机杼,能成大诗人么?”


风清扬强调的是 “自出机杼”,而不是因循守旧,

没有招式(技巧),难道就不能自己创造么?


我要表达的正是这个意思,

我们应该学会自创武功,总结出适合自己的技巧。


回到编码中来,其实每个人多多少少都有自己的技巧,

有不同的编码风格

但要想更进一步的话,增长见闻应是必不可少的。


本系列文章,会介绍一些个人常用的技巧,朋友们可以随意改编,但求 “制敌有效”。

小结

以上,我介绍了本系列文章的写作动机,是想向朋友们分享编码过程中的种种体会,

本着 “为食用者着想的心” 作为指导原则,

我发现把代码写好,并不是一件容易的事情。


我计划这样安排,每篇文章介绍一个小技巧,

详细介绍产生这个技巧的动机,以及如何使用这个技巧。


这个过程中,会让我们重新反思代码本身,

改善自己的武功路数


当然,最最重要的还是抛砖引玉,

每个人内心深处都藏着一套 “绝世武功”,只等着你想要去施展的那一天到来。