Programming Pearls(编程珠玑)读书笔记之COLUMN 3:Data Structures Programs

这个专栏顾名思义,着重讲了数据的结构化对程序的重要性

开头就讲了一个很浅显的例子如下:

 

很显然应该用数组重新考虑这个问题。

另一个例子是Form-Letter Programming,一种常见的初级的输出语句可能如下所示:

 

这种方式不用动脑筋但是看起来很罗嗦,而且不够灵活。

如果要写出更加优雅的代码,首先要依赖于一个如下所示的form letter schema:

Welcome back,$1
We hope that you and all the members
of the $0 family are constantly
reminding your neighbours there
on $5 to shop with us.
As usual,we will ship your order to
$3 $1 $2. $0
$4 $5
$6, $7 $8

然后写一个通用的表格信件生成器(form letter generator):

 

这样一来,就把数据和控制分离开来,如果信件需要重新改动的话,只需要改动form letter schema即可,而不需要改动生成器。

文章最后提出了一些很有用的建议:

1. Rework repeated code into arrays. 实例可以参见第一个例子,此建议也就是常说的D.R.Y.(Don’t Repeat Yourself

2. Encapsulate complex structures. 当需要一个成熟的数据结构时,定义一个抽象的,然后扩展成类使用它。

3. Let the data structure the program. 这个专栏的主题就是数据可以使用合适的数据结构替换掉复杂的代码从而来结构化一个程序。因此在写代码之前,一个好的程序员会透彻地理解输入、输出和中间文件的数据结构。


全文完。EOF

/* 原创文章,本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: Swarm’s Blog*/

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]


无觅相关文章插件,快速提升流量