前言
不要使用全局變量的道理大家都懂,基本上在大家學習編程過程中很早就會被教育到,但是有時候我們也會禁不住誘惑用到一些似非實是的全局變量,只不過這些全局變量會穿上馬甲,讓你不會一下看穿它的巨大危害,濫用全局變量會引申帶來其它更為嚴重的結構性系統問題。
你擔心大家會濫用的代碼,大家(包括你自己)一定會濫用。-- 魯迅。
濫用全局變量的危害
1. 濫用全局變量會造成不必要的常量頻繁使用,特別當這個常量沒有用宏定義“正名”時,代碼閱讀起來將萬分吃力。
2. 會導致軟件分層的不合理,全局變量相當于一條快捷通道,這在軟件系統的構建初期的確效率很高,功能調試進度一日千里,但到了后期往往bug一堆,處處“補丁”,雷區遍布。
3. 由于軟件的分層不合理,到了后期維護,哪怕僅是增加修改刪除小功能,往往要從上到下掘地三尺地修改,涉及大多數模塊,而原有的代碼注釋卻忘了更新修改,這個時候,交給后來維護者的系統會越來越像一個“泥潭”,注釋的唯一作用只是使泥潭上方再加一些迷