源代码就是设计.pdf


立即下载 电动少女
2024-07-11
论文 文档 软件 技术 设计 讨论 记得 回答 工程师 面向
267.4 KB

源代码就是设计
作者:Jack Reeves
至今,我仍能记起当我顿悟并最终产生下面文章时所在的地方。那是
1986年的夏天,
我在加利福尼亚中国湖海军武器中心担任临时顾问。在这期间,我有幸参加了一个关于
Ada
的研讨会。讨论当中,有一位听众提出了一个具有代表性的问题,
“软件开发者是工程师
吗?”我不记得当时的回答,但是我却记得当时并没有真正解答这个问题。于是,我就退
出讨论,开始思考我会怎样回答这样一个问题。现在,我无法肯定当时我为什么会记起几
乎10年前曾经在
Datamation杂志上阅读过的一篇论文,不过促使我记起的应该是后续讨论
中的某些东西。这篇论文阐述了工程师为什么必须是好的作家(我记得该论文谈论就是这
个问题——好久没有看了),但是我从该论文中得到的关键一点是:作者认为工程过程的最
终结果是文档。换句话说,工程师生产的是文档,不是实物。其他人根据这些文档去制造
实物。于是,我就在困惑中提出了一个问题,
“除了软件项目正常产生的所有文档以外,还
有可以被认为是真正的工程文档的东西吗?
”我给出的回答是,
“是的,有这样的文档存在,
并且只有一份
——源代码。

把源代码看作是一份工程文档
——设计——完全颠覆了我对自己所选择的职业的看
法。它改变了我看待一切事情的方式。此外,我对它思考的越多,我就越觉得它阐明了软
件项目常常遇到的众多问题。更确切地说,我觉得大多数人不理解这个不同的看法,或者
有意拒绝它这样一个事实,就足以说明很多问题。几年后,我终于有机会把我的观点公开
发表。C++ Journal中的一篇有关软件设计的论文促使我给编辑写了一封关于这个主题的信。
经过几封书信交换后,编辑
Livleen Singh同意把我关于这个主题的想法发表为一篇论文。
下面就是这篇文章。
什么是软件设计?
面向对象技术,特别是
C++,似乎给软件界带来了不小的震动。出现了大量的论文和
书籍去描述如何应用这项新技术。总的来说,那些关于面向对象技术是否只是一个骗局的
问题已经被那些关于如何付出最小的努力即可获得收益的问题所替代。面向对象技术出现
已经有一段时间了,但是这种爆炸式的流行却似乎有点不寻常。人们为何会突然关注它呢?
对于这个问题,人们给出了各种各样的解释。事实上,很可能就没有单


论文/文档/软件/技术/设计/讨论/记得/回答/工程师/面向/ 论文/文档/软件/技术/设计/讨论/记得/回答/工程师/面向/
-1 条回复
登录 后才能参与评论
-->