源代码就是设计.PDF

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
源代码就是设计 Scrum中文交流社区 源代码就是设计源代码就是设计 作者:Jack Reeves 至今,我仍能记起当我顿悟并最终产生下面文章时所在的地方。那是 1986年的夏天, 我在加利福尼亚中国湖海军武器中心担任临时顾问。在这期间,我有幸参加了一个关于 Ada 的研讨会。讨论当中,有一位听众提出了一个具有代表性的问题, “软件开发者是工程师 吗?”我不记得当时的回答,但是我却记得当时并没有真正解答这个问题。于是,我就退 出讨论,开始思考我会怎样回答这样一个问题。现在,我无法肯定当时我为什么会记起几 乎10年前曾经在 Datamation杂志上阅读过的一篇论文,不过促使我记起的应该是后续讨论 中的某些东西。这篇论文阐述了工程师为什么必须是好的作家(我记得该论文谈论就是这 个问题——好久没有看了),但是我从该论文中得到的关键一点是:作者认为工程过程的最 终结果是文档。换句话说,工程师生产的是文档,不是实物。其他人根据这些文档去制造 实物。于是,我就在困惑中提出了一个问题, “除了软件项目正常产生的所有文档以外,还 有可以被认为是真正的工程文档的东西吗? ”我给出的回答是, “是的,有这样的文档存在, 并且只有一份 ——源代码。 ” 把源代码看作是一份工程文档 ——设计——完全颠覆了我对自己所选择的职业的看 法。它改变了我看待一切事情的方式。此外,我对它思考的越多,我就越觉得它阐明了软 件项目常常遇到的众多问题。更确切地说,我觉得大多数人不理解这个不同的看法,或者 有意拒绝它这样一个事实,就足以说明很多问题。几年后,我终于有机会把我的观点公开 发表。C++ Journal中的一篇有关软件设计的论文促使我给编辑写了一封关于这个主题的信。 经过几封书信交换后,编辑 Livleen Singh同意把我关于这个主题的想法发表为一篇论文。 下面就是这篇文章。 什么是软件设计? 面向对象技术,特别是 C++ ,似乎给软件界带来了不小的震动。出现了大量的论文和 书籍去描述如何应用这项新技术。总的来说,那些关于面向对象技术是否只是一个骗局的 问题已经被那些关于如何付出最小的努力即可获得收益的问题所替代。面向对象技术出现 已经有一段时间了,但是这种爆炸式的流行却似乎有点不寻常。人们为何会突然关注它呢? 对于这个问题,人们给出了各种各样的解释。事实上,很可能就没有单一的原因。也许, 把多种因素的结合起来才能最终取得突破,并且这项工作正在进展之中。尽管如此,在软 件革命的这个最新阶段中, C++本身看起来似乎成为了一个主要因素。同样,对于这个问 题,很可能也存在很多种理由,不过我想从一个稍微不同的视角给出一个答案: C++之所 以变得流行,是因为它使软件设计变得更容易的同时,也使编程变得更容易。 源代码就是设计 Scrum中文交流社区 虽然这个解释好像有点奇特,但是它却是深思熟虑的结果。在这篇论文中,我就是想 要关注一下编程和程序设计之间的关系。近 10年来,我一直觉得整个软件行业都没有觉察 到做出一个软件设计和什么是真正的软件设计之间的一个微妙的不同点。只要看到了这一点, 我认为我们就可以从C++增长的流行趋势中,学到关于如何才能成为更好的软件工程师的意 义深远的知识。这个知识就是,编程不是构建软件,而是设计软件。 几年前,我参见了一个讨论会,其中讨论到软件开发是否是一门工程学科的问题。虽 然我不记得了讨论结果,但是我却记得它是如何促使我认识到:软件业已经做出了一些错 误的和硬件工程的比较,而忽视了一些绝对正确的对比。其实,我认为我们不是软件工程 师,因为我们没有认识到什么才是真正的软件设计。现在,我对这一点更是确信无疑。 任何工程活动的最终目标都是某些类型的文档。当设计工作完成时,设计文档就被转 交给制造团队。该团队是一个和设计团队完全不同的群体,并且其技能也和设计团队完全 不同。如果设计文档正确地描绘了一个完整的设计,那么制造团队就可以着手构建产品。 事实上,他们可以着手构建该产品的许多实物,完全无需设计者的任何进一步的介入。在 按照我的理解方式审查了软件开发的生命周期后,我得出一个结论:实际上满足工程设计 标准的惟一软件文档,就是源代码清单。 对于这个观点,人们进行了很多的争论,无论是赞成的还是反对的都足以写成无数的 论文。本文假定最终的源代码就

您可能关注的文档

文档评论(0)

tina0229 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档