close
老師說的話要不要聽? 當然要聽啦!
起碼,"少用全域變數"這件事情要聽~
最近要在程式上新增一個小功能,大約100行程式碼
但是這個程式前前後後已經翻修過三次了
從原本約1000行發福到5000行左右
寫好程式並且開始測試的時候
新增的功能很正常,但是沒修改過的地方卻發生無法預期的錯誤
這.........
究竟是新功能的糾結,舊功能的糾葛,還是該死的全域變數的糾纏呢?
(我當時真的想到這三個嫌疑犯)
為了找出真正的兇手
我把新功能關掉,然後再執行一次
一如往常,正常的不得了~
我同時打開新功能以及舊功能,並且檢查新功能的運算結果
嗯~~也是對的
果然是"該死的全域變數"的糾纏!
為了加入新功能,我整整被糾纏了一天半
從應用程式往下追到底層程式
來來回回地Trace使用到全域變數的程式碼
終於在下午找到錯誤,並且更正
(其實就是忘了把全域變數歸零)
"少用全域變數"---這句苦口婆心的經典建議
是過去一天半,我的腦海不斷浮現的一句話
因為你永遠不知道,何時要再修改程式,新增功能
當時我從零開始,寫完了約1000行的程式
使用全域變數去控制底層程式的溝通顯得很簡單而且快速
只是我天真地以為,永遠不會再新增功能
沒想到後來大翻修了三次
根據這次經驗,我對全域變數的使用有了新想法
我以後大概只會把全域變數當成驗證程式的工具
不使用全域變數來控制程式以及程式邏輯
老師呀,你說得還真對呀!
全站熱搜