Hero background image
Roslynアナライザでコード品質と保守性を確保する方法

この記事では、RoslynアナライザーがUnityのゲームコードのデバッグと品質向上にどのように役立つかを説明します。

Roslynアナライザーは、RoslynコンパイラプラットフォームのAPIを使用してC#コードをリアルタイムで解析するコード解析ツールです。アナライザは、事前に定義されたルールのセットに基づいて、コードの改善提案、警告、またはエラーを提供することができる。Microsoft Visual StudioとMicrosoft Visual Studio Codeのプラグインとして動作し、両コードエディターのインテリセンス機能を補完する。

Roslynアナライザは、IntelliSenseが提供するサジェスト、補完、利用可能なAPIに関する情報を基に、コード内の潜在的な問題を解析して特定するための追加ツールを提供します。さらに、Roslynコンパイラー・プラットフォームのAPIを使った修正可能な提案も得られます。

Roslynアナライザは標準を強制し、コード規約に違反した場合に警告を出すのに便利です。さらに、コードエラーやスタイル違反を修正する手助けをしてくれることも多い。

Visual Studioには、Roslynのオープンソースレポの一部である多くのデフォルトアナライザーが付属しており、この方法でのデバッグについて学ぶための良いリソースです。

注意:この記事のほとんどはWindowsのみに適用されます。RoslynアナライザーはmacOS版Visual Studioでも使用可能ですが、Windows版と比べると、その検査サポートは限られています。

Roslyn アナライザー
動作中のRoslynアナライザー

上の画像は、Roslynアナライザーの典型的な使い方を示したビデオからのものです。この例では、コードを分析した結果、未使用の変数が見つかった。変数カウントに緑色の下線が引かれているため、開発者はこの問題を認識できる。このリンクをクリックすると、問題が表示され、修正するためのオプションが表示される。ビデオでは、開発者が推薦に基づいて未使用の変数を削除することを選択している。

緑の四角形に加えて、赤い四角形や灰色の点が見えるかもしれない。これらの異なる記号は、問題のセキュリティ・レベル、つまりあなたのコードにとって問題がどの程度深刻かを示している。

アナライザーの重大度レベル
深刻度レベル

上の表が示すように、各アナライザーにはユーザーが設定可能な重大度レベルがある。

Roslyn アナライザー
内蔵アナライザーの設定

Roslynアナライザーはいくつかありますが、Visual Studioにもいくつかプリインストールされています。これらの内蔵アナライザーの設定は、2つの場所で調整できる。ローカルバージョンのVisual Studioの場合、デフォルト設定は「ツール」→「オプション」→「テキストエディタ」→「C#」→「コードスタイル」→「全般」で調整できます。上の画像に示すダイアログボックスを使用して、重大度レベルを変更することができます。

Roslyn アナライザー
アナライザーのハイライト

上の画像はシンプルなコード・クラスである。7行目のposのpとoの文字の下にある省略記号(3つの点)と11行目のif文は、提案を示している。distanceの下にある緑の四角は警告で、11行目のxPosの2つのインスタンスの下にある赤い四角はエラーである。警告とエラーはエラーリストウィンドウにも表示されます。

修正の可能性を示す手順
修正の可能性を示す

内蔵アナライザーの設定を表示する画像では、リファクタリングのみと、コードブロックの環境設定の提案が切り替わっていることにお気づきでしょう: 。リファクタリングだけで、if文の下の省略記号を隠すことができる。

中括弧の設定がサジェストで、省略記号の上にカーソルを置くと、修正リンクの可能性を示すパネルが表示されます。これをクリックすると、利用可能なオプションが表示された別のパネルが表示されます。この場合、選択肢はただひとつ、コードに中括弧を加えることだ。上の画像はこのシーケンスを示している。

.editorconfigファイルの追加

特定のプロジェクトのコードスタイルを保証したい場合は、プロジェクトに同梱されている.editorconfigファイルを追加してください。これは、多くの開発者で構成される大規模なチーム全体に、合意されたコードスタイルのルールを強制する効率的な方法となる。

.editconfigファイルを使用すると、ツール > オプション > テキストエディタ > C#を使用して、Visual Studioのバージョンの設定を上書きすることができます。必要であれば、1つをルートに、もう1つをサブフォルダーに置くことで、複数の.editorconfigファイルを入れ子にすることもできます。サブフォルダー内のものがルートのものを上書きする。

次のセクションでは、.editorconfigファイルを追加する方法について説明します。

Roslyn アナライザー
重大度レベルの変更

コード・テキスト・ウィンドウに含まれるアナライザの重大度レベルを変更する。

Roslyn アナライザー
ソリューションエクスプローラ経由

ソリューションエクスプローラーを右クリックし、新規項目を選択します。次のパネルで、Installed > C# > General editorconfig File(デフォルト)を選択します。

もう1つの方法は、「ツール」→「オプション」→「テキストエディタ」→「C#」パネルの設定から「.editorconfigファイルを生成する」を選択することです(画像の「内蔵アナライザを設定する」にあります)。

Roslyn アナライザー
.editorconfig ファイル

.editorconfigファイルができたので、Visual Studio(Windows版)はフード下にテキストファイルの編集可能なビューを表示します。このファイルを変更すると、.editorconfigが保存されているフォルダとそのサブフォルダ内のC#スクリプトに影響します。

パッケージマネージャーコンソールを使う
カスタムアナライザーのインストール

プリインストールされているRoslynアナライザーに追加して、機能を拡張することができます。アナライザは、NuGetパッケージまたはVisual Studio拡張機能(VSIXファイル)としてインストールされます。NuGetパッケージのインストール・プロセスについては、www.nuget.org。人気なのはStyleCop.Analyzersで、コードベースのスタイルの問題を探す。

ツール(Tools) > NuGetパッケージマネージャ(NuGet Package Manager) > パッケージマネージャコンソール(Package Manager Console)を使用して、Visual Studioにパッケージをインストールします。各アナライザー・パッケージのwww.nuget.orgのページには、パッケージ・マネージャー・コンソールに貼り付けるコマンドが表示されます。テキストをクリップボードにコピーする便利なボタンもある。

Roslyn アナライザー
アナライザーアセンブリ

アナライザ・アセンブリがインストールされ、ソリューション・エクスプローラーの「参照」>「アナライザ」に表示されます。

Roslyn アナライザー
アナライザをVSIX拡張機能としてインストールする

VSIXの拡張機能として提供されているアナライザをインストールする方法もある。Visual Studioで、[Extensions] > [Manage Extensions]を選択します。

拡張機能の名前がわかっている場合は、検索フィールドを使って探すか、単に "analyzer" と検索してください。上の画像はコメントアナライザーが選択されている。Download]をクリックしてアナライザー拡張機能をインストールし、[OK]を選択してダイアログ・ボックスを閉じ、Visual Studioのすべてのインスタンスを終了してVSIXインストーラーを起動します。

Modifyを選択してインストールを開始します。インストールが完了したら、「閉じる」を選択し、Visual Studioを再度開きます。

Roslyn アナライザー
エクステンションのインストールの確認

拡張機能がインストールされているかどうかを確認したい場合は、[拡張機能] > [拡張機能の管理]を選択します。拡張機能の管理]ダイアログボックスで、左側の[インストール済み]カテゴリを選択し、名前で拡張機能を検索します。

クリーンなコードを書く
その他のリソース

この記事では、Visual Studioで利用可能な組み込みのRoslynアナライザに焦点を当てましたが、自分で構築することもできます。.NET Compilerプラットフォームを使用して構築されたアナライザは、チームのコードの品質を劇的に向上させます。

アナライザーの作成に慣れてくれば、構文や繰り返しの編集、新しいライブラリーのガイドなど、コーディングの問題でチームの生産性を高めるのに役立つことに気づくだろう。

Microsoftによる追加リソースには、独自のC# Roslynアナライザーを作成する方法に関するチュートリアルと、Roslynアナライザーに関するYouTubeビデオがあります。

Unity でのデバッグ

Unityプロジェクトのデバッグに関するヒントは、以下の記事から入手できます:

高度な技術電子書籍

Unityは、プロの開発者がゲームコードを最適化するための高度なガイドを数多く提供しています。C#スタイルガイドを作成する:スケーラブルでクリーンなコードを書く クリーンで読みやすく、スケーラブルなコードベースを開発するために役立つコードスタイルガイドの作成方法について、業界の専門家からのアドバイスをまとめた。

Unityで生産性を向上させる70以上のヒントもユーザーに人気のガイドです。Unity 2020 LTSを使った日々の集計ワークフローを改善するための時間節約のヒントが満載です。

Unityのベストプラクティス・ハブでは、Unityの先進的な電子書籍や記事をすべてご覧いただけます。

このコンテンツにご満足いただけましたか?