创建类和子程序的步骤概述
创建一个类可以有很多不同的方式,但一般而言都是一个迭代的过程:先对一个类做总体设计,列出这个类内部的特定子程序,创建这些子程序,然后从整体上复查这个类的结果。
创建一个类的步骤
- 总体设计:定义类的功能,定义公开隐藏的属性方法,需要用到的数据成员,以及精确地定义类的接口所代表的抽象概念。
- 创建类中的子程序
- 复审并测试整个类
通常整个过程可能会经过多次的迭代。
创建子程序的步骤
一个子程序的大致设计过程如下:设计子程序,检查设计,编写子程序的代码,检查代码。
和类的设计一样,整个过程可能会重复多次才能得到一个准确设计好的程序。
下面正式进入正题
伪代码
伪代码设计:
- 用类似人类语言(中/英文)来精确描述特定的操作。
- 伪代码应该是比变成语言更高级的一种代码。
- 避免使用目标编程语言中的语法元素。
- 用伪代码去描述解决问题的方法的意图,而不是去写如何在目标语言中实现这个方法。
- 不断精化伪代码,知道看起来很容易直接写出代码
伪代码的好处:
- 可以更清楚的了解到代码潜在的问题。
- 使代码变更更加容易。
- 减少代码注释工作量。
- 比其他形式的设计文档更容易维护。
通过伪代码编程过程创建子程序
设计子程序
下面我们以一个输出错误信息的程序为例子一步步设计。
/*
* 伪代码:
* 代码功能:根据错误错误码输出错误信息,称他为ReportErrorMessage()。接收一个代表错误码的输入参数,输出与该错误码相对应的错误信息,返回一个表示操作成功与否的状态值。
*
* 1.检查先决条件:检查项目是不是真的需要这个子程序,是不是与整体设计相匹配。
* 2.定义子程序要解决的问题:陈述子程序要解决的问题,至少包括:
* 1.程序要隐藏的信息
* 2.输入参数以及是否正确(取值在特定范围内、有关的流已经关闭、缓冲区已经填满或清空等)
* 3.输出结果以及是否正确
* 在这个程序中:
* 1.该程序赢藏了两个信息:信息错误的文本和当前的处理方式。
* 2.该程序输入是一个错误码
* 3.有两种输出结果,首先是错误信息,其次是返回给调用方的状态值并保证状态值为Success或者Failure。
* 3.为子程序命名:清晰简单。
* 4.决定如何测试子程序:该程序可使用所有合法的以及一些非法的错误代码来测试ReportErrorMessage()。
* 5.在标准库中搜寻可用的功能:确保没有重复造轮子,代码重用率高也会提高代码质量。
* 6.考虑错误处理:考虑在子程序中所有可能出错的环节。该程序中可能出错的比如输入错误的错误码,输出状态不正确等。
* 7.考虑效率问题:根据所确定的资源及速度来设计子程序。
* 8.研究算法和数据类型:如果有类似的相关算法可以借用。
* 9.开始编写伪代码。
* 设置默认的状态 “Failure”
* 根据错误代码查找信息
* if 错误码有效
* 根据需求显示错误消息并声明成功
* else 通知用户检测到内部错误
* return 状态信息
*/
下面我们就可以编写子程序了。