自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

能存活19年的bug,還是個(gè)bug嗎?

安全
近日,各大網(wǎng)站都報(bào)道了一則關(guān)于微軟宣布修復(fù)了一個(gè)存在了19年的安全漏洞的新聞》。以程序員為職業(yè)的我,聽到這樣一個(gè)消息,有一種非常不解、甚至是荒謬、搞笑的感覺。從軟件生產(chǎn)的角度講,如果一個(gè)bug能存活19年,那它還是個(gè)bug嗎?

近日,各大網(wǎng)站,包括新浪、騰訊、網(wǎng)易、搜狐都報(bào)道了一則關(guān)于微軟宣布修復(fù)了一個(gè)存在了19年的安全漏洞的新聞,以騰訊科技為例,它的標(biāo)題是《微軟修復(fù)已存在19年的漏洞》。 對于一個(gè)軟件制造界外的人來說,這是一個(gè)大快人心的消息,就跟一個(gè)隱藏了19年的納粹分子終于被抓住的新聞一樣轟動。但以程序員為職業(yè)的我,聽到這樣一個(gè)消息,卻有一種非常不解、甚至是荒謬、搞笑的感覺。從軟件生產(chǎn)的角度講,如果一個(gè)bug能存活19年,那它還是個(gè)bug嗎?

一、很多項(xiàng)目生命期不超過19年

我在很多國企開發(fā)過項(xiàng)目,這些項(xiàng)目幾乎每過幾年都會重新開發(fā)一回,老項(xiàng)目或者廢棄、或者推倒重來,遇到領(lǐng)導(dǎo)換班子或上級政策方向的改變,更容易發(fā)生這種事情。事實(shí)上,有大量的軟件存活不到19年,都很短命。這一方面是技術(shù)的原因,更重要的一方面是國情的因素。如果在這樣的一個(gè)項(xiàng)目里有一個(gè)bug,當(dāng) 這個(gè)軟件幾年后被遺棄時(shí),從來沒有被人發(fā)現(xiàn)——更符合軟件科學(xué)的說,沒有給用戶帶來任何煩惱。這樣的bug對于用戶來說是不可見、不可知、根本不存在的。 我們沒有必要、也不應(yīng)該將這樣的bug稱作bug,更不應(yīng)該為這樣的bug大驚小怪。

二、修改bug有風(fēng)險(xiǎn)

我記得有一個(gè)非常有趣的關(guān)于bug段子,說的是:

代碼中有99個(gè)小bug,

99個(gè)小bug,

修復(fù)了一個(gè),

現(xiàn)在,代碼中的有117個(gè)小bug。

雖然是個(gè)笑話,但作為程序員,我一點(diǎn)都笑不出來,因?yàn)檫@種事情在我們項(xiàng)目的開發(fā)過程中經(jīng)常的會遇到。由于糾正接口中一個(gè)bug而導(dǎo)致其它程序調(diào)用這個(gè)接口時(shí)出現(xiàn)了另外的問題。你可能會嘲笑說這是測試程序?qū)懙牟粔蛑苋?,但很多時(shí)候,復(fù)雜的軟件內(nèi)部關(guān)聯(lián)是很難讓加班加點(diǎn)的程序員考慮周全的。

所以,在一個(gè)復(fù)雜的軟件里,特別是對于老項(xiàng)目,最早開發(fā)這個(gè)項(xiàng)目的人已經(jīng)流失,而項(xiàng)目文檔又寫的不夠清晰,如果一個(gè)bug不是特別嚴(yán)重、不影響核心業(yè)務(wù),如果能說服客戶不修改,那就優(yōu)先考慮不修改,如果非要修改,那必須要深思熟慮、準(zhǔn)備充足的測試用例,并想好回退方案,以防萬一。

三、是bug?還是設(shè)計(jì)的功能特征?

[[122697]]

之前就有一篇很好的文章指出,Bash里一個(gè)所謂的bug實(shí)際上是25年專門設(shè)計(jì)的功能,只是時(shí)過境遷,現(xiàn)在的使用環(huán)境發(fā)生了很大的變化,人們并沒有及時(shí)的調(diào)整過去的老代碼,或者現(xiàn)在的新環(huán)境并沒有照顧過去的老接口。

所以,我們今天看到的一個(gè)愚蠢的bug,也許在歷史上的某一天,是一個(gè)有意而為之的神奇特性。我們應(yīng)該思考的不僅僅是這一刻的bug 或者安全隱患本身,而是在軟件開發(fā)這個(gè)***創(chuàng)新的活動中,如何有效的保證某個(gè)特意設(shè)計(jì)的功能不會變成bug。

總之,一個(gè)19年的bug,一直默默無聞,沒有被人發(fā)現(xiàn)、沒有給用戶帶來麻煩、造成損失。我想,時(shí)間證明了這個(gè)bug是個(gè)善良的bug,是個(gè)好bug,我寧愿將它升級成一個(gè)功能。即使不能如此,使用用戶在這些年的使用中也早就適應(yīng)了這個(gè)bug,能夠很好的與它和睦相處,已經(jīng)不把它當(dāng)成危險(xiǎn)的敵人 了。事實(shí)上,在用戶的心里,它已經(jīng)升級進(jìn)化,蛻掉了bug的外殼。這樣的bug,還是應(yīng)該順其自然,不改為好。程序員朋友們,你說呢?

責(zé)任編輯:藍(lán)雨淚 來源: 外刊IT評論
相關(guān)推薦

2014-11-14 09:36:58

微軟bug

2020-03-27 15:18:45

漏洞bug開源

2019-05-13 09:01:13

程序員職責(zé)產(chǎn)品經(jīng)理

2021-10-27 09:20:56

Bug代碼語言

2013-10-30 09:57:43

IECSS

2009-08-18 11:01:51

2023-11-15 17:23:30

測試軟件開發(fā)

2020-12-30 10:38:54

漏洞編程語言加密

2025-02-13 07:00:00

Dubbo-goJava服務(wù)端

2009-09-14 17:08:02

WebFormView

2017-03-22 09:11:45

bugbug賞金計(jì)劃眾包項(xiàng)目

2019-06-14 08:48:46

Tomcat日志SpringBoot

2013-09-09 10:51:07

CSSIE瀏覽器

2020-10-22 07:09:19

TCP網(wǎng)絡(luò)協(xié)議

2014-05-22 16:32:48

bug查找bug

2021-10-08 07:50:57

軟件設(shè)計(jì)程序

2013-10-31 11:12:56

IECSS

2017-10-10 15:14:23

BUGiOS 11蘋果

2009-10-12 14:12:40

VMware Work

2018-06-20 15:50:38

JDK9JVMJDK10
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號