盡量不用奇異數,如果真想用,請用真正的奇異數:
不用奇異數是很多教科書的經典教導,我就不多說為什麼了,但教科書就是教科書,實際上因為很多原因我們用了很多奇異數,比如我很懶,我的前任程式設計師很懶,又比如開始的時候,這個奇異數是只是本段**用,你認為乙個注釋就解釋清楚了, 不需要費特大的勁搞乙個靜態變數,後來這個數用得越來越多。等等等等。。。,總之奇異數有時候不可避免。
好吧,那我們用奇異數吧, callx(1),打住,如果真想用,請用真正的奇異數,什麼叫真正的奇異數,我的解釋是稀奇古怪的數,比如callx(53223),為什麼要這樣做呢?為了方便地追蹤資料的來龍去脈。想象一下,有一天別人在除錯你的程式,發現了乙個變數是1,他想搞清楚這個1是什麼意思,估計得老半天,如果是53223,搜尋一下**裡面的全部53223,馬上就會知道從**來的,這還是在**裡面,如果這個資料1被寫到了資料庫,然後有一天資料庫管理員問你這個1是什麼意思,你的頭更大了。終於有一天,公司要嚴格正規化了,要求我們全部用靜態變數來代替奇異數,如果你用的是1,我真希望你那個時候你不再做程式設計師了。如果是53223,太簡單了,查詢替換,分分鐘搞定。你也會給我鑽牛角尖,說53223也會跟其他的資料巧合性地相同,相信我,每個程式設計師喜歡的奇異數都不太一樣,就算是巧合了,總比搜尋出一千個1好多了吧。
不要告訴我53223占用的記憶體空間比1大,如果你真這樣認為,我勸你乘早放棄做程式設計師。