六星源課堂:為什么大多數(shù)程序員都不用殺毒軟件?

網(wǎng)上有一個(gè)視頻調(diào)侃程序員,視頻的內(nèi)容是公司的產(chǎn)品經(jīng)理和同事經(jīng)過一個(gè)程序員小姐姐的工位時(shí),小姐姐順手點(diǎn)開了自己寫的炫酷軟件,想要在產(chǎn)品經(jīng)理面前“炫技”。結(jié)果,產(chǎn)品經(jīng)理一看程序員小姐姐的桌面,直搖頭道:“別看這小姐姐會(huì)整這些‘花活’,可我覺得這個(gè)小姐姐能力不行!”。
同事問:“何以見得?”。
產(chǎn)品經(jīng)理指著小姐姐電腦屏幕的軟件圖標(biāo)不屑地說:“她裝了殺毒軟件!”。

可以看出,不光是程序員自己,連經(jīng)常跟程序員打交道的產(chǎn)品經(jīng)理都認(rèn)為,使用殺毒軟件的程序員能力“肯定”不行!
但常人眼里看來,電腦裝個(gè)殺毒軟件再正常不過了。那么,到底程序員和殺毒軟件之間有什么“愛恨糾葛”,導(dǎo)致了很多人只要看到程序員電腦裝了殺毒軟件就覺得是能力不行的表現(xiàn)呢?
搞清楚這個(gè)問題之前,我們需要先了解下殺毒軟件是怎么保護(hù)我們的電腦的,也就是殺毒軟件是通過什么方式發(fā)現(xiàn)軟件病毒并進(jìn)行處理的呢?
方式一:監(jiān)控電腦軟件行為,發(fā)現(xiàn)行為異常的軟件,殺毒軟件則會(huì)對(duì)該軟件進(jìn)行重點(diǎn)監(jiān)控并處理。
方式二:殺毒軟件會(huì)有一個(gè)“木馬基因庫(kù)”,里面收錄了一些世界上已經(jīng)被發(fā)現(xiàn)的木馬。在殺毒軟件對(duì)電腦軟件進(jìn)行監(jiān)控時(shí),會(huì)匹配符合條件的軟件,從而判斷出哪些軟件或者哪些軟件的行為是木馬病毒行為,然后進(jìn)行處理。
方式三:殺毒軟件會(huì)收錄幾乎所有已知軟件,當(dāng)一個(gè)軟件不在它所收錄的軟件庫(kù)當(dāng)中的時(shí)候,如果我們使用這個(gè)軟件,殺毒軟件則會(huì)提醒我們這個(gè)軟件可能存在風(fēng)險(xiǎn),詢問我們是否信任這個(gè)軟件。如果我們選擇不信任,則殺毒軟件會(huì)將這個(gè)軟件進(jìn)行移除或者監(jiān)控其行為,最后進(jìn)行處理。
而程序員之所以不用殺毒軟件,就是因?yàn)闅⒍拒浖墓ぷ鞣绞?,有可能?huì)對(duì)程序員的工作帶來不便。
首先,程序員在工作當(dāng)中是編寫程序的,所以,程序員寫的程序是肯定不在殺毒軟件的軟件庫(kù)當(dāng)中的。于是,只要?dú)⒍拒浖_著,殺毒軟件就會(huì)在程序員測(cè)試自己的程序的時(shí)候?qū)ζ鋵懙某绦蜻M(jìn)行誤報(bào)!
有人會(huì)說了:“你只要添加信任就可以啦!”。

可這其實(shí)并不管用,因?yàn)闅⒍拒浖诜治鲆粋€(gè)軟件是否在自己的軟件庫(kù)當(dāng)中的時(shí)候,使用的方式有很多種,比如識(shí)別軟件的簽名、版本號(hào)、軟件大小等等。但是,程序員在寫軟件和測(cè)試自己的軟件的時(shí)候,有些東西是會(huì)變得。因此,即使程序員向殺毒軟件對(duì)自己正在寫的軟件添加信任,可能下一次殺毒軟件就不認(rèn)識(shí)了,殺毒軟件還會(huì)誤報(bào),總不能每次都添加信任吧?
不光如此,程序員寫的程序多多少少都會(huì)存在對(duì)系統(tǒng)的本地文件進(jìn)行讀寫或刪除的操作。因?yàn)闅⒍拒浖?huì)監(jiān)控軟件行為,因此涉及到文件讀寫或刪除時(shí),也會(huì)被殺毒軟件進(jìn)行風(fēng)險(xiǎn)提醒。
盡管只是一個(gè)彈窗,但是彈窗的頻率高了,也挺招人煩的。
另外,還有一個(gè)很重要的點(diǎn),就是部分殺毒軟件在監(jiān)控軟件行為的時(shí)候,會(huì)“伴行”軟件??赡苓@么說,有人會(huì)不明白!打個(gè)比方就類似你好好的正在走路,結(jié)果有個(gè)人覺得你很可疑,所以就一直跟著你走。雖然看起來他好像沒有妨礙你,但是多多少少都會(huì)讓你的行走路線發(fā)生變化,甚至是擋在你前面!
因此,會(huì)導(dǎo)致程序員在編寫軟件的時(shí)候,有時(shí)候感覺代碼寫得明明是對(duì)的,但是執(zhí)行的結(jié)果就是有問題!或者會(huì)出其他原因。而只要把殺毒軟件關(guān)掉了,一切就又都正常了!
而讓程序員比較反感殺毒軟件的一個(gè)重要原因,是因?yàn)楫?dāng)程序員寫好一個(gè)軟件以后,需要到各個(gè)殺毒軟件那里去“入庫(kù)”,將自己的軟件錄入到殺毒軟件的軟件庫(kù)里。
這樣做的目的就是為了讓殺毒軟件認(rèn)識(shí)自己寫的軟件。雖然程序員清楚自己寫的軟件人畜無害,但當(dāng)別人使用自己寫的軟件時(shí),殺毒軟件可能會(huì)因?yàn)椴徽J(rèn)識(shí)這個(gè)軟件,因此提示用戶這個(gè)軟件可能存在風(fēng)險(xiǎn)。
軟件用戶一看殺毒軟件都提醒這個(gè)軟件有風(fēng)險(xiǎn),因此可能就不敢再用,直接卸載了!而讓殺毒軟件知道并信任自己寫的軟件,那么程序員就得把軟件提交給殺毒軟件去掃描審核并錄入自己的軟件庫(kù)中。這樣,殺毒軟件就會(huì)知道這個(gè)軟件是無害的,因此不會(huì)向用戶發(fā)出警告。
這就好比一個(gè)人明明是一個(gè)好人,但是還要向別人證明自己是個(gè)好人一樣。
特別是有些殺毒軟件會(huì)不分青紅皂白,直接告訴用戶正在使用的軟件是木馬!
因此,很多程序員寧愿不用殺毒軟件,或者把殺毒軟件只是當(dāng)一個(gè)清理電腦系統(tǒng)垃圾的工具,開機(jī)自啟關(guān)閉。平時(shí)不清理系統(tǒng)垃圾的時(shí)候,殺毒軟件就是關(guān)閉狀態(tài)。但現(xiàn)在很多系統(tǒng)自帶的垃圾清理工具也挺好用,所以程序員用不用殺毒軟件其實(shí)是無所謂的!
因?yàn)闅⒍拒浖?huì)給程序員的工作帶來很多麻煩,所以很多有經(jīng)驗(yàn)的程序員都不會(huì)選擇去使用殺毒軟件。因此,有些人就以此為依據(jù),覺得只要使用殺毒軟件的程序員,一定是沒有多少工作經(jīng)驗(yàn)的,否則他應(yīng)該知道使用殺毒軟件的后果!
所以,有人認(rèn)為,使用殺毒軟件的程序員,能力就“肯定”不行,原因就出在這里!雖然這種說法不一定對(duì),但在很多程序員或者其同事對(duì)于這種說法已經(jīng)根深蒂固了!因此,在看到別的程序員裝了殺毒軟件,就會(huì)以異樣的眼光看待!
以上就是本次分享的全部?jī)?nèi)容,想學(xué)習(xí)更多編程技巧,歡迎持續(xù)關(guān)注六星源課堂!