コーディング

 さて、1月ほどかけてリファクタリング。外見上変わったことはないのでお見せできるものはないのですが、内部的に随分きれいになりました。

  • プレイヤー、ボス、ステージのステートパターン化
  • 自機タイプをポリモーフィズム、オーバーライド
  • シートのカテゴリー化(使用場面毎にフォルダ化)
  • 雑魚をストラテジーパターン化
  • 命名ルールに則って再命名

 と、まあわかってる人にとっては当たり前のことですがオブジェクト指向の基本事項を導入しました。


参考にした本
 独習C# 新版 (独習) [ 山田 祥寛 ]
独習C# 新版 (独習) [ 山田 祥寛 ]


きれいなコードを書くための鉄則 [ Lepton ]
きれいなコードを書くための鉄則 [ Lepton ]

 
 いままでは命名ルールすら分かっていなかったので後で見返した際に「これなんだっけ」と思う変数が多かったのです。全体にcamel法で統一しました。今後、命名する際にも単純なルールと役割に基づいて命名できるので変数・関数名を考える手間が省けました。

 またステートパターンを多用したことで動きがわかりやすくなりました。前作はswitch文でステージ、ボスを進行させていたのですが、複雑になりすぎたため改善する必要があったのです。2の作成終盤なんてうんざりしてました。今回のリファクタリングで3だけではなく4以降もこのプロジェクトを使って作成できます。ステートパターンはシートを増やせばいくらでも複雑なことができますので拡張性も高くシリーズ物を作るにはもってこいではないでしょうか。

 コードがすっきりし空いた分で色々と考えることができるなります。なんか進まない時は今までに作ったものを見直して最適化すると新しいことに挑めるのかもしれません。私はここまで整理してやっと絵をかける状態になりました。リファクタリング前は「書いたとしても位置・ポーズ調整とかめんどくせえな」と思っていたのでやる気がでなかったです。素材を作ったらすぐ実装できるようにコードを整えておくというのも有効ですね。



サキュレーターでPC冷やすと早くなるよ
P_20180821_160635