好吧,前面的文章打這麼多,那要怎麼知道你的程式碼到底是不是亂到不行。為了讓各位知道這點,我就拿出一部分還沒重構的程式碼給各位看看吧。
棋類遊戲裡,絕對不會缺少的元素—單位(Unit),各位在往下看之前可以先自己想想看這個畫面中,想是完整讓紅髮男孩動起來,會需要那些東西。
紅髮男孩本身只看畫面的話會需要以下的功能
除了這種視覺上比較可見的,還有一些比較隱藏的
既然如此,那這個單位本身長什麼樣子呢?
看到旁邊破千行的數字,應該可以料想到…恩對,這個Unit
真的幾乎把上面的內容全部都塞在一個class了Orz,這個範例在程式的世界裡就是典型的God Class範例。
每個人對於行數的標準不太一樣,我個人會希望一個Class的行數不要超過300行,超過的話功能的尋找就會變得越來越麻煩。我就會開始想辦法去思考這個Class有甚麼功能其實不應該被放在這裡而是要放在其他地方。
這個名叫Clency
的script是上面紅髮男孩的數值介面,不過我個人是覺得這介面不太好看。
當然有人會覺得這還好,不過以我的標準來看,這版面至少Hit Points、Movement Points、Action Points、Max Stamina、之類的數值要在分一層單位資料才好。或者…創個簡易版本的編輯器編輯而不是直接在Inspector上面改動?
雖然還有不少地方蠻有問題的,但在列下去就進不了正題(X)有點懶得寫(O),不過既然這個Unit
有這麼多問題的話,那要怎麼改才能讓它不要塞這麼多的功能在裡面?這就是下一篇鬆偶合架構要來說的事情了,敬請期待明天!
Turn Based Strategy Framework
流離之歌