今天我想說的是,傳遞參數引用的話題。這個話題源於我今天遇到的一個bug。一個對象的ProcessID不知在什麼地方被重置了。ProcessID是一個對象的屬性,這個屬性是可讀寫的。而在那些要使用ProcessID的函數中,它們的參數列表傳遞的都是那個對象。這樣的函數有很多,所以要找到那個重置了ProcessID的位置,就變得有點像大海撈針了。
如何避免這個問題呢,後來我想了一下,可能還要從參數列表中下手,參數列表最好是傳遞簡單的數據或是結構,而不是對象引用,或者是在傳遞對象引用之前,將這個對象復制一份,將備份的對象引用傳進去。這樣就可以很大程度上避免這個問題。當然這會帶來一些性能上的損失,但是要少出bug,可能也只有這樣了。
我不知道我的這個想法是否合理,還望各位高手,特別是構架師們多多指教。