『りあーずだんじょん』を作ろう 第3話

arg[0] | Hello.

どうも。flanny(ふらんにぃ)です。
今回も『ダンジョン探索ミニゲームを作る』を始めて参ります。

前回は「環境構築その1」ということで「UnityとGitHubとSoureTree」について書きました。
今回は「環境構築その2」です。
「Git のお手入れ」と「ルール決め」について書きます。

arg[1] | .gitignore

まずは Git のお手入れから始めます。

".gitignore" は Git で管理させないファイル/ディレクトリを指定することができます。
例えば、Visual Studio のようなエディタが自動生成するキャッシュファイルなどは、保存していなくても再度 Visual Studio で開けば生成されます。
このような管理が不要なファイルはアップロードの妨げになりますし、ディレクトリを汚します。
別環境で開く際には、かえって邪魔になりかねません。
そういったファイルを ".gitignore" は弾いてくれます。

前回、GitHubリポジトリを作成したときに、gitignore の項目を「Unity」で指定しました。
そのため、ある程度は Unity が扱うファイルから Git にとって不要なファイルを指定してくれています。

ここに「Mac OSXに関するファイル」と「エディタに関するファイル」で不要なものを追記します。

# Mac OSX
Thumbs.db
Desktop.ini
.DS_Store

# Rider
.idea/

# Visual Studio Code
.vscode/

image

追記したものがこちらです。

arg[2] | .gitkeep

次に ".gitignore" と逆のことをします。

Git は通常、空っぽのディレクトリをコミットの対象にしません。
一方Unityは、あらゆるファイル/ディレクトリに対して「メタファイル」という独自のファイルを生成します。
空っぽのディレクトリを作った際も、そのディレクトリに対応したメタファイルが生成されます。
ここで問題になるのが「空っぽのディレクトリを作り、コミットした」場合です。
まず、ディレクトリを作ったのでメタファイルが生成されます。
次に、空のディレクトリはコミット時に Git の管理下から弾かれます。
つまり、メタファイルだけがコミットされてしまうのです。

これを避けるために「空っぽのディレクトリを作ったら ".gitkeep" で保護する」ようにします。

今回は、 shimiu 氏 が公開するスクリプトをお借りします。
これは、空のディレクトリを生成したときに、自動で ".gitkeep" を作成するものです。

こちらを Assets/Scripts/GitkeepMaker.cs という配置にしました。

image

スクリプトをお借りするときは、ファイルの上部に借りたリンク先をコメントに残しておくと良いでしょう。

image

arg[3] | .editorconfig

次は、ルール決めをします。

プログラムを書くときに、書き方のルールを設定することは非常に重要です。
個人開発であっても例外なく、書き方の統一には気を配った方が幸せになれると思います。

そのルールをイイ感じに用意できるものの1つに ".editorconfig" というものがあります。
".editorconfig" は、エディタの種類を気にすることなく、書き方のルールを指定できるファイルです。
詳しいことは、この方の記事をご覧下さい。

簡単に以下のように設定しました。

root = true

[*.cs]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8

image

arg[4] | Extra - tools 4 coding rule -

今回はここまでなのですが、少しだけ余談です。

プログラムの書き方のルールは、"コーディング規約"などと呼ばれています。
".editorconfig" はエディタに左右されずに規約を設定できますが、カバーしきれない部分も多くあります。

例えば、変数や関数の命名規則、スコープに基づいた宣言の順番、特定のキーワードに対する改行の有無などです。
そういった細かなルールを自動でチェックしてくれたり、修正してくれるツールがあるので、簡単に紹介します。

StyleCop

StypeCop は、C#のコーディング規約を静的に解析してくれるツールです。
ソースコードに対して設定した規約に沿っているかをチェックしてくれます。
あくまでチェックなので、修正はしません。

CodeMaid

CodeMaid は、コードを整形してくれるツールです。
C# に限らず様々な言語に対応しています。

Resharper

JetBrains社の強いツールです。
コーディング規約の動的解析から修正まで全部やってくれます。
私の知る限り、こういったコーディング規約に関するツールの中で最強です。
この ResharperVisual Studio のアドオンとして使うことができます。
同じく JetBrains社の IDE である Rider には標準で搭載されています。
有料ですが、学生は無料で利用できます。

関連記事

return;

さて―
ようやく準備が整いました。
幾度も Unity を使っていると、自分なりの準備というものができてくると思います。
紹介しているのは一部ですが、皆さんの Unityライフの糧になれば幸いです。

次回は「マップデータを考える その1」です。
いよいよ、Unity でゲームを作り始めます。
最初は目に見えるところから手を出します。

Comment

今回のキーワード .gitignore:Git で管理しないファイル/ディレクトリを指定する。
.gitkeep:Git で管理するファイル/ディレクトリを指定する。
コーディング規約:プログラムの書き方のルール。幸せなプログラマになるための重要な鍵の1つ。
.edirotconfig:エディタに左右されないコーディング規約の設定ファイル。