【Unity備忘録】クラス図設計して個人的によかった点

f:id:coffee_ryo:20180715035936p:plain

前提

  • 設計よくわかってない人間、コーダーとかスクリプターとか
  • PlantUMLでクラス図書く
  • ZenjectとUniRx使ってみる
  • 開発で使える期間は1年間と決まっている
  • 個人ゲーム開発

良かった点

予定を立てられる
  • エターなりたくない、ならば、いつ開発終わるの?の自問自答に対して答えられるようにしたい
  • クラス数最低〇〇個みたいなのが見えてくる
  • 技術的に難しそうな箇所の早期発見、早い段階で検証すれば精神的不安も解消
  • 「コーディングだけで最低半年かかる」とか分かれば早期に仕様の削り落としとかにも繋がる
重複コードの発見
  • 似たようなメンバ変数の構成のコンポーネントが出てくる
  • ボタンクリック時とかの処理とか、よく見るとメソッドの引数が違うだけとか
  • 通化しても問題なさそうなところはしていく、コード行数少なければ開発後半の苦しみが減る
  • 行き当たりばったりで開発していると気づきにくいかも
自分が書いたコードがわからなくなる現象の回避
  • 1個のクラスの役割「do」は1つ〜2つ程度でおさまっているか?
  • たくさんあるとシンドイ。プレイヤーの移動&ダッシュ&スーパーアーマー&死亡とかあるとスパゲッティー化
  • 役割が複数あるのは分割する
  • 逆に役割が0のやつとかがあったりする、そういうのは設計段階でなくす
  • クラス図を残しておくと、なんでこれ作ったか思い出すヒントになる

悩みどころ

個人開発でどこまで設計する?
  • 事前に設計したとしても仕様の変更とかが出てきてしまう。今の所見た目やアニメーションに関わる部分は変更が激しそうなためあまり設計してない。
  • クラス図以外では必要なのか?