框架(库): 基础用法 -> 高级用法 -> 性能优化 -> 原理
学习路径: 抛出问题 -> 解释 -> 从原理角度全面分析
计算机技术的核心是:操作系统、数据结构和算法、编译原理、计算机网络、计算机图形学。
解决问题:
场景:
注意事项:
原理:
衍生:
- 可读性
- 更易于维护
- 更易于重构
- 更易于测试
- 更易于应用设计模式
- 复用性设计
- 可靠性设计
- 性能性设计
- 安全性设计
- 可服务性设计
Unix 哲学
Unix 哲学是一套基于 Unix 操作系统顶级开发者们的经验所提出的软件开发的准则和理念
主张组合设计,而不是单体设计;主张使用集体智慧,而不是某个人的特殊智慧
- 模块化
- 解耦、高内聚低耦合
- 开源
Peter H. Salus 总结的三条原则:
- 模块化(简单完备性), 降低软件复杂度:一个程序只做一件事,并做得很好。
- 代码库规模
- 技术复杂度
- 实现复杂度
- 组合思维, 应对多变的需求:高内聚,低耦合
- 解耦
- 模块化
- 数据驱动:代码和代码作用的数据结构分开
代码层次
- 正确
- 安全
- 可读
- 优雅
- 利他