青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

原文被墻,覺得該文其意不錯,但其所指其實不是很明確,用語生澀啊...
=================================================================
http://calculist.blogspot.com/2007/09/science-and-engineering.html
Science and engineering
從 The Little Calculist 作者:Dave Herman

Joel Spolsky 有一個關于 軟件開發周期的階段 的帖子,該貼出乎意料地結束了我自己的觀察。在Joel看來,第一個階段是藝術(設計階段),第二個階段是工程(構建階段)第三個階段是科學(調試和測試階段).

Joel的興趣是軟件管理和管理工具,但我對于開發工具有更多的興趣。一旦你認出了軟件開發的工程方面和科學方面的分水嶺,你就可以更好地理解開發方法的很多緊張對立,其中的一種對立導致了很多辯論。之所以產生這種不安,是因為基本的不變的不可褻瀆的(更別說神圣的圣潔的虔誠的)工程法則有時候和科學實踐是不一致的。
也就是說:抽象和模塊性是軟件工程的心和肺,法則1,2,3是“局部化關注點,也就是DRY,分離關注點,使關注點正交”。更簡單的說:使用抽象并且不要違反。通過使得一個關注點完全不注意(也就是說:參數化)另一個關注點,你可以最大自由地改變一個關注點而不影響另一個關注點。這是因為(allows for)局部化的原因,依次引發了獨立的開發和維護。訓練有素的開發者創建分層抽象,并且一絲不茍地遵循他們的邊界。

但是當開始調試時發生了什么呢?教條地(Dogmatically)遵循抽象邊界就像戴了一個眼罩;當一個bug第一次出現的時候,你根本不知道它是隱藏在哪個抽象里,還是在層與層的交互之間。另一個思考抽象盒子內部的通常的推論是 沖動地假設這個bug是別人的錯誤。(“一定是編譯器的錯!”) 我想起 Knuth 關于計算機科學的引用:
     這樣的人非常擅長處理不同的法則應用到不同情況下的情形,他們是那些可以快速地改變抽象層次,可以同時觀察很多大的事物和小的細節的人。——引自 Hartmanis 的圖靈獎獲獎感言
我認為這里的描述更多的是在軟件開發的科學面或者也可以說是設計方面的——但不是工程方面的。
因為調試和測試是和觀察和理解一個現有的系統相關的,而不是構建或修改一個系統,我們自己構建的藩籬(譯注:指層次抽象)使得我們的工程原則變成了障礙。調試工具,集成開發環境,測試框架,等等都被一種需要違反抽象邊界的需求而賦予了特色。

結果,干凈和骯臟(就像 Mitch 叫他們的)開始撕咬混戰,他們爭斗的問題是:我們的軟件開發框架 對他們對 FIaI(NtMSHaG)LoE (ML) (譯注:實在不知道怎么翻譯)的堅持 是應該絕對嚴格呢,或是絕對寬松(Smalltalk)? 我不知道通過 構建涵蓋這些不同開發模型的軟件框架,我們是否能夠做的更好。

=================================================================
原文:

Joel Spolsky has a post about the phases of the software development cycle that's remarkably close to my own observations. In Joel's view, the first phase is art (i.e., design phase); the second is engineering (construction); and the third is science (debugging and testing).

Joel's interest is in project management and management tools, but mine is more in development tools. Once you recognize the divide between the engineering and science aspects of software development, you can better understand one of the tensions in the approach to development, a tension which leads to plenty of heated debate. This tension comes about because the Fundamental Immutable and Inviolable (Not to Mention Sacred, Holy, and Good) Laws of Engineering are sometimes at odds with the practice of science.

To wit: abstraction and modularity are the heart and lungs of software engineering. Rules #1 , 2 and 3 are "Localize concerns, i.e. , separate concerns and enforce their orthogonality." More simply: use abstractions and don't violate them. By making one concern completely oblivious to (i.e., parametric in) another, you maximize your freedom to change one without affecting the other. This allows for local reasoning which in turn leads to separable development and maintenance. Disciplined developers create layered abstractions and fastidiously respect their boundaries.

But what happens when you start debugging? Dogmatically adhering to abstraction boundaries is like wearing blinders; when a bug first arises, you never know which abstraction layer it's hiding in, or if it's in the interaction between layers. Another common consequence of thinking inside the abstraction box is impulsively assuming the bug is someone else's fault. ("The compiler must be broken!") I'm reminded of Knuth's quote about computer scientists:
Such people are especially good at dealing with situations where different rules apply in different cases; they are individuals who can rapidly change levels of abstraction, simultaneously seeing things "in the large" and "in the small."
          -- quoted in Hartmanis's
Turing Award lecture
I think this is describing more the science and perhaps also the design aspects--but not the engineering aspect--of software development.

Because debugging and testing are about observing and understanding an existing system, rather than constructing or modifying a system, the barriers we construct to enforce our engineering principles become obstacles. Debugging tools, IDE's, testing frameworks, etc. are all characterized by a need to violate abstraction boundaries.

As a result, the Cleans and Dirties (as Mitch calls them) fight tooth and nail about whether our software development frameworks should be absolutely strict in their adherence to the FIaI(NtMSHaG)LoE (ML) or absolutely lax (Smalltalk). I wonder if we couldn't do better by building software frameworks that were aware of these different modes of development.
posted on 2011-10-28 15:53 cingoli 閱讀(1880) 評論(7)  編輯 收藏 引用
Comments
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩精品伦理作品在线免费观看| 久久人人超碰| 午夜视黄欧洲亚洲| 99国产精品久久久| 一本一本a久久| 午夜精品久久久久久久白皮肤 | 在线看一区二区| 国产一区二区三区免费在线观看| 国产日产欧产精品推荐色 | 亚洲国产精品传媒在线观看| 久久精品视频在线观看| 久久久久9999亚洲精品| 欧美91大片| 日韩视频精品在线| 欧美一区二区三区视频| 麻豆精品国产91久久久久久| 欧美人与性动交cc0o| 国产精品成人一区二区三区吃奶| 国产精品久久久一本精品| 激情久久久久久久| 一区二区三区四区国产| 久久国产精品久久w女人spa| 免费欧美高清视频| 一区二区三区黄色| 久久综合亚州| 欧美天堂亚洲电影院在线播放| 国产精品久久久久免费a∨| 伊人久久大香线蕉综合热线| 亚洲图片激情小说| 欧美凹凸一区二区三区视频| 一区二区av| 欧美不卡视频一区发布| av成人福利| 午夜综合激情| 欧美人与禽性xxxxx杂性| 国产精品永久免费视频| 日韩亚洲视频| 欧美 日韩 国产一区二区在线视频| 亚洲免费久久| 欧美国产精品一区| 在线日韩欧美| 久久久久久成人| 一本在线高清不卡dvd | 老司机精品福利视频| 一本一本a久久| 欧美寡妇偷汉性猛交| 亚洲一区日韩| 欧美精品尤物在线| 亚洲电影一级黄| 久久琪琪电影院| 欧美一级淫片aaaaaaa视频| 欧美日韩亚洲一区二区| 在线电影国产精品| 久久久亚洲一区| 羞羞色国产精品| 国产精品三级久久久久久电影| 妖精视频成人观看www| 亚洲大胆女人| 欧美大片免费观看| 欧美一区久久| 国模私拍一区二区三区| 亚洲电影视频在线| 久久青青草原一区二区| 亚洲欧美激情一区二区| 国产精品红桃| 亚洲男人第一网站| 亚洲午夜一区二区三区| 国产精品久久久久永久免费观看| 亚洲乱码视频| 99re热这里只有精品视频| 欧美另类一区二区三区| 在线视频中文亚洲| 中文精品一区二区三区| 欧美亚洲成人网| 午夜精品久久久久久久99黑人| 一区二区三区视频观看| 国产精品自拍三区| 久久久久一区二区三区| 欧美中文字幕视频| 亚洲激情成人在线| 亚洲精品乱码久久久久久| 欧美激情一区在线观看| 国产亚洲激情视频在线| 欧美一区不卡| 久久人人97超碰国产公开结果| 亚洲国产日韩欧美在线99| 91久久久亚洲精品| 国产精品成人免费| 久久精品国产在热久久 | 国产精品一区二区久久久| 久久久久久久国产| 你懂的网址国产 欧美| 亚洲香蕉在线观看| 免费成人av在线| 欧美黄网免费在线观看| 亚洲欧美在线高清| 久久久久久久999| 99国产精品久久久| 性8sex亚洲区入口| 日韩一级片网址| 欧美一区二区三区四区在线观看| 在线观看欧美一区| 亚洲一区二区精品在线观看| 国内外成人在线| 亚洲最新中文字幕| 亚洲影院污污.| 老司机午夜精品视频在线观看| 日韩午夜三级在线| 欧美伊人久久久久久久久影院| 亚洲激情亚洲| 先锋亚洲精品| 亚洲一区二区三区高清| 久久亚洲春色中文字幕| 亚洲欧美中文字幕| 免费成人小视频| 久久久久一区二区三区| 国产精品久久久久久久久婷婷| 欧美高清视频一区二区| 国产欧美日韩亚洲精品| 亚洲人成网站色ww在线| 国模私拍一区二区三区| 亚洲一区二区免费| 亚洲午夜视频| 欧美日韩视频| 欧美成人一品| 伊人久久噜噜噜躁狠狠躁| 亚洲欧美日韩精品在线| 在线亚洲免费| 欧美成人精品福利| 欧美黄污视频| 在线免费精品视频| 久久夜色精品国产| 久久久久成人网| 狠狠爱综合网| 久久久久成人精品| 久久久噜噜噜久久狠狠50岁| 国产精品免费久久久久久| 一区二区三区四区五区视频| 99riav国产精品| 欧美日韩国产一区二区三区地区 | 亚洲激情社区| 亚洲第一二三四五区| 久久久www| 卡一卡二国产精品| 亚洲电影免费在线观看| 久久午夜国产精品| 欧美激情第二页| 亚洲精品久久久久久久久久久久 | 欧美精品一区在线播放| 亚洲国产美女久久久久| 99精品热视频| 欧美日韩在线视频首页| 99精品国产一区二区青青牛奶 | 精品999网站| 蜜月aⅴ免费一区二区三区| 亚洲黑丝一区二区| 99精品视频免费观看| 欧美日韩一本到| 亚洲欧美日产图| 久久免费少妇高潮久久精品99| 伊人夜夜躁av伊人久久| 欧美韩日视频| 中国成人在线视频| 久久一区中文字幕| 夜夜夜久久久| 国产一区欧美| 欧美黄免费看| 亚洲欧美视频在线观看视频| 乱人伦精品视频在线观看| 91久久精品美女高潮| 欧美日韩在线三级| 亚洲欧美视频在线观看| 国产一区二区三区奇米久涩| 另类激情亚洲| 亚洲私人影院| 免费成人激情视频| 亚洲私拍自拍| 亚洲国产精品专区久久| 欧美日韩亚洲视频| 欧美在线国产精品| 99精品国产在热久久| 美腿丝袜亚洲色图| 亚洲欧美精品一区| 亚洲激情av在线| 国模大胆一区二区三区| 国产精品成人观看视频免费 | 老司机67194精品线观看| 9i看片成人免费高清| 免费一级欧美片在线播放| 国产精品99久久久久久人| 亚洲成人直播| 国语自产在线不卡| 国产精品久久久久999| 欧美成熟视频| 久久先锋资源| 久久久免费观看视频| 亚洲欧美日韩精品| 亚洲最黄网站| 亚洲电影天堂av| 免费在线视频一区|