日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开发高质量软件需要更高成本吗?

發布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开发高质量软件需要更高成本吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:http://t.cn/Ai9LBVDu

ThoughtWorks 首席科學家 Martin Fowler 指出,軟件開發項目中存在一種常見爭論,即“花時間提高軟件質量,還是專注于發布更有價值的功能?”他認為“提供功能的壓力常常主導著討論,導致許多開發人員抱怨他們沒有時間研究架構和代碼質量”。于是,Martin 近日在個人博客發布了一篇名為《高質量軟件值得這么多成本嗎?》[1]的文章,就此展開討論。

通常,這樣的反問句答案顯然是否定的。不過,Martin 接下來的闡述進一步顛覆了問題本身,這個問題假定了質量和成本之間的共同權衡,可在他看來,這種權衡并不適用于軟件——“高質量的軟件實際上生產成本更低”。

這種說法是否顛覆了你的認知?人們習慣于在質量和成本之間進行權衡,“一分錢一分貨”不無道理。當然,Martin 承認該假設在大多數情況下是正確的,更高的質量會花費更多。但他強調這并非一個絕對規則。

軟件質量意味諸多

Martin 首先對“軟件質量”做出了界定。有很多方面可以囊括在內:用戶界面清晰嗎?軟件足夠可靠嗎?架構合理、明確嗎?

用戶可以判斷用戶界面是否良好;高管可以判斷軟件是否使工作更高效;消費者會注意到系統缺陷,特別是當軟件出故障時。但用戶可能無法體會軟件架構——這對開發者來說是軟件質量的判定標準之一。

所以,這篇文章將軟件質量屬性劃分為外部(例如 UI 和缺陷)和內部(架構)。區別在于,用戶和消費者可以看到軟件產品具有高外部質量的原因,卻難以分辨出內部質量的高低。

內部質量看似對用戶無關緊要

用戶可以判斷他們是否想要支付更多費用以獲取更好的用戶界面,但對于內部模塊化結構難以做出判斷。試想一下,如果有兩個近乎完全相同的應用程序,一個賣 6 美元,另一個售價 10 美元,區別僅僅在于后者的源碼整齊有序而前者較為混亂。這并不影響程序正常運行,客戶為何要多花 4 美元購買后者?既然如此,為什么軟件開發人員還要花時間和精力來提高工作的內部質量?

Martin 在此引出了“技術債務”(Technical Debt[2])的概念。由于代碼混亂而造成的難以清理的殘余項(cruft)便是積累技術債務的罪魁禍首,為增加新功能所付出的額外努力則是債務利息。

如果模塊結構足夠清晰,假設添加一個新功能需要四天時間,但由于邏輯混亂或數據難以理解等代碼規范問題,這一工作可能將會被延長至六天。

這些繁瑣的部分不僅會更加耗費開發人員的時間和精力,也加大了出錯的可能性,那么以后將需要花費更多成本來進行修補。

由此看來,內部質量實際上對用戶來說也至關重要。因為更好的內部質量使得添加新功能更快、更容易,成本也更低。

內部質量的影響

Martin 表示,“內部質量的基本作用是降低未來變革的成本。但是編寫好的軟件需要額外的努力,這在短期內會產生一些成本”。為此,他提供了兩張圖表,以可視化的方式來呈現將內部質量的影響。

上圖是軟件內部質量較差的情況??梢钥吹?#xff0c;在最初一段時間,工作進展很快,但隨著時間的推移,添加新功能變得愈發困難。這也是大多數軟件工作的境況。

專注于高內部質量很可能造成生產力下降,但開發人員可以通過利用先前的工作輕松構建新功能。這一目標需要一支技術精湛,訓練有素的團隊來實現。

加上高內部質量的曲線之后,一些微妙之處顯現出來:前期低內部質量比高內部質量的軟件更具有生產力,在此期間,質量和成本之間存在某種權衡關系。問題是,它能持續多久?

Martin 綜合參考了一些熟練開發者的意見,發現質量差的代碼會在幾周內顯著降低生產速度,擁有高內部質量的軟件隨后遠遠反超。因此,從長遠看來,不必太費心思在質量與成本之間權衡。

即便最好的團隊也會產生垃圾

即使是最優秀的團隊也會在工作時不可避免地產生一些無用且瑣碎的東西(cruft)。

許多人將構建軟件比作建造摩天大樓,想想為什么高級程序員被稱為“架構師”?但軟件構建于物理世界未知的不確定世界中,軟件開發的構建模塊——語言、庫和平臺——每隔幾年就會發生重大變化。鑒于這種程度的變化,軟件項目總是創造出新穎的東西。Martin 說他常常聽到團隊只有在花了一年左右的時間構建它之后,才能真正理解軟件的架構。即使是最好的團隊也會在他們的軟件中肆意妄為。

不同的是,好的團隊即使創造了垃圾,也能及時清理掉它們,他們可以繼續快速添加功能。此外,他們還會花時間創建自動化測試,也經常進行重構,以便快速解決問題、清理殘余。

Martin 用清理廚房來比喻這項工作:做飯時如果不快速清理臺面污漬,之后更難去除,所有骯臟的東西會妨礙烹飪下一道菜。

高質量的軟件生產成本更低

總結一下:

?忽視內部質量會導致 cruft 快速產生?這將進一步延緩功能開發?即使是一個偉大的團隊也會產生這樣的問題,但通過保持內部質量,可以控制它?高內部質量使團隊能夠以更少的工作量、時間和成本開發新功能

一些開發團隊向 Martin 訴苦:“管理層阻礙我們寫出質量好的代碼,因為它需要花費太長時間”。對此 Martin 再次呼吁,高內部質量實際上降低了未來成本,了解內部質量與成本之間的關系對于以最高效率開發軟件來說至關重要。

總結

以上是生活随笔為你收集整理的开发高质量软件需要更高成本吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青苹果av| 久久女同 | 影音先锋在线中文字幕 | 四十路av | 色综合色综合色综合 | 国产综合色视频 | 天天看片天天操 | 国产嫩草av| 国产一区二区视频在线观看免费 | 中文在线a∨在线 | 美女扒开让男人桶爽 | 国内精品福利视频 | 无码国产精品久久一区免费 | 欧美综合激情 | 韩国av在线免费观看 | 亚洲熟伦熟女新五十路熟妇 | 国产91在线看 | 天天爱天天爽 | 一区二区三区四区免费视频 | av导航在线观看 | 男女视频在线 | 在线观看www | 免费看黄色的视频 | 黄色特级视频 | 中文在线日本 | 欧美性福利 | 自拍偷拍一区 | 丰满人妻翻云覆雨呻吟视频 | 欧美刺激性大交 | av黄在线观看 | 3o一40一50一6o女人毛片 | 精品国产123| 性欧美18一19性猛交 | 熟妇熟女乱妇乱女网站 | 理论片大全免费理伦片 | 成人av动漫在线 | 天堂中文av在线 | 国产精品播放 | 秘密基地在线观看完整版免费 | 未满十八岁禁止进入 | 欧美 日韩 国产 成人 在线 91 | 综合色影院 | 丁香一区二区 | 手机看片日韩福利 | 久久狠狠干 | 欧美精品videos另类日本 | 香蕉久久夜色精品国产使用方法 | 亚洲精品v日韩精品 | 国产精品久久久久久久久免费软件 | 国产视频污在线观看 | 激情一区二区三区 | 国产精品高潮视频 | 欧美极品一区二区 | 成人高清免费观看 | 久久国产成人 | 亚洲精品中文字幕成人片 | 欧美日韩精选 | 成人午夜免费视频 | 国产一级特黄aaa大片 | 国产绿帽一区二区三区 | 亚洲图片综合区 | 日韩精品亚洲精品 | 精品一区欧美 | av一级黄色 | 在线观看亚洲大片短视频 | 成年人免费网站在线观看 | 午夜免费视频观看 | 欧美三级韩国三级日本三斤在线观看 | 国产精品三级在线观看无码 | av88av| 五月天中文字幕在线 | 爱情岛黄色 | 一级黄色在线 | 欧美精品成人一区二区在线观看 | 国产福利一区二区视频 | 免费观看黄色 | 欧产日产国产精品98 | 成人精品自拍 | 美女三级网站 | 调教小屁屁白丝丨vk | 黄视频免费看在线 | 天天看天天做 | 非洲一级黄色片 | 色呦呦麻豆 | 人人草网站 | 一区二区在线 | 91一级片| 久久影院精品 | 精品国产视频 | 欧美搞逼视频 | 亚洲最大黄色网址 | 欧美日韩高清在线播放 | 美女隐私无遮挡免费 | 国产精品揄拍100视频 | 毛片88| 97自拍视频在线 | 成人亚洲一区二区 | 中文字幕一区二区三区乱码不卡 | 国产黄色免费观看 |