。所有这些讨论都是有价值的,但是软件设计的核心问题在很大程度上仍然没有触及。David Parnas的经典 ...
年必读书籍推荐:软件设计的哲学 A Philosophy of Software Design ,本书 多页,豆瓣的点评分在 分以上,目前只有英文版本,中文版还未上市,英文好的同学建议去直接阅读原版。 作者简介 John Ousterhout是斯坦福大学计算机科学教授。他目前的研究重点是新的软件堆栈层,以允许数据中心应用程序利用具有微秒级延迟的通信和存储技术。Ousterhout之前曾在工业界工 ...
2019-12-18 18:47 0 2411 推荐指数:
。所有这些讨论都是有价值的,但是软件设计的核心问题在很大程度上仍然没有触及。David Parnas的经典 ...
2020年必读书籍推荐:软件设计的哲学(A Philosophy of Software Design),本书190多页,豆瓣的点评分在9分以上,目前只有英文版本,中文版还未上市,英文好的同学建议去直接阅读原版。 内容简介 书中讨论了软件设计的主题:如何将复杂的软件 ...
目录 设计软件是困难的,所以你对如何构建一个模块或系统的最初想法不太可能产生最好的设计。如果您为每个主要的设计决策考虑多个选项,您将得到一个更好的结果:设计两次。 假设您正在为GUI文本编辑器设计管理文件文本的类。第一步是定义类将呈现给编辑器其余部分的接口;与其选择 ...
目录 20.1 如何考虑性能 20.2 修改前的测量 20.3 围绕关键路径进行设计 20.4 一个示例:RAMCloud缓冲区 20.5 结论 到目前为止,软件设计的讨论都集中在复杂性上,我们的目标是使软件尽可能的简单和易懂。但是,如果您正在开发 ...
目录 18.1 使代码更简单的东西 18.2 使代码不那么明显的事情 18.3 结论 晦涩是2.3节中描述的复杂性的两个主要原因之一。当系统的重要信息对新开发人员来说不明显时,就会出现模糊现象。模糊问题的解决方案是用一种简单易解的方式来写代码。本章讨论 ...
9.9 结论 软件设计中最基本的问题之一是:给定两部分功能,它们应该在同一个地方一起实 ...
目录 15.1 延迟的注释是糟糕的注释 15.2 先写注释 15.3 注释是一个设计工具 15.4 早期的注释很有趣 15.5 早期的注释代价高昂吗? 15.6 结论 许多开发人员将编写文档的工作推迟到开发过程的末尾,即编码和单元测试完成之后 ...
目录 5.1 信息隐藏 5.2 信息泄漏 5.3 时间分解 5.4示例:HTTP服务器 5.5 示例:类太多 5.6 示例:HTTP参数处理 5.7 示例:HTTP响应中的默认值 5.8 隐藏在类中的信息 5.9 不要过度隐藏 5.10 ...