[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart3 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart3 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
178: 名前は開発中のものです。 [sage] 2021/02/08(月) 22:01:26.87 ID:oiCGlHqI >>175 スクリプトってのはUnityだとクラスだから、「1クラスにいろんな機能を放り込んだほうが楽じゃね?」という発想という前提で話をしてみる 結論から言うと「最初は楽かもしれないが、長期的には地獄を見る可能性がある」という感じ 以下解説、長文なので分割兼先に謝っとくね オブジェクト指向設計原則またはSOLIDの原則と呼ばれるものがあって、その1つに「単一責務の原則」ってのがある 1つのクラスには1つの責務(機能)しか持たせない方が良いという原則 この原則に徹底的に反して、1つのクラスやオブジェクトにありとあらゆる責務をもたせちゃってるのがアンチパターンの1つ「神オブジェクト」ってやつ フィールド(変数)やメソッドが1つのクラスの中にやたらめったらあると たった1つのフィールドやメソッドを変更した時に他のメソッドに影響が出る可能性が出てくる 変数を変更してバグが出た後に「えっこのメソッドこの変数見てたの!?」って気づくような状況ね 別のクラスにあるメソッドなら影響が出るはずないのは当然だよね だから程度によるが分けた方がメンテナンス性が向上するってわけ http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/178
179: 名前は開発中のものです。 [sage] 2021/02/08(月) 22:01:57.53 ID:oiCGlHqI >>178つづき 神オブジェクトの危険性としては 自分一人の開発で神オブジェクトの中身をすべて把握しているなら影響範囲はわかっているだろうけど、1年後2年後もそれを覚えていられる人はまれ 影響範囲を忘れた後神オブジェクトの変更をしなきゃいけないとしよう(神オブジェクトはあらゆる機能を持つため変更も頻繁に入る) どこに影響がでるかわからないからおいそれと変更できず、まず影響範囲を調査することから初めなきゃならなくなる 極端な例だけど100個のフィールド、100個のメソッドがある神オブジェクトの影響範囲を調べないといけないとしたら、それだけでうんざりするだろう そして調査をすり抜けたメソッドがまったく思いもしなかったバグを生む・・・それが発覚するのは納品/公開後・・・みたいな悪夢も考えられる 蛇足だけどCorgi Engineの作者は最初の頃キャラの能力(走るとかジャンプとか)をもたせるクラスを1つだけつくって その中にすべての能力の処理を書いていたらしいけど、メンテナンスが難しくなったので各能力ごとにクラスを分ける形に変更したそうな ちなみにこうすることで新たな能力の追加をする際既存コードに手を加えなくて済むという「開放/閉鎖の原則」にも従った設計になってるんだけどさすがに割愛 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/179
377: 名前は開発中のものです。 [sage] 2021/02/18(木) 11:51:51.65 ID:hMvNScPd >>373 >178が言っているのはこういう事 http://www.lancarse.co.jp/blog/?p=1039 とかね FSMの実装が分からないならこれでもやればよろしい https://learn.unity.com/project/finite-state-machines メソッド一杯あり過ぎて訳わかめならデザインパターン使えって事 http://mevius.5ch.net/test/read.cgi/gamedev/1611461190/377
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s