C#コーディングスタイルの話

公式ドキュメントでのC#のコーディングスタイルのガイドラインが変わったというので、喧々ガクガクです。

C# のコーディング規則 – C# プログラミング ガイド | Microsoft Docs

更新されたものが上になります。細かくいろいろと変わっていますが、話題になったのはprivate/internalフィールドの変数名に「_」をプリフィックスで付けるというものだったり、varの扱いだったりとか。「_」をプリフィックスで付けるというのは結構昔からあるルールで、ReShaperではデフォルトだったコーディングスタイルですが、嫌いな人は嫌いな模様。

今回の更新ですが、実際には以下の現状の.NET(.NET Core)プロジェクトでのコーディングスタイルガイドラインにあわせての更新になります。

https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md

これの.editorconfigは以下。

https://github.com/dotnet/runtime/blob/main/.editorconfig

また、このコーディングスタイルは.NETアナライザーのCodeStyle分析で使用されるコードスタイルになるはず。また、.NET Code Formatterツールでもこのスタイルが使用されます。あと、大事なことなので書いておきますがこのコーディングスタイルはStylecop Analyzerのコーディングスタイルとも違います。

個人的にはMSのルールとは違いすぎる昔のmonoのコーディング規約を知ってからは、個人的には、コーディングスタイルはプロジェクトごとにチームで決めれば良いと思っているので、チームで合意できれば何でも良いというのが僕の考えで、今回のこのコーディングスタイルは、チームが持っているコーディングスタイルの歴史的な経緯や合意をぶっ飛ばしてまで使うものでも無いと思います。その上で、今であれば、容易にそのルールに合わせられるように.editorcofigなど用意してチーム内でツールを使って統一しましょうよと言うぐらい。ただ、だるいので基本的にはVisual Studioの標準設定から無理に変えることも無いかなと言う感じではあります。また、ReSharper使っているところはReSharper先生にすべてを委ねるのが良いと思います。

ただ、どうして良いかわからないとか、チーム内でなかなか合意が得られないような場合には、.editorconfigも用意されているので、今回更新された標準を使ってみるのも悪くないかもですね。

コメントを残す