當我把在大學我的第一個編程過程中,我們被教導全局變量是邪惡的&應該不惜一切代價避免(因爲你可以快速開發混亂和難以維護的代碼)。第二年,我們學習了面向對象編程,以及如何使用類創建模塊化代碼。我發現無論何時使用OOP,我都會使用我的類的私有變量作爲全局變量,即,它們可以被類中的任何函數讀取和修改。這是不是很合適我坐,因爲它似乎引入了同樣的問題全局變量曾在語言,如C.如何編寫不依賴「全局」變量的類?
所以我想我的問題是,我該如何停止與「全局」變量作文課?假裝我用功能性語言寫作會更有意義嗎?通過這個我的意思是讓所有的函數參數&返回值,而不是直接修改類變量。如果我需要設置任何字段,那麼我可以只取出函數的輸出並分配它,而不是讓函數直接執行。這看起來好像可能會創建更多可維護的代碼,至少對於更大的類來說。常用的做法是什麼?
「具有的所有功能需要的參數和返回值,而不是直接修改類變量。如果我需要設置任何領域,我可以把函數的輸出和分配給它,而不是直接具有功能做到這一點的。「 這就是我被教導如何有效地進行編碼,作爲可重用性,可讀性(假設你的函數名反映了這個函數的作用),良好的結構和易於修改的源碼 – Mike 2010-05-24 16:20:32