zoukankan      html  css  js  c++  java
  • 《代码大全2》阅读笔记04Chapter 9 The Pseudocode Programming Process

    Chapter 9 The Pseudocode Programming Process
     伪代码编程过程

    9.1 Summary of Steps in Building Classes and Routines
     创建类和子程序的步骤概述
    Steps in Creating a Class
    创建一个类的步骤:
    1. 创建类的总体设计
    2. 创建类中的子程序
    3. 复审并测试整个类

    Steps in Building a Routine
    创建子程序的步骤
    设计子程序,检查设计,编写子程序代码, 检查代码。

    9.2 Pseudocode for Pros
     伪代码

    ·用类似英语的语句来精确描述特定的操作。
    ·避免使用目标语言中的语法元素。
    ·在本意(intent,意图)的层面上编写伪代码。
    ·在一个足够低的层次上编写伪代码,以便可以近乎自动地从它生成代码。

    9.3 Constructing Routines by Using the PPP
    通过伪代码编程过程创建子程序

    ·Design the Routine 设计子程序
     1. 检查先决条件
     2. 定义子程序要解决的问题
     3. 为子程序命名
     4. 在标准库中搜寻可用的功能
     5. 考虑错误处理
     6. 考虑效率问题
     7. 研究算法和数据类型
     8. 编写伪代码
     9. 考虑数据
     10. 检查伪代码
     11. 在伪代码中试验一些想法,留下最好的想法(迭代)。

    Code the Routine 编写子程序的代码 
    1. 写出子程序的声明
    2. 在每条注视下面填充代码
    3. 检查代码是否需要进一步分解
    4. 在脑海里检查程序中的错误
    5. 编译子程序
    6. 在调试器中逐行执行代码
    7. 测试代码
    8. 消除程序中的错误

    Cleaner Up Leftovers 收尾工作
    1. 检查子程序的接口
    2. 检查整体的设计质量
    3. 检查子程序中的变量
    4. 检查子程序中的语句和逻辑
    5. 检查子程序的布局
    6. 检查子程序的文档
    7. 出去冗余的代码

    Repeat Steps as Needed 根据需要重复上述步骤

    9.4 Alternatives to the PPP
     伪代码编写过程的替代方案

    1. 测试先行开发(Test-first development)
     测试先行是一种流行的开发方法,用该方法开发的时候,在任何代码之前先要写出测试用例。
    2. 重构(refactoring)
     重构也是一种开发方法,该方法通过对代码进行一系列保持语义的变换和调整来提高代码质量。
    3. 契约式设计(design by contract)
     认为每一段程序都具有前条件(preconditions)和后条件(postconditions)。
    4. 东拼西凑(hacking)
     
    Key Points 要点
    · 创建类和子程序通常都是一个迭代的过程。在创建子程序的过程中获得的认识常常会反过来影响类的设计。
    · 编写好的伪代码需要使用易懂的英语,要避免使用特定编程语言中才有的特性,同时要在意图的层面上写伪代码(即描述该做什么

    ,而不是要怎么去做)
    · 伪代码编程过程是一个行之有效的做详细设计的工具,它同时让编码工作更容易。伪代码会直接转化为注释,从而确保了注释的准

    确度和实用性。
    · 不要只停留在你所想到的第一个设计方案上。反复使用伪代码做出多种方案,然后选出其中最佳的一种方案在开始编码。
    · 每一步完成后都要检查你的工作成果,还要鼓励其他人帮你来检查。这样你就会再投入精力最少的时候,用最低的成本发现错误。

    Desire has no rest.
  • 相关阅读:
    Winform dataGridView 用法
    C# 网络地址下载
    C# 位数不足补零
    python中随机生成整数
    python中time模块的调用及使用
    Windows server 2016 2019远程端口修改操作
    linux查看所有用户的定时任务 crontab
    使用Docker基于Nexus3快速搭建Maven私有仓库
    Phoenix docker 测试
    mysql锁表处理
  • 原文地址:https://www.cnblogs.com/samcn/p/1409363.html
Copyright © 2011-2022 走看看