《代码的艺术》阅读笔记
一流代码的特性
正确和性能
可读和可维护
共享和重用
运维和运营
好的代码是多个环节共同的结果
需求分析和系统设计
需求分析:
定义系统/软件黑盒的行为(external what)
需求需要用精确的数字来进行刻画
系统设计:
设计系统/软件白盒的机制(internal how& why)
trade-off
接口
系统对外的接口,比系统实现本身还要重要
模块对外的函数接口
平台对外的API
系统间的通信协议
系统间存在依赖的数据
代码也是一种表达方式
软件的维护成本远高于开发成本
现在,代码主要是写给人看的
系统->子系统->模块->函数
模块
怎么切分模块是一个需要慎重考虑的事情
切分模块的角度:数据类模块/过程类模块
写程序要以数据为中心考虑
好的模块划分是软件架构稳定的基础