Python學習筆記(2)慎重使用全域性變數
原文連結
小甲魚建議不到萬不得已不要使用全域性變數,簡潔的概括為:
a) 程式碼可讀性變差
b) 程式碼安全性降低
以下關於全域性變數的危言聳聽是轉來的,大家不妨也看下:
1.它會造成不必要的常量頻繁使用,特別當這個常量沒有用巨集定義“正名”時,程式碼閱讀起來將萬分吃力。
2.它會導致軟體分層的不合理,全域性變數相當於一條快捷通道,它容易使程式設計師模糊了“裝置層”和“應用層”之間的邊界。寫出來的底層程式容易自作多情地關注起上層的應用。這在軟體系統的構建初期的確效率很高,功能除錯進度一日千里,但到了後期往往bug一堆,處處“補丁”,雷區遍佈。說是度日如年舉步維艱也不為過。
3.由於軟體的分層不合理,到了後期維護,哪怕僅是增加修改刪除小功能,往往要從上到下掘地三尺地修改,涉及大多數模組,而原有的程式碼註釋卻忘了更新修改,這個時候,交給後來維護者的系統會越來越像一個“泥潭”,註釋的唯一作用只是使泥潭上方再加一些迷煙瘴氣。
4.全域性變數大量使用,少不了有些變數流連忘返於中斷與主迴圈程式之間。這個時候如果處理不當,系統的bug就是隨機出現的,無規律的,這時候初步顯示出病入膏肓的特徵來了,沒有大牛來力挽狂瀾,註定慢性死亡。
5.無需多言,如果您的系統中大量使用全域性變數,那麼您已經成功得到一個畸形的系統,它處於一個神祕的穩定狀態!你看著這臺機器,機器也看著你,相對無言,心中發毛。你不確定它什麼時候會崩潰,也不曉得下一次投訴什麼時候道理。
相關文章
- Solidity語言學習筆記————5、全域性變數Solid筆記變數
- Python 學習筆記-2-1-變數Python筆記變數
- Solidity語言學習筆記————7、單位和全域性變數Solid筆記變數
- Solidity語言學習筆記————6、全域性變數風格指南Solid筆記變數
- Python學習筆記 - 變數Python筆記變數
- python學習筆記 區域性和全域性作用域Python筆記
- Python中的全域性變數和區域性變數Python變數
- less 全域性變數使用 引用變數
- Python學習筆記(2)Python筆記
- Python學習筆記|Python之內建變數__name__Python筆記變數
- 吳恩達機器學習筆記 —— 2 單變數線性迴歸吳恩達機器學習筆記變數
- 全域性變數變數
- Python3學習筆記3,變數、運算子Python筆記變數
- QT 全域性變數使用方法QT變數
- javascript全域性變數的使用注意JavaScript變數
- Tensorflow學習筆記: 變數及共享變數筆記變數
- Python定義全域性變數的用法Python變數
- javascript學習筆記,二、變數JavaScript筆記變數
- 全域性變數與區域性變數變數
- 區域性變數和全域性變數變數
- 全域性 DOM 變數變數
- 數論學習筆記 (2):質數筆記
- python多執行緒-共享全域性變數Python執行緒變數
- python爬蟲—學習筆記-2Python爬蟲筆記
- golang變數作用域問題-避免使用全域性變數Golang變數
- Java區域性變數與全域性變數Java變數
- java 全域性變數和區域性變數Java變數
- jmeter全域性變數和區域性變數JMeter變數
- 【c】全域性變數與區域性變數變數
- [go 學習筆記] 二、變數、常量Go筆記變數
- JavaScript學習筆記2: js書寫語法及變數JavaScript筆記JS變數
- Python學習筆記 - 字串,數字Python筆記字串
- vue定義全域性變數和全域性方法Vue變數
- 線性代數學習筆記(二)+貪心學習筆記(一)(2024.10.5)筆記
- js宣告全域性變數JS變數
- Python 關鍵字global全域性變數詳解Python變數
- Nginx變數詳解(學習筆記十九)Nginx變數筆記
- C語言學習筆記之變數C語言筆記變數