close

老師說的話要不要聽?     當然要聽啦!

起碼,"少用全域變數"這件事情要聽~

 

最近要在程式上新增一個小功能,大約100行程式碼

但是這個程式前前後後已經翻修過三次了

從原本約1000行發福到5000行左右

 

寫好程式並且開始測試的時候

新增的功能很正常,但是沒修改過的地方卻發生無法預期的錯誤

這.........

究竟是新功能的糾結,舊功能的糾葛,還是該死的全域變數的糾纏呢?

(我當時真的想到這三個嫌疑犯)

 

為了找出真正的兇手

我把新功能關掉,然後再執行一次

一如往常,正常的不得了~


我同時打開新功能以及舊功能,並且檢查新功能的運算結果

嗯~~也是對的

果然是"該死的全域變數"的糾纏!

 

為了加入新功能,我整整被糾纏了一天半

從應用程式往下追到底層程式

來來回回地Trace使用到全域變數的程式碼

終於在下午找到錯誤,並且更正

(其實就是忘了把全域變數歸零)

 

"少用全域變數"---這句苦口婆心的經典建議

是過去一天半,我的腦海不斷浮現的一句話

因為你永遠不知道,何時要再修改程式,新增功能

 

當時我從零開始,寫完了約1000行的程式

使用全域變數去控制底層程式的溝通顯得很簡單而且快速

只是我天真地以為,永遠不會再新增功能

沒想到後來大翻修了三次

 

根據這次經驗,我對全域變數的使用有了新想法

我以後大概只會把全域變數當成驗證程式的工具

不使用全域變數來控制程式以及程式邏輯

 

老師呀,你說得還真對呀!


 

 




 


 


arrow
arrow
    全站熱搜

    tim0611 發表在 痞客邦 留言(0) 人氣()