こんにちは、Unity勉強中のみやびのです。
めっちゃ苦戦しております(笑)。
最近のエディタは優秀なもので静的解析で多くのエラーが見つけてくれます。
大抵のエラーを拾えるのでかなり楽にはなるのですが、やはり限界がありビルドしてみないとわからない場合もちらほら。
何時間も悩んだ後に試しにビルドしてみたらピロっとエラーが出たりします。
というわけで、迷ったらビルド(インタプリタ型なら実行)してみるのがおすすめです。
あっさりエラーの正体が見える場合もあります。
無駄に迷ったり調べたりするのも無駄なのでまずは手元でできることをやりつくしましょう。
本記事の内容は以下の通り。
・RiderやUnityエディタの静的解析は優秀だけど限界がある
・「迷ったらググれ」の前にやるべきこと
最近のエディタの静的解析は優秀だけど限界がある
最近のエディタはめちゃくちゃ優秀でビルドなしにほとんどのエラーを刈り取ることができます。
ビルドはめっちゃ時間がかかるので大半のエラーを刈り取れるのは非常にありがたいですね。
しかし、静的解析で拾えるエラーには限界があります。
「静的解析で問題が出ていないから」という理由で長期間放置していると「ビルドした時に大量にエラーが出る」ということになりかねません。
大量にエラーが出ると解決するのが非常に困難です。そしてエラーを取り除くために何度もビルドしなければなならい可能性もあるので膨大な時間がかかります。
なので定期的にビルドしてエラーがチェックすることも大事です。
ちょっと席を外す時間や調べ事をする時間を活用して裏でビルドしておきましょう。
また、余裕がある場合はビルドだけでなく実際に動すのがベターです。
「迷ったらググれ」の前にやるべきこと
「迷ったらググれ」
という考えは間違いはありません。
大半の問題はググれば解決できます。
しかし、「なんでもかんでもググるという人」は「なんでもかんでも質問する人」と一緒です。
自分で考えることを放棄しています。
ググる前に試せることは全てやりましょう。
・静的解析の確認
・ビルドする
・実際に動かしてみる
・コードを読む
「なんでもかんでも質問する人」はいずれ上司や先生などにキレられるかもしれませんが、Google先生は菩薩メンタルなのでなんでも何度でも答えてくれます。
それに甘えずに自分の頭で考えることも大事です。
静的解析の確認
まずは静的解析の確認です。
これを見逃す人はいないと思いますが念のため。
大半のエラーはエディタが静的解析で拾ってくれます。
いきなり目視で見てもいいですが、それは時間がかかるし効率が悪いので最後の手段です。
ビルドする
「静的解析でエラーが出ないけどうまく動かない。よしググろう」
という人は思考停止しています。
ちなみに上記は数時間前の私です(笑)。
「静的解析でエラーが出ない=全くエラーがない」という訳ではありません。
なので静的解析でエラーが出ていないならビルドしましょう。
もちろんビルドは時間がかかるので、その間にコードをチェックしたりググったりするのはありです。
「何時間もググったり悩んだりしたのにビルドしたら一発でエラーの正体がわかる」ということも珍しくありません。
こうなると調べた時間と労力がものすごい無駄です。
何時間も調べる時間と労力があるなら裏でビルドを走らせておきましょう。
実際に動かす
「ビルドでもエラーが出ない。よしググろう」
という人も思考停止しています。
ビルドでエラーが出ない場合も全くエラーがないとは限りません。
実際に動かしてみて始めて気づくエラーもあります。
そして実際に動かせば静的解析とビルドの結果だけで調べるよりも多くの情報を得ることが可能です。
具体的には「エラーログ」や「不具合が起こる手順」などですね。
多くの情報があればあるほど解決にも近くなるので「実際に動かす」という作業は非常に有効な作業です。
コードを読む
できる作業を全てやったら最後にコードのエラー個所をチェックします。
「最初からコードを読んだ方がいいんじゃないの?」
と思うかもしれませんが、それだと調査のポイントが絞れないのでかえって時間がかかります。
何のエラーも出なかった場合は全体を見直すしかありませんが、上記作業をすればいくつかのエラーが見つかる場合がほとんどです。
なので最初からコードを読むよりも効率的に調査をすることができます。
目視でコードを読んでなお問題が見つからなかった場合に初めてググったり質問したりして問題の解決方法を外部に求めます。
すぐに質問したりググったりすると全然成長できません。
ただし、仕事中は調査に避ける時間も限られているので「自分で全て解決しようとする」ことは必ずしも正しくはありません。
自分の成長と作業時間を天秤にかけて臨機応変に対応しましょう。
終わりに
最近のエディタは優秀ですが、エラーの刈り取りには限界があります。ビルドしたり実際に動かしたりして初めて気づくエラーも多いです。
静的解析でエラーがないから即ググるのはあまりよくありません。かえって時間がかかりますし、成長にもつながりません。
という私もちょくちょくビルド時間をケチってググってしまいます(笑)。
Google検索は非常に便利ですが、その前にやることはたくさんあります。
試せることは全て試してからググりましょう。
関連記事>>Unityトラブル解決方法まとめ