| | | | | | | [文章信息] | | | 作者: | 陶刚编译 | | 时间: | 2003-07-29 | | 出处: | yesky | | 责任编辑: | 方舟 | |
| [文章导读] | | | 把实际的编程问题概括为五个简单的步骤,以及在设计应用程序时如何以这五个步骤作为出发点...... | |
| |
|
| | | |
|
|
|
|
|
五个编程步骤
无论程序多么复杂,都可以被简化为五个基本的步骤。这些步骤是:
1. 初始化
2. 输入
3. 处理
4. 输出
5. 清除
下面我将更详细的介绍这些步骤。
初始化
设计程序时的初始化步骤是你必须思考的第一个步骤。初始化步骤包括在程序与用户交互前它必须做的所有工作。程序在与用户交互前执行一些操作似乎很奇怪,但是很多程序都是这样实现的。
例如,我们都使用过微软Word、Excel或类似的程序。在这些程序中,你知道可以点击"文件"菜单选项并且在该菜单的尾部可以看到最近使用过的文件列表。它们不是靠魔术跑到这儿的。该程序可能从磁盘数据文件读取最近使用的文件列表并且把该列表加到"文件"菜单。因为该列表在程序为用户显示信息前就被读取了,就必须在初始化步骤中处理。
初始化步骤的另一种普通的事务包括读取设置文件。这类设置文件可能包括查找某个数据库或其它磁盘文件的路径名称。根据程序的类型,设置文件可能包含显示字体、打印机名称和位置、前景色和背景色、屏幕分辨率等等。其它程序也许会读取网络连接信息、Internet访问和安全性特权、密码和其它的敏感信息。
在你自己的程序中,你必须考虑程序在工作前必须有哪一些类型的信息。如果你的设计需要任何设置信息或预备信息,初始化步骤就可能是处理它们的地方。
输入
输入步骤一般是你期待的。它是收集输入程序的任何信息以完成事务的步骤。在大多数情况下,如果你仔细思考程序要达到什么目的,那么定义输入列表就是相当简单的。例如,如果你编写一个贷款利息程序,你就知道需要询问用户贷款的总金额、利率和贷款的期限。
但是,在其它一些情形中,你必须思考应该让用户输入什么信息。例如,如果你编写一个地址薄程序,每次运行程序时,你真的要求用户每次都输入保存地址薄的磁盘文件的名称以及文件的位置吗?换句话说,有些输入步骤可以,也应该放入初始化步骤中。可以在初始化步骤中读取的信息量的种类依赖于程序的特性。但是,作为一条重要的规则,大多数用户希望重复的信息存储在设置或初始化文件中,而不是每次运行程序时重新输入。
输入来自于何处是设计决定的。设置文件很强大,在可以用到的时候应该尽量使用。很明显,其它的输入信息只有在用户输入的时候才可能知晓,就象我们常作的利息示例程序一样。在这些情形中,一般使用文本框向用户收集要使用的信息。因为用户必须与文本框交互为程序提供信息,文本框、标签、菜单和其它程序元素的放置方法定义了程序的用户界面的重要部件。
很多书本都说过如何设计有效的用户界面的。我没有办法评价其合理性。但是,它绝对不会伤害读完那些书的人。在本文中我谈到了很多用户界面设计的问题。
处理
处理步骤包含操作输入的信息以生成程序需要的结果。在贷款示例中,程序将接受输入(贷款量、利率和期限),把它们插入金融方程式中,解出方程式并输出想要的结果(每个月支付的金额)。处理过程接受输入,"压碎"它们,并产出问题的答案。
注意处理过程一般不会在屏幕上显示任何信息,它的唯一的目的是操作数据生成结果。但是也有一条值得注意的例外。如果你事先知道处理步骤将花费很长的时间,为用户提供一些信息表明程序正在运行是一条好主意。我们运行的程序一般有一个过程条表明手中的事务已经完成的百分比。另一个普通的例子是在完成前提供剩余时间的估计。大量的基于Web程序使用这种方法,在这些情况中必须有一些反馈表明程序仍然在工作。但是,在处理步骤相当快的情形中,为用户显示信息一般没有作用。
输出
从某种角度来说,这是程序的最重要的目的:为用户提供他们希望解决的任何问题的答案。我们的示例程序中的很多在文本框中显示答案。例如,如果你编写一个程序计算每个月贷款的支付金额,输出步骤的所有工作是把金额显示在文本框中。
但是,其它一些程序复杂得多。也许你运行程序从数据库中读取你的名字、地址、电话号码和其它的很多信息片断,接着把它们显示在屏幕上。这类复杂的程序可能需要成打的文本框来显示必要的输出信息。在有些情形中,在文本框中显示结果的效率不高。例如,使用grid或者list控件显示一个填充了客户数据的表可能更好。
输出步骤中要重点注意的是向用户显示结果,因此它也是用户界面的一部分。前面你看到输入步骤是用户界面中的一部分,因为它从用户那儿收集数据。在输出步骤中,用户界面与用户交互的方式更被动,但是在设计的时候也必须考虑用户的需求。用丰富的方法为用户显示信息几乎是艺术的表现。
清除
在某个程序完成了事务后,使用清除步骤"温和地"关闭它。你可以认为这个步骤与初始化步骤相对应。尽管很多简单的程序可以简单地关闭而不需要做进一步的操作,但是有一些复杂的程序可能需要一些帮助。例如,如果程序在初始化步骤中读取设置文件初始化了一些变量,清除步骤一般会使用用户最新的信息更新设置文件中的这些变量。
清除步骤一般与关闭磁盘数据文件(包括设置文件和数据库文件)相关。有些程序跟踪某个用户运行程序的时间并把这些信息写入日志文件。在日志文件中跟踪运行过某个程序的人的姓名、启动程序的日期和时间、停止使用程序的时间等并不罕见。
另一种日志文件称为错误日志文件。错误日志文件的目的是记录程序运行时所遇到的任何错误的信息。程序员可以使用错误日志文件的内容帮助自己调试程序。
清除步骤执行的实际事务依赖于程序本身。但是,有时候如果在初始化步骤中执行了一些操作,那么在清除步骤中也需要执行一些相匹配的事务。打开和关闭不同类型的磁盘文件就是这两步的普通的事务。
每个程序都需要这五个步骤吗?
所有的程序都需要这五个步骤吗?不。有很多示例程序不需要初始化和清除步骤。通常,初始化和清除步骤出现在很复杂的程序的设计中。
如果你有一定的编程经验,那么就知道哪些程序需要所有的五个步骤哪些不需要。但是,你在接近程序设计问题时应该假定所有的五个步骤都是必须的。在后面的设计中丢掉某些步骤比在设计未完成前把它们放入设计中容易得多。
|
|
|
|
|
|
|
|