今天阅读的是《代码大全》的第9章——“伪代码编码过程”。
看罢本章,我对于编程的方式方法又有了新的认识。可谓是我认为收获最大的一章。决心按书中的方法去自己实践一下。
正如作者在这一章末尾提到的,“这本书的一个目的就是告诉你如何脱离那种先东拼西凑,然后通过执行来看代码是否工作的怪圈”(就我自己写代码的过程来看。与这样的方式很相似),在没有全然想好类和子程序的详细功能和流程就開始编码的结果就是做出一个勉强能执行的程序。它可能漏洞百出。但你不知道问题到底出在哪里,要改进仅仅能从头再来。
因此,想要写出高质量、逻辑清晰的程序,有必要在设计阶段通过伪代码这样的方式给出类和子程序的功能和流程,在确认没有问题之后再使用合适的语言将它实现为代码。
作者对于怎样有效的使用伪代码来构建程序给出了具体的描写叙述。我将它归纳例如以下:
1、编写一个程序的过程应当包含类的整体设计、创建类中的子程序(即类的一些方法)、复审并測试整个类。
在全部类都顺利编写完毕后,整个程序的编写也就完毕了。
2、子程序的创建步骤包含设计子程序、检查设计、编写子程序的代码、复审并測试。
3、“伪代码”是指某种用来描写叙述算法、子程序、类或完整程序的工作逻辑的、非形式的、类似于英语的记法(我们用汉语也是能够的)。
4、伪代码使评审更easy,你无须检查源码就能够评审细节设计。
5、伪代码支持重复迭代的精化的思想。
从一个高层设计開始。把这一设计精化为伪代码,然后再把伪代码精化为源码。
6、伪代码比真实的代码更easy改动。好比你是愿意在蓝图上改一条线还是愿意在墙面上动工?
7、伪代码能使给代码作凝视的工作量减到最少。在典型的编码过程中,人们都是先写出代码,然后加入凝视。
而在伪代码编程过程中,伪代码的语句将会变为代码中的凝视。(这是我最赞赏的一点,既能优化代码的质量。又能降低不必要的劳动)
8、伪代码编码过程包含检查先决条件(要做的工作是否已经定义好),定义子程序要解决的问题,为子程序命名,在标准库中搜寻可用的功能,考虑错误处理,考虑效率问题,研究算法和数据类型。最后是编写伪代码。
9、子程序的编写过程包含先写出子程序的声明。把伪代码转变为高层次的凝视,在每条凝视以下填充代码,检查代码是否须要进一步分解(伪代码展开后规模较大)。
10、在脑海中检查程序中的错误,在检查后再编译子程序。在构建过程的后期才開始编译可以带来非常多优点。第一次编译完毕以后。你就会開始给自己施压了,觉得下一次编译就能解决这个问题,下意识得開始“东拼西凑”。
假设你没有陷入这样的怪圈。就在你觉得合适的时候再去编译吧。(如今还没有非常深的理解,编程经验还不足)
PS:后面再写HTML小游戏我就会開始使用这样的构建方法了