背景
一直以来,总觉得告诉别人自己怎样写代码,会不太恰当,
因为每个人都有自己认为的较好的编码方式,并没有高下之分,
不同的无非是经历不同,见识各异罢了。
然而有些时候,一些高龄程序猿们,又容易变得像絮絮叨叨的老人一样,
激动的想向他人讲解自己的辛酸旅程,介绍它们见过的奇闻异事,
或者分享历史某个时间点上,自己雀跃的像孩童般的心情。
因此,才有了这一系列的文章,
意图向朋友们介绍,个人视角之下的某几个 “编程技巧”。
有些可能是有用的,有些也可能毫无帮助,止增笑耳。
总诀
小说中不少武学秘籍都有一篇《总诀》,其中记载了整本秘籍的指导原则。
如果我们把编程看做一种武功绝学的话,
那么我想也应该一些指导原则才行。
指导原则不应该太多,否则容易使人忘掉哪个才是真正的原则。
小时候玩过一款单机游戏,有个可以给主角加先天资质的桥段,让我印象深刻。
主角:老伯伯,你煮的菜好像都很好吃耶,闻起来都很香。
林厨子:其实啊,做菜没什么秘诀,只要有着一颗为食用者着想的心即可。
林厨子:一个厨师不能只想到要将自己的菜做得多色香味俱全,
而应该想着是什么人要吃你这道菜,怎样的口味是最适合他,而去调理。
因为这道菜终究是要给人吃的,而不是拿来观赏或评论的。
主角听完,略有所悟。
“为食用者着想的心” 作为编码原则,我想应该榜上有名吧。
技巧
有了 “总诀” 之后,剩下的就该谈谈 “技巧” 了,好比 “武学招式”。
特定的招式(或套路)其实并不是特别重要,因为达成目的通常会有很多不同的方式。
招式是由人创造出来的,当然也就可以由人来改造。
这让我想起了金庸武侠《笑傲江湖》中的对话,
风清扬道:“五岳剑派中各有无数蠢才,以为将师父传下来的剑招学得精熟,自然而然便成高手,
哼哼,熟读唐诗三百首,不会作诗也会吟!
熟读了人家诗句,做几首打油诗是可以的,但若不能自出机杼,能成大诗人么?”
风清扬强调的是 “自出机杼”,而不是因循守旧,
没有招式(技巧),难道就不能自己创造么?
我要表达的正是这个意思,
我们应该学会自创武功,总结出适合自己的技巧。
回到编码中来,其实每个人多多少少都有自己的技巧,
有不同的编码风格,
但要想更进一步的话,增长见闻应是必不可少的。
本系列文章,会介绍一些个人常用的技巧,朋友们可以随意改编,但求 “制敌有效”。
小结
以上,我介绍了本系列文章的写作动机,是想向朋友们分享编码过程中的种种体会,
本着 “为食用者着想的心” 作为指导原则,
我发现把代码写好,并不是一件容易的事情。
我计划这样安排,每篇文章介绍一个小技巧,
详细介绍产生这个技巧的动机,以及如何使用这个技巧。
这个过程中,会让我们重新反思代码本身,
改善自己的武功路数。
当然,最最重要的还是抛砖引玉,
每个人内心深处都藏着一套 “绝世武功”,只等着你想要去施展的那一天到来。