一、代码和数据
程序世界的两个基本元素
1.程序世界两个基本元素是代码和数据;
2.数据和代码相互伪装:
- 有的看起来是代码的,实际上是数据 。例如:bool flag = true; true属于代码,这里是数据
- 有的看起来像数据,却是代码
- 有的代码在特定时候,可以充当数据。
- 函数指针是一种特殊的数据,这种数据不会返回给用户。它的作用只是为了更加灵活地处理数据。
代码和数据的关系
1.数据是目的,代码是手段,代码永远是为数据服务的。
2.有什么样的数据,决定了会有什么样的代码。
有的系统对数据要求万无一失,有的系统可以产生一些bug,这样反而提升性能;有的系统虽然数据量大,但是数据比较静态,而有的系统需要实时处理大并发数据......
我们需要记得的是代码是为了匹配数据的要求。
启发
如果重构一个系统,抓不住头绪,可以从数据的角度重新梳理和思考,站在数据的角度去理解这个系统。