为什么全局变量不好?[翻译]
生活随笔
收集整理的這篇文章主要介紹了
为什么全局变量不好?[翻译]
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//來(lái)自:https://softwareengineering.stackexchange.com/questions/148108/why-is-global-state-so-evil
首先,全局變量讓程序的狀態(tài)變得不可預(yù)測(cè)。
詳細(xì)地說(shuō),比如有兩個(gè)對(duì)象都用到了同一個(gè)全局變量,但是假設(shè)我們沒(méi)有用全局變量(也就是排除了隨機(jī)性變量)它的代碼是確定的,對(duì)于特定的輸入那么就可以預(yù)測(cè)方法的輸出(這也稱為測(cè)試)。但是現(xiàn)在兩個(gè)對(duì)象共享一個(gè)全局變量,那么如果一個(gè)對(duì)象中改變了這個(gè)全局變量,將對(duì)另一個(gè)對(duì)象的起始狀態(tài)有影響,將不能預(yù)測(cè)它的輸出。這樣就不利于單元測(cè)試了。
如果代碼依賴于外來(lái)的全局變量,那么就破壞了代碼的可信度。還存在并發(fā)訪問(wèn)沖突的問(wèn)題。
任何人都可以改變?nèi)肿兞?#xff0c;所以它是不可靠的。
轉(zhuǎn)載于:https://www.cnblogs.com/BlueBlueSea/p/9310465.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的为什么全局变量不好?[翻译]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MVC防止CSRF攻击
- 下一篇: postgresql 获取所有表名、字段