HEXA BLOG
ヘキサブログ
TIPS
EditorConfig でエンコード(文字コード)を揃えて平和なチーム開発を
社会人になりたてのプログラマーだった頃、、、
バージョン管理されたプロジェクトを更新すると
一文字も変えていないように見えるソースコードの
全ての行で差分が検知される…!
何故だ…おかしい…diffツール(ファイル比較ソフト)のバグかな…?
と、調べていると…インデントがスペースとタブで
異なっているために殆どの行で差分が出てしまっている事が発覚。。
コレではどこを更新したのかわからなくなるので
チームメンバーでインデントの書き方を揃えましょう!
と、交通整理をすることに。。😓
遥か遠い昔そんな事もあったなぁ…と思うシラッチです。
昨今だとエディタも進化していて、また、プログラミング言語に
あわせた整形ツールも多種多様にあって便利で有り難い限りです。
ただ、チームでエンコードを揃えたい、という課題を
スマートに解決する方法ってなかなかないよなぁ…と
モヤモヤしていました。
あ、ココからが本題です。長くてすみません。笑
開発環境によってはエンコードによってコンパイルエラーに
なってしまいビルドに失敗してしまう、なんて事があります。
プログラマーがソースコードを作成したときにエンコードも
気をつけて指定するように…という手段もありますが、、
EditorConfig( https://editorconfig.org/ )ご存知でしょうか?
私は最近知りました。。😅
冒頭で触れているインデントや、改行コード、そしてエンコードなど
コーディングスタイルに関するエディタの設定を
異なるエディタ間で共有するための規格です。
対応しているテキストエディタもメジャーなものが多く
標準で対応されていないものもプラグイン等の拡張で
対応しているものがあるようです。
個人的には業務でよく使う Visual Studio が 2017 から
対応している事が大きなメリットに感じました。
.editorconfig というファイルをプロジェクトのルートへ
配置しておくだけで、指定したファイルを編集した際の
スタイルを固定することができます。
例えば、
『C++のソースコード(拡張子 cpp および h のファイル)の
エンコードをBOM付きUTF-8にしたい』
というときは .editorconfig に次のように記述しておきます。
root = true
[*.{cpp,h}]
charset = utf-8-bom
root = true は、エディタに対してココがルートになります、と
示すための記述です。
フォルダごとに .editorconfig を配置することができますが
更に上位のフォルダに遡って設定を探してくれるようです。
これ以上遡らなくてもよい、と示すための設定なので
プロジェクトのルートへ配置する場合は記述しておくといいかと思います。
他にも設定はいろいろあるのですがチームでゲーム開発、プログラム開発を
されていて、コーディングスタイルの運用でモヤモヤされている方が
いらっしゃいましたら是非オススメします!
冒頭の私のように何故ビルドが通らないのだ…?とか
もー、チームルールでこうしようって決めたじゃん…ッ!!といった事に
時間を割かないように、少しでも、できるだけ
『良いプロダクトを作ること』に集中していきたいですね🙂
ではまた~🖐
CATEGORY
- about ヘキサ (166)
- 部活動 (6)
- CG (18)
- プロジェクトマネジメント (1)
- 研修 (5)
- 美学 (1)
- いいモノづくり道 (230)
- 採用 -お役立ち情報も- (149)
- プログラム (188)
- デザイン (99)
- ゲーム (274)
- 日記 (1,104)
- 書籍紹介 (113)
- その他 (875)
- 就活アドバイス (20)
- ラーメン (3)
- ライフハック (25)
- イベント紹介 (10)
- 料理 (23)
- TIPS (7)
- 怖い話 (3)
- サウンド (5)
- 子育て (1)
- 筋トレ (1)
- 商品紹介 (21)
- アプリ紹介 (31)
- ソフトウェア紹介 (33)
- ガジェット紹介 (12)
- サイト紹介 (10)
- 研究・開発 (34)
- 回路図 (4)
- アナログゲーム (40)
- 交流会 (21)
- 報告会 (3)
- インフラ (25)
- グリとブラン (6)
- カメラ (9)
- クラフト (27)
- 部活 (14)
- 画伯 (15)
- カレー (6)
- 音楽(洋楽) (6)
- 映画・舞台鑑賞 (43)
- 飼育 (5)
- いぬ (8)
- ねこ (19)
ARCHIVE
- 2024年
- 2023年
- 2022年
- 2021年
- 2020年
- 2019年
- 2018年
- 2017年
- 2016年
- 2015年
- 2014年
- 2013年
- 2012年
- 2011年
- 2010年
- 2009年
- 2008年
- 2007年