チーム開発におけるフォーマット統一の重要性
チーム開発でGithubなどのバージョン管理システムを導入しているのはもはや当たり前だと思いますが、そこで必ず発生するのがこのフォーマット統一に関する問題です。
例えば、ある人はファイル末尾に必ず空行を挿入する設定をしているのに、自分は空行を挿入しないような設定にしていると、自分が作成したファイルを他の人が編集すると、微妙なフォーマットの更新が発生します。また、その逆も起こりえます。
特定の人が編集する度にフォーマットに関する差分が発生してしまうと、無駄なコミット履歴が残ってしまい、またコードレビューをする人からするとかなり見難いため、あまりよくありません。
チームごとで各メンバーが使用するエディタの設定を統一することで、無駄なコミットが発生しないよう心がけましょう
Atomでのフォーマットの設定
Preference > Packages を選択し、検索欄に「whitespace」を入力して検索します。
Atomにはこのwhitespaceというプラグインがデフォルトで入っており、ここでスペースに関する設定をすることができます。
また、いくつかデフォルトでオンになっている設定があり、保存時に自動フォーマットしてくれるため、変更したい時はこの設定を確認してみましょう。
ファイルの末尾の改行
ファイルの末尾に改行が挿入するかどうかの設定は、Ensure Single Trailing Newline
で行います。改行させないようするには、このチェックを外します。
カーソル行のスペース
カーソルがある行の余分なスペースを削除したくないときは、Ignore Whitespace On Current Line
のチェックを入れます。削除したい場合は、チェックを外します。
空行のスペース
スペースのみの行があった場合、そのスペースを削除したくない場合は、Ignore Whitespace Only Line
のチェックを入れます。削除したい場合は、チェックを外します。
ファイル保存時に自動的にスペースを削除する
ファイルを保存した時に、上記で設定したような余分なスペースを自動で削除するようにしたい場合は、Remove Trailing Whitespace
のチェックを入れます。必要のないときはチェックを外します。
注意点
無意識にコードの差分を生まないように注意する
これはエディタの設定にもよると思うのですが…。
この自動フォーマット機能は勝手にインデント揃えてくれたりと大変便利なのですが、この機能により自分の気づかないところで差分が発生してしまうことがあります。
例えば、ファイルを保存した時に自動フォーマットするような設定にしていると、意図せず関係ないファイルを編集してしまい、git status
を叩くとたくさんファイルがmodifyされてる…みたいなこともあると思います。
最初からエディタの設定と同じようにフォーマットされているファイルを編集するのであれば、問題ないとは思います。
そうではないファイルを編集する際は、自動保存の設定はしなくても良いんじゃないかと個人的には思います。