目录:

1、创建类和子程序的步骤概述

2、伪代码

3、通过伪代码编程过程创建子程序

4、伪代码编程过程的替代方案

一、创建类和子程序的步骤概述

(1)创建一个类的步骤

1、创建类的总体设计

2、创建类中的子程序

3、复审并测试整个类

(2)创建子程序的步骤

二、伪代码

(1)用类似英语的语句来精确描述特定的操作

(2)避免使用目标编程语言中的语法元素

(3)在本意的层面上编写伪代码

(4)在一个足够低的层面上编写伪代码

三、通过伪代码编程过程创建子程序

3. 1、设计子程序

(1)检查先决条件

(2)定义子程序要解决的问题

(3)为子程序命名

子程序要隐藏的信息

传给这个子程序的各项输入

从该子程序得到的输出

在调用程序之前确保有关的前条件成立

在程序将控制权交回调用方程序之前,确保其后条件成立

该子程序隐藏了两项事实:错误信息的文本和当前处理方式

对于这个子程序,没有任何可保证的前条件

给该子程序的输入数据是一个错误码。

存在两种输出 首先是错误信息,其次是返回给调用方程序的状态值

该子程序保证状态值或者为Success或者为failure

(4)决定如何测试子程序

(5)在标准库中搜寻可用的功能

(6) 考虑错误处理

(7)考虑效率问题

(8)研究算法和数据类型

(9)编写伪代码

(10)考虑数据

(11)检查伪代码

2、编写子程序代码

(1)写出子程序的声明

(2)把伪代码转变为高层次的注释

(3)在每条注释下面填充代码

(4)检查代码是否需要进一步分解

3、检查代码

(1) 在脑海里检查程序中的错误

(2)编译子程序

(3)在调试器中逐行执行代码

(4)测试代码

(5)消除程序中的错误

4、收尾工作

检查子程序接口

检查整体的设计质量

检查子程序中的变量

检查子程序的语句和逻辑

检查子程序的布局

检查子程序的文档

除去冗余的注释

5、根据需要重复上述步骤

四、伪代码编程过程的替代方案

1、测试先行开发

2、重构

3、契约式设计

4、东拼西凑

第九章伪代码编程过程 The PseudoCode Programming Process的更多相关文章

  1. python3-cookbook笔记:第九章 元编程

    python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...

  2. C++ Primer第九章课后编程问题

    1. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3V1Z2xlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0J ...

  3. Android初级教程理论知识(第九章多媒体编程)

    多媒体概念 文字.图片.音频.视频 计算机图片大小的计算 图片大小 = 图片的总像素 * 每个像素占用的大小 单色图:每个像素占用1/8个字节 16色图:每个像素占用1/2个字节 256色图:每个像素 ...

  4. 第九章-IO编程

    IO是输出输入的意思 在计算机中常用到的数据交换的地方是磁盘, 网络等 输入流是从外面(磁盘, 网络)流进内存 输出流是从内存流到外面(磁盘, 网络) 同步IO是指等待IO完成再继续执行 异步IO是在 ...

  5. [转]Windows Shell 编程 第九章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987969】

    第九章 图标与Windows任务条 如果问一个非程序人员Windows最好的特色是什么,得到的答案应该是系统最有吸引力的图标.无论是Windows98现在支持的通用串行总线(USB)还是WDM(看上去 ...

  6. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第九章:贴图

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第九章:贴图 代码工程地址: https://github.com/j ...

  7. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

  8. Java编程思想 第九章 接口

    第九章 接口 抽象类和抽象方法 抽象:从具体事物抽出.概括出它们共同的方面.本质属性与关系等,而将个别的.非本质的方面.属性与关系舍弃,这种思维过程,称为抽象. 这句话概括了抽象的概念,而在Java中 ...

  9. JavaScript DOM编程艺术-学习笔记(第八章、第九章)

    第八章 1.小知识点: ①某些浏览器要根据DOCTYPE 来决定页面的呈现模式(标准模式 / 怪异模式--也称兼容模式): 兼容模式意味着浏览器要模仿老一辈的浏览器的怪异行为,来让老站点得到运行,并让 ...

随机推荐

  1. jQuery基础知识准备

    一. 代码风格在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号"$"来起始的.而这个"$"就是jQuery当中最重要且独有的对象:jQu ...

  2. JavaScript函数表达式

    函数表达式的基本语法形式 var functionName = function(arguments){ //函数体 } 递归建议 我们通过例子来一步步说明,递归的最佳实现方式.下面是普通递归调用的例 ...

  3. 拓扑排序 - 并查集 - Rank of Tetris

    Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球 ...

  4. WAF攻防研究之四个层次Bypass WAF

    从架构.资源.协议和规则4个层次研究绕过WAF的技术,助于全方位提升WAF防御能力. 绕过WAF的相关技术研究是WAF攻防研究非常重要的一部分,也是最有趣的部分,所以我在写WAF攻防时先写攻击部分.还 ...

  5. MySQL模糊查询

    第一种最土的方法:使用like语句第二种用全文索引 有两种方法,第一种最土的方法:使用like语句第二种听涛哥说用全文索引,就在网上搜一下: 如何在MySQL中获得更好的全文搜索结果 mysql针对这 ...

  6. # 20145205《Java程序设计》第2周学习总结

    教材学习内容总结 本章的学习内容主要是关于变量,在java编写中各个不同的变量定义,关于数字,根据范围不同所分的 -128~127的byte -32768~32767的short -214748364 ...

  7. hihoCoder 1183 连通性一·割边与割点(Tarjan求割点与割边)

    #1183 : 连通性一·割边与割点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢 ...

  8. Canvas里绘制矩阵文字

    效果如下 实现方法: [ [0,0,1,1,1,0,0], [0,1,1,0,1,1,0], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1,1,0,0,0,1,1], [1 ...

  9. c++代码中,使用svn版本号作为程序版本号的实现方法

    1.编写版本模板文件 #ifndef _VERSIONSVN_H_#define _VERSIONSVN_H_#define VER_REVISIONSVN $WCREV$#endif //!_VER ...

  10. springboot+dubbo

    使用springboot搭建dubbo服务,首先封装出springboot-dubbo的项目,引入在服务上加直接@Service直接使用,方便于拆封统一管理. package hello.dubbo. ...