B.Meyer 认为,软件工程师应当掌握的13个基本原理是:
01. Abstraction 抽象
02. Distinction between specification and implementation
区分规格说明与实现的差异
03. Recursion 递归
04. Information hiding 信息隐蔽
05. Reuse 重用
06. Batting complexity 有效地应对复杂性
07. Scaling up 可伸缩的递增开发
08. Designing for change 适应变化的设计
09. Classification 分类
10. Typing 类型化
11. Contracts 功能抽象
12. Exception handling 异常处理
13. Errors and debugging 排错与调试