《代码大全》阅读笔记-9-伪代码编程过程

一个类的创建过程可以千变万化,但基本上都会以下图所示的顺序发生:

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

  • 测试先行开发/测试驱动开发:在任何代码之前先要写出测试用例
  • 重构:通过对代码进行一系列保持语义的变换和调整来提高代码的质量。
  • 契约式设计:认为每一段程序都具有前条件和后条件,用断言来注解并验证前条件和后条件
  • 东拼西凑

核对表(伪代码编程过程)

  • 是否检查过已满足所有的先决条件?
  • 定义好这个类要解决的问题了吗?
  • 高层次的设计是否足够清晰?能给这个类和其中的每一个子程序起一个好名字吗?
  • 考虑过该如何测试这个类及其中每一个子程序了吗?
  • 关于效率的问题,你主要从稳定的接口和可读的实现这两个角度考虑吗?还是主要从满足资源和速度的预期目标的角度考虑过呢?
  • 在标准函数库或其他代码库中寻找过可用的子程序或者组件了吗?
  • 在参考书籍中查找过有用的算法了吗?
  • 是否用详尽的伪代码设计好每一个子程序?
  • 你在脑海里检查过伪代码吗?这些伪代码容易理解吗?
  • 关注过那些可能会让你重返设计的警告信息了吗?(比如说关于全局数据的使用,一些看上去更适合放在另一个类或子程序中的操作等)
  • 是否把伪代码正确地翻译成代码了?
  • 你反复使用伪代码编程过程了吗?有没有根据需要把一些子程序拆分成更小的子程序?
  • 在作出假定的时候有没有对它们加以说明?
  • 已经删除掉那些冗余的注释了吗?
  • 你是否采取了几次迭代中最好的那个结果?还是在第一次迭代之后就停止了?
  • 你完全理解你的代码了吗?这些代码是否容易理解?

要点

  • 创建类和子程序通常都是一个迭代的过程。在创建子程序的过程中获得的认识常常会反过来影响类的设计。
  • 编写好的伪代码需要使用易懂的英语/自然语言/人话,要避免使用特定编程语言中才有的特性,同时要在意图的层面上写伪代码(即描述该做什么,而不是要怎么做)。
  • 伪代码编程过程是一个行之有效的做详细设计的工具,它同时让编码工作更容易。伪代码会直接转化为注释,从而确保了注释的准确性与实用性。
  • 不要只停留在你所想到的第一个设计方案上。反复使用伪代码作出多种方案,然后选出其中最佳的一种方案开始编码。
  • 每一步完成后都要检查你的工作成果,还要鼓励其他人帮你来检查。这样你就会在投入精力最少的时候,用最低的成本发现错误。
posted @ 2018-04-04 00:49  Tacey Wong  阅读(561)  评论(0编辑  收藏  举报