在計(jì)算機(jī)這個(gè)理性的世界里,你曾見過這些比較“玄學(xué)”的問題?

作為計(jì)算機(jī)專業(yè)的從業(yè)人員,大家都知道計(jì)算機(jī)這個(gè)東西是絕對(duì)邏輯性的,壓根不存在含糊不清的概念,是什么就是什么,一些操作指令界限明確,功能清晰,絕不存在任何歧義,不像寫文章一樣,你即使有一個(gè)錯(cuò)別字也不影響讀者閱讀,而計(jì)算機(jī)就大不一樣了,所有代碼中,只要一個(gè)字母寫錯(cuò)就會(huì)導(dǎo)致程序無法運(yùn)行。

想必上面的觀點(diǎn)大家都是認(rèn)可的,對(duì)吧,照上面的邏輯來說,在編程行業(yè)充滿了理性,什么事情都是需要有著精密的邏輯才行,不過據(jù)我觀察,這么理性的一個(gè)行業(yè),在一些錯(cuò)綜復(fù)雜的情況下,有時(shí)反而倒出現(xiàn)了一些“玄學(xué)”的色彩,比如某工程師什么代碼也沒動(dòng),整個(gè)月系統(tǒng)運(yùn)行都非常正常,系統(tǒng)突然就出現(xiàn)奇怪的bug,

或者說每次上線前在測(cè)試環(huán)境都好好的,一到線上環(huán)境卻出現(xiàn)了各種問題,為此有的同學(xué)還在上線前祈禱程序正常運(yùn)行,本來是一個(gè)很理性的世界卻被搞的這樣具有“神秘”色彩了。


近期一名程序員網(wǎng)友就描述了一個(gè)比較玄乎的現(xiàn)象,他說花了一上午冥思苦想各種搜素找資料,即便如此程序的bug也沒有改好,就在他吃飯的時(shí)候,憑感覺撥弄了幾行代碼之后,程序就被神奇地改好了。根據(jù)這樣的描述,感覺他這個(gè)bug修復(fù)的好沒有成就感啊,就是糊里糊涂好的,怎么好的起碼需要有一個(gè)正兒八經(jīng)的原因吧,他這個(gè)就這樣稀里糊涂的修復(fù)了一個(gè)bug,還整的不明不白的修好,就這樣的代碼還敢上線嗎?這樣真說不好上線后有沒有其他問題產(chǎn)生啊,針對(duì)這樣的情況,讓我們一起看看其他網(wǎng)友們都是怎么評(píng)價(jià)的吧!


網(wǎng)友一:一個(gè)bug莫名其妙消失,往往都意味著數(shù)個(gè)bug會(huì)隨時(shí)莫名其妙冒出來。

上世是朵花:根據(jù)日常的生活經(jīng)驗(yàn),我認(rèn)為這名同學(xué)并非胡說,有時(shí)的確是這樣的。

網(wǎng)友二:有時(shí)是的。調(diào)不好,去溜達(dá)一圈就行了

上世是朵花:嗯,的確是這種現(xiàn)象,不過我建議遇到這種情況要細(xì)細(xì)追究一下,看看到底是怎么好了,如果不好好研究一下,以后還會(huì)出現(xiàn)類似奇怪的問題,如果把弄懂真相了,也許對(duì)以后是有好處的。

網(wǎng)友三:什么神仙操作?

上世是朵花:這操作也的確挺神的,隨便撥弄兩下就好了。

網(wǎng)友四:昨天調(diào)了一下午的一個(gè)編譯問題,刪除所有依賴后又重新添加就消失了,仿佛從來沒出現(xiàn)過一樣

上世是朵花:牽涉到一些深層的問題,表象看起來是很奇怪,其實(shí)背后都是有原因的,就像平時(shí)我們電腦出問題的時(shí)候,重啟一下就好了,我們什么也沒做,系統(tǒng)源碼也沒改過,這往往是一些資源計(jì)算中出現(xiàn)的問題,而重啟一下就是釋放資源,所有配置初始化一下,等計(jì)算到某個(gè)點(diǎn)后還是有可能觸發(fā)這種情況。

網(wǎng)友五:那應(yīng)該只是暫時(shí)掩蓋住了沒觸發(fā),因?yàn)槟悴]找到原因。

上世是朵花:同意這種說法,很有這種可能。

網(wǎng)友六:有時(shí)候是這樣,在你頻繁修復(fù)代碼的時(shí)候,實(shí)際上可能已經(jīng)改對(duì)了,但發(fā)布調(diào)試仍然顯示不對(duì)!漫長(zhǎng)的絕望之后,突然它就好了,一臉懵逼

上世是朵花:很形象,現(xiàn)實(shí)情況中的確會(huì)有這樣現(xiàn)象發(fā)生,不過相信每次現(xiàn)象背后肯定是對(duì)應(yīng)有相應(yīng)的原因。

網(wǎng)友七:正常的很,我也有過好幾次,自己都不知道如何改好的,反正就是改好了,之前還費(fèi)盡心思!

上世是朵花:可見出現(xiàn)這樣比較玄乎的事情并不少啊,大家都有曾碰到過。

網(wǎng)友八:周末安裝個(gè)yii框架跑不起來報(bào)錯(cuò),按著調(diào)用棧去到框架源碼那里寫兩個(gè)echo來看看到底變量是什么,然后神奇地正常了!發(fā)生了什么事情?

上世是朵花:說一個(gè)類似的js問題,代碼出bug了,功能沒有按照預(yù)期執(zhí)行,想調(diào)試一下問題,于是就把某個(gè)變量進(jìn)行彈窗打印出來看看,加了一個(gè)alert后,程序竟然出奇的正常運(yùn)行了,其實(shí)真正的原因是加載順序的問題,把a(bǔ)lert去掉,在同一個(gè)地方讓程序sleep一小段時(shí)間也是可以正常執(zhí)行,那個(gè)alert就相當(dāng)于占用了一小段時(shí)間。

看了網(wǎng)友們說的情況,還以為是在討論“玄學(xué)”呢,一幫搞計(jì)算機(jī)的人,竟然說的事情都是這么玄乎,這樣的描述看起來完全不符合常理,不符合邏輯啊,可是現(xiàn)實(shí)情況下,的確會(huì)出現(xiàn)大家所描述的這些現(xiàn)象,計(jì)算機(jī)世界本來是充滿邏輯的世界,充滿理性的世界,為什么會(huì)出現(xiàn)這樣的情況呢?其實(shí),這并不矛盾,單獨(dú)就某一個(gè)指令來說,絕對(duì)是嚴(yán)格清晰的執(zhí)行,絕不會(huì)存在任何的歧義,而成千上萬的指令組合在一起就可能出現(xiàn)一些奇怪的現(xiàn)象,從而變的比較玄乎起來,有的奇怪的現(xiàn)象只不過是在某種特定的條件下觸發(fā)了,你再進(jìn)行查看時(shí),現(xiàn)象卻又不復(fù)存在了,也就是說某些條件并不是每次都會(huì)觸發(fā)的,程序運(yùn)行也是在各種if條件下走進(jìn)不同的分支,因此,計(jì)算機(jī)的世界依然是理性的世界,并不會(huì)因?yàn)榇蠹铱吹竭@些奇怪的現(xiàn)象就成為感性的世界了,在遇見這些奇怪問題時(shí),大家還是要理性的思維去對(duì)待,只有認(rèn)真找出問題的根源,就可能避免以后更多的奇怪問題產(chǎn)生。

以上所有圖片均來之互聯(lián)網(wǎng)? ?

大家好,我是“上世是朵花”。如果你有什么好的看法或者觀點(diǎn)可以在評(píng)論區(qū)展現(xiàn)你的才華,互動(dòng)交流,如果想進(jìn)一步了解我,那就關(guān)注我吧!(微信公眾號(hào):sssdhua )

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容