上QQ阅读APP看书,第一时间看更新
第2章 抽象层次
本章主要内容如下:
● 如何以清晰的抽象层次将问题分解为多个子问题;
● 抽象层次如何帮助我们实现代码质量的一些支柱;
● API(见2.3.1节)和实现细节;
● 如何用函数、类和接口将代码分解为不同的抽象层次。
编写代码就是解决问题——这些问题可能是高层次的问题,例如“我们需要一个系统,使用户能够共享照片”,也可能是较低层次的问题,例如“我们需要一些代码,求两个数字的和”。我们可能没有意识到一个事实:在解决高层次问题时,我们通常会将其分解为几个较小的子问题。“我们需要一个系统,使用户能够共享照片”这样的问题陈述可能意味着,我们需要解决保存照片、将其与用户关联并显示等子问题。
解决问题和子问题的方法很重要,但我们解决这些问题的代码结构同等重要。例如,我们应该将所有功能都放到一个庞大的函数或类中,还是将其分解为多个函数或功能?如果需要分解,我们又应该怎么做呢?
代码结构是代码质量的根本特征之一,好的结构往往能建立清晰的抽象层次。本章将解释代码结构的含义,并说明将问题分解为不同的抽象层次并构造代码以反映这些层次,能够极大地改善代码的可读性、模块性、可重用性、可推广性和可测试性。
本章和后面的章节通过许多伪代码示例来说明讨论的主题。在深入介绍这些示例之前,花一些时间解释本书中伪代码处理空值(Null)的惯例是很有必要的。2.1节将介绍这方面的知识。从2.2节起我们将介绍本章的主题。