从事编程工作这么多年,经常会有人问我什么样的程序是好程序
有的甚至把程序给我看让我给程序提提意见。而我从编程开始就踏上寻觅好程序之路。“路漫漫其修远兮 吾将上下而求索。”这好象正是我心历的写照。可以说追求编写好程序是我不变的目标。好的程序好的程序什么样程序是好的为什么这样程序是好的中国人从小就被“好坏”教育。面对任何事物他们都能给评出好坏来。评出结果出来无非让复杂事物简单化让人在第一时间能判别这件事好不好这件事能不能做好的就给与支持和赞美好的就想去做就想做好。反之。我就不说了。但是好坏两个字好写但是事物好坏的理由和标准却是绝对的复杂有时甚至绝对的对立。从某种意义上来说人类就是在事物的好坏上不断争斗中延续着自己。“白日依山尽黄河入海流欲穷千里目更上一层楼。”我们从小到大经历过无数次教育读过不知道多少本的书看过不知道多少篇文章能够记忆出来的能够背诵出来的能够打动自己心扉的那就是诗了。诗成了生活的浓缩、提炼和升华。而诗人则成为历代百姓文人追捧的对象。虽然现代诗处于动荡和衰败过程之中但是经过历史长河沉淀下来的名诗依然脍炙人口让人永生难忘几乎找不到一个连一句诗都不会说的人可见诗的魅力无穷。编写程序如同写文章有的人会写成报告有的人会写成小说有的人会写成杂文文体不限各显神通。但是我以为好的程序如同一首诗读起来行云流水韵味十足。诗中或工整对仗或错落有致或排比拟人或比喻夸张在程序中也能表现出来。程序和诗歌都有内容和形式两个部分。内容是本质反应了程序的功能反应了程序的设计水平。形式是表现反应了内容表述。好的程序应该象一首诗有好的内容有好的表现形式。我发现好程序和好诗歌一样都有一些要素这些两者要素有相当的共同点其要注意如下第一要素是要有逻辑。程序的逻辑从大的方面来说是反映了程序的结构结构清晰明了才能引人入胜例如有诗的格律如五言、七律等诗歌只能按照格式填写诗的格律就是诗的逻辑构架。程序的逻辑结构往往体现在时序上例如初始化处理、功能处理、结束处理。如此设计将使得程序更显逻辑。从小的方面来时是反映程序构架下的流程流程次序井然、前接后续才能使得程序执行顺畅。第二要素是用词。程序的用词一方面是指各种变量的命名方式另一方面是函数命名的方式。程序的用词应该用英语变量命名和函数命名其英文单词无论是用缩写还是全写都要符合大众的读者的习惯避免用生词、偏词、自造词。我们看到古今中外的名诗大都是用通俗易懂的词汇进行艺术组合而形成的。很少有非常用字出现。编程中要特别注意函数名中的主谓宾搭配让读者读起来更加上口。第三个要素是短小。编程如同编写文章好的文章如歌如诗其特点就是短小一般的五言、七绝只有四行就能包含一个很深刻的主题了。编写程序也是相同的道理要尽量让程序的行数减少。一方面要考虑在总的程序行数减少另一方面要增加函数使得函数里的语句行数减少。第四个要素是精炼。一首好诗能在几句话中就激发读者的情绪、鼓舞读者的斗志、展示大自然的美景揭示各种人生哲理。其中主要原因是诗人的能用精炼的词汇来表达诗的内容。对于编程来说精炼就是多用函数多用系统函数让各种功能都浓缩在函数之中。第五个要素是一致。一首好诗往往能读到排比、读到对仗这样的修辞手法。说到底者都是诗歌的一致性的要求。编写好的程序同样要注意一致性的要求例如我们尽可能采用相同的语句结构、相同的语句的缩进、相同的命名规则、相同的动词、相同长度的语句、相同计数变量、相同缓冲区变量、相同的处理函数、相同的处理流程等等。这些相同使得程序各个层次和各个方面看上去非常规范和一致。当我们能用写诗的要求去编写程序当我们能用诗朗诵的感觉去阅读程序我们的程序员将不再机械地编写那毫无生命的代码我们的程序员将充满激情谱写出一曲动人的乐章感动着自己也感动着读者。每一个代码充满着活力是跳跃的艺术音符无数个代码的组成却是流淌的诗一段一段一行一行给人以诗的享受。我们可能永远不能写出传世之诗我们却能够要求自己编写如诗的程序享受那种写诗的过程和情趣。 不断地追求诗的境界将会让我们的程序更加精炼、编程工作更加美好。