1.抽取不相关的子问题
把一般代码和项目专有代码分开。便于重用,减少读者关注的信息量。例如可以抽取一些纯数学计算公式出来。
- 纯工具代码
例如操作字符串,使用哈希表以及读写文件等等,大部分程序都会有这些操作。通常这些基本工具都是由编程函数基本的内置库实现的,如果没有或者你有更高效的方法,可以自己实现一个。创建大量的库,可以提高复用性,减小项目代码本身的体积。
- 项目专有的功能
除了一些非常通用的功能,项目本身一些不断被使用的基础的方法也需要被抽取出来,一方面简化代码,另一方面也方便自己或者其他开发人员。
- 简化已有接口
- 按需重塑接口
- 过犹不及
2.一次只做一件事情
应该把代码组织得一次只做一件事情。首先列出代码所作的所有任务,这个任务的概念可小可大,没有明确的定义,尽量把这些任务拆分到不同的函数中,或者至少是代码不同的段落。
3.把想法变成代码
你的代码可以使用自然语言描述清楚,注意描述中所用的关键词和短语,写出与描述所匹配的代码。
- 清楚得描述逻辑
- 熟悉函数库
4.少些代码
- 不实现那些不需要的功能。 (开发成本 维护成本)
- 质疑和拆分需求
减少需求,我们写的程序并不需要处理所有的输入,运行得很快,并且百分之百准确,有时候我们可以把它们削减成一个很简单得问题,也许可以减少大量得代码量。
5.保持小代码库
创建越多越好的工具代码来减少重复代码。减少无用代码或没有用的功能。让项目保持分开的子项目状态。
6.熟悉周边的库