1. Qiita
  2. 投稿
  3. Unity

MonoDevelopのSource Analysis機能が非常に便利だった

  • 1
    いいね
  • 0
    コメント

はじめに

MonoDevelopにはSource Analysisという機能があり、有効にしておくとMonoDevelopがソースコードの改善箇所を指摘してくれるようになります。今回はその設定方法と具体的な指摘内容を実例を交えて紹介したいと思います。

確認環境

  • OSはMacのOS X El Capitan (10.11.6) を使用
  • MonoDevelopはバージョン5.9.6を使用

設定方法

MonoDevelopのメニューの「MonoDevelop-Unity」→「Preferences...」→「Text Editor」→「Source Analysis」の「Enable source analysis of open files」にチェックを入れ「OK」をクリックします。これでSource Analysis機能が有効になります。

image

Source Analysis機能を有効にすると、MonoDevelopの右側にスクロールバーが表示されるようになります。緑色/青色の箇所にマウスのカーソルを合わせ、改善箇所の内容を確認してみてください。以下の例では不要なusingが指摘されており、ソースコードの該当箇所は色が薄くなって表示されます。(この場合はUnityEngine.UIが不要)

image

image

具体的にどのようなコード改善箇所が検出できるのか?

試しに個人で開発しているプロジェクトで確認してみた結果、以下のようなコード改善箇所が検出されました。(あくまでも一例なので参考までに)

不要なusingの検出

image

var宣言の使用

image

フィールドに対するデフォルト値での冗長な初期化

image

冗長なToString()メソッドの呼び出し

image

コメント・トークン

ソース上に残っている FIXME/TODO/HACK/UNDONE など

個人的に不要だったルール

staticメソッドへの変更

Unityのイベントコールバックでシーン遷移のような単純なコードも引っかかったため不要という判断です。

image

未使用のフィールド

SerializeFieldにして、Inspectorからオブジェクトを割り当ててスクリプトから操作するだけだと検出対象となるようです。ただし、ルールを無効にすると本当に未使用なフィールドが検出されなくなるためルールとしては残しておいてほうが良さそうです。

image

三項演算子への変更

可読性が下がる場合もあるためHint→Suggestionに変更しました。

ルールの調整

上記のようにルールの調整が必要な場合は、指摘箇所で右クリック→「Fix」→「Options for "(指摘内容)"」→「Configure Rule」から調整するようにしましょう。

image