【外评】软件复杂性的三大法则(或:为什么软件工程师总是脾气暴躁)
💡
原文中文,约1800字,阅读约需5分钟。
📝
内容提要
软件工程师面对复杂性的三个基本规律:设计良好的系统会退化为设计糟糕的系统,复杂性是一道护城河,填满了泄漏的抽象,软件复杂性没有基本上限。工程师在设计糟糕的系统上工作会更加痛苦。
🎯
关键要点
- 软件复杂性第一定律:设计良好的系统会随着时间的推移退化为设计糟糕的系统。
- 设计良好的系统易于修改,而设计糟糕的系统则难以改变。
- 软件复杂性第二定律:复杂性是一道护城河,由泄漏的抽象填满。
- 成功的系统往往是设计糟糕的系统,导致工程师在此类系统上工作。
- 软件复杂性第三定律:软件复杂性没有基本上限,受人类创造力限制。
- 系统的复杂性由多个开发人员的能力和理念决定,可能导致设计糟糕的系统。
- 工程师在设计糟糕的系统上工作将面临更多痛苦。
- 从零开始建立新系统是一种应对复杂性的方法,但实施难度较大。
➡️