伪代码的指导原则:
1、用类似的 英语来描述特定操作。
2、避免使用目标编程语言的语法元素来描述,伪代码能让你在一个比代码更高的层次上进行设计。当用编程语言的语法来描述时,你的伪代码设计就降到了一个更低的层次。
3、在意图的层面上去编写伪代码,用伪代码来描述该解决方法的意图,而不是去用目标语言去编写实现方法。
4、在一个和目标语言足够适合的层次来写伪代码,比如 一个伪代码语句能够代表当前 主流的高级语言c++/java/python等的一句目标代码。这样才能更加合适一句伪代码写目标代码。
(实际上如果代码的层次太高,就会掩盖代码中的问题的细节,应该不断的精化伪代码,加入更多的实现细节,直到看着伪代码就能自动写出目标语言代码为止)
良好风格的伪代码的好处:
(1)伪代码使得评审更加容易。无须查看源代码就可以评审设计细节。
(2)伪代码支持反复迭代精华的思想。从一个高层设计开始,把这个设计精化为伪代码,再将伪代码精化为源代码。
(3)伪代码使变更更加容易。
(4)伪代码能使给代码注释的工作量减少。
(5)伪代码比其他形式的设计文旦更容易维护。
伪代码可以转换为注释。
创建一个类
1、创建类的总体设计
定义类的特定职责,定义类所要要隐藏的秘密,精确定义类的接口所要表达的抽象概念;
决定这个类是否从其他类派生出来,或者其他类从该类派生;
指出这个类中的关键的公用方法,标识并设计出所需要用到的重要数据成员;
多次重复迭代设计,最终能直接设计出子程序为止;
2、创建类中的子程序
在编写子程序的时候还会引出更多的或者重要的或次要的子程序, 创建这些新加入的子程序的过程往往还会重新影响类的总体设计
3、复审并测试整个类
创建子程序的时候要经过测试,
在整个类可以工作之后,再对整体进行复查和测试。
用伪代码创建子程序
1、设计子程序
(1)检查先决条件。即查看盖子程序要做的工作是不是已经定义好了,是否与整个设计匹配等。
(2)定义子程序要解决的问题。
(3)为子程序命名。
(4)决定如何测试子程序。
(5)在标准库中搜寻可用的功能。
(6)考虑错误处理。
(7)考虑效率问题。
(8)研究算法和数据类型
(9)编写伪代码
(10)考虑数据,定义好关键的数据类型
(11)检查伪代码
(12)在伪代码中试验一些想法,留下最好的想法(迭代)。
2、编写子程序代码
(1)编写子程序的声明,把原有的头部注释便成为编程语言中得注释。
(2)把伪代码转变为某高层次的注释。写出“{”“}”,将伪代码转换为注释。
(3)在每条注释下面填充代码。
(4)检查代码是否需要进一步分解。如果几行伪代码展开之后形成了大量的代码,此时你可以考虑使用下面两种方法中得一种:
a)把这段注释下面的代码重构成一个新的子程序。
b)递归的应用伪代码编程过程。
3、检查代码:
(1)在脑海中检查程序中得错误。
(2)编译子程序。下面的建议有助于最大限度发挥编译子程序的功效:
- a)把编译器的警告级别调到最高。
- b)使用验证工具进行补充检查。
- c)消除产生错误消息和警告的所有根源。
(3)在调试器中逐行执行代码
(4)测试代码
(5)消除程序中得错误。如果你发现一段代码的毛病不是一般的多,那么请从头再来吧。
4、收复审并且测试代码
(1)检查子程序接口。
(2)检查子程序整体设计质量
(3)检查子程序中得变量
(4)检查子程序的语句和逻辑
(5)检查子程序的布局
(6)检查子程序的文档
(7)除去冗余的注释