David 木材弗雷德里克斯堡,弗吉尼亚州,美国 Meir (Manny) Lehman was the first to recognize that software evolves dur- ing its life cycle, way back in 1969. He later figured out that multiple feed- back loops exist within a software development effort, and that those feedback loops influence the process of evolution. They include the injection of multiple (possibly conflicting) requirements and design decisions. 完美执行的谬误
如果你认为你可以创建完美的代码如果你工作不够努力,不要感到尴尬。许多人这么想的太。不幸的是,它是不可能的。即使在理论上。
任意逻辑是难在一般情况下验证和硬的或不可能的要完整地测试。砖和梁中其他建设有关的活动,在英国的三位研究者使用类比最近果脯-木软件很难核实,因为”有没有好的、 可预测的构建基块。其中程序如何构造元素: 发言、 程序或对象,不能在可预见的方式组成.”
积木的软件不像乐高玩具扣合在一起。他们可以在一起放,在很多方面,它是不可能确定所有放大。这可能是一个体面的工作定义,图灵 completeness.* 软件是在 word 中,复杂。
跟踪和验证代码中的任意逻辑可能听起来深奥。追踪程序员的意图的简单工作怎么样?当然我们可以谈谈 pro 语法并问他们他们的意思。不幸的是,程序员的意图通常是失去的要求更改或不一致时,尤其是写一个代码块,几天之内记录。
程序员也改变工作岗位,离开无证件或错误地纪录片加味代码隐藏。源代码中迅速成为最后的和唯一法医线索到程序员的意图。唉,意图只有不完全从可以确定变量名、 逻辑流,以及偶尔评论线索。
* 图灵完整性: Alan 图灵的名字命名的这是每个装置的设计计算也可仿效,以万能实验机的概念。真正的图灵完成机器是完全不可能,因为他们需要无限的存储。然而,图灵完整性可能归因于机器将是普遍的如果他们有无限的存储。 Bugs will remain part of every software product shipped. We put bugs into software for both bad reasons (like ignorance of language features or poor attention to detail) and good ones (such as conflicting or poorly communi- cated requirements). Further, bugs are a source of change in software because when they are recognized we refactor the code to fix them, injecting new bugs in the process.
Various degrees of programmer understanding of requirements, design deci- sions, and implementation details contribute to other feedback loops. In other words, the sources of bugs don’t have to be logical programming errors. Bugs are also introduced by differences of opinion.
The Fallacy Of Perfect Execution is the delusion that it is possible to create flawless code with sufficient attention to detail. If that were so, we would all be strong advocates of structured programming techniques. We aren’t, and for good reason. Software, at any stage of its evolution, is buggy, extremely likely to change, and inaccurately documented.
That insight, simple though it may be, encourages us to approach software differently. It encourages us to develop tools and techniques to incrementally refactor software implementations, requirements, and documentation.
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox.5.1.6_Build20151120_CHS_Bit32.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 程序员专区