JavaScript程序设计:基础·PHP·XML
上QQ阅读APP看书,第一时间看更新

1.1.2 程序开发周期

创建计算机程序的一般过程模仿前面概略说明的通用问题解决策略:理解问题、设计计划、执行计划和检讨结果。当使用计算机程序解决问题时,这个策略采取下列形式。

1)分析问题。确定给你什么信息、需要得出什么结果以及为获得这些结果可能需要什么信息,也就是大体上来说:如何对已知数据进行处理得到需要的结果。

2)设计解决问题的程序。这是程序开发过程的核心步骤。依赖于问题的难度或复杂度,可能需要一个人数小时或者一个大的程序员团队好几个月才能实现这一步骤。

3)编写程序。以特定的计算机语言编写语句(程序代码)来实现第2步制订的设计方案,这一步的结果是程序。

4)测试程序。运行程序查看是否实际解决了问题。

这个分析、设计、编码和测试过程构成程序开发周期的核心部分。与通用的问题解决过程类似,当在后续步骤发现缺陷时我们通常必须返回到前面的步骤,因此上述4个步骤构成一个周期。

强调第4步:大量地测试程序

当收到老师反馈说程序没有正确运行时,学生通常会觉得惊讶和难过,因为这个程序可能在学生的计算机上运行得很好。通常,这是不充分测试的结果。当编写程序需要用户输入或者使用其他程序产生的数据时,应该想象程序可能遇到所有可能的输入类型。需要程序输出6个随机数的彩票例子第一次可能正确地运行,生成6个不同的数,然而由于初始解决方案没有考虑重复数的情况,所以这个程序不能正确执行。

例如,如果编写的程序是为用户输入的数计算平均值,那么要测试输入不是数字的情况。如果编写的程序要求用户输入名字,那么要测试以下输入情况:包含数字的名字、包含特殊字符(如连字号或标点符号)的名字或非常长的名字(如Throckmortonsteinbrunner)。在花费几个小时编写、调试和修改程序后,直到为程序能够工作而欢呼,这是一件极具诱惑力的事情。但是为了避免令人为难的情形或者更糟糕的情况(如指针丢失),在程序开发周期的测试阶段多花点时间是很重要的。

1.1节检查点

1.1 列出本节描述的通用问题解决策略的步骤。

1.2 提供从你学校去你家的精确指引。

1.3 列出程序开发周期的步骤。

1.4 假定要编写一个程序,要求用户输入一个含有4~8个字符的密码,密码可以包括数字、大小写字母,但不许使用标点符号和空格。作为程序员,列出编写程序之后要测试的4件事情。