Johnny850807 / Coding-GYM

自己菜鳥階段時在練習Java物件導向、設計模式時,所設計的題庫,此專案庫目前用來讓我的同學/學生 (欠調教的) 們提交程式碼來進行Review,欲參考OOP題目者可直接到Projects區觀看,題目皆(85%)擁有示範解答程式碼。ISSUE放的都是Code Review嘴砲。(物件導向設計學分兩階段→JAVA→設計模式)
24 stars 6 forks source link

卡牌戰鬥遊戲:Lin #96

Open Johnny850807 opened 7 years ago

Johnny850807 commented 7 years ago

可讀性 image

你十年後再來看這一行,你真的能秒懂嗎?全世界就你懂。

image

第一個, == 2 這是什麼鬼 ? 誰知道 2 代表什麼,改掉。 第二個,你第一眼看到 setVictory() 覺得他在幹麻? 你會知道他在累積分數而不是設定勝利 ? 我還真以為這邊就剩定他贏了咧。

這種非可讀性的寫法要人教幾次才能舉一反三? 請用全世界的角度看你的程式碼。

可讀性2 image

你的CardStack根本沒有用阿,他根本就不是一個牌堆,你根本就沒用他來抽牌。 所以他是一個工廠好嗎,改名為 CardStackFactory 那你的層次就往上兩倍,可讀性也翻倍。

可讀性3 image

一樣,抽牌的動作要有回傳值才符合現實生活, 不然你就必須自己控管狀態,這種思維不可取,同樣的議題這邊提過。

下面就是你這樣做的後果,可讀性極差!

image

這種程式你自己必須思考怎麼改進吧,放著給我電幹嘛,handCardsdraw到底會做什麼事情最好一眼看得出來,你必須這樣自己記著這些狀態阿,不用十年,你三天後回來就矇了。