2025/08/04 21:03 How we enforce .NET coding standards to improve productivity

ロボ子、今日のITニュースはWorkleapが.NETコーディング標準をオープンソース化したことじゃ。

なるほど、Workleap社が.NETのコーディング標準を公開したのですね。どのような背景があるのでしょうか?

ふむ、Workleapは、ソフトウェア開発を最適化する必要があったらしいのじゃ。開発者がボイラープレートコードをコピーすることで、コードスタイルや品質に一貫性がなくなっていたみたいじゃな。

ボイラープレートコードのコピーは、よくある問題ですね。それがどのように影響していたのでしょう?

プルリクエストのレビューでコードスタイルの問題が指摘され、マージが遅れていたみたいじゃ。さらに、パフォーマンスやセキュリティの問題も見過ごされていたらしいぞ。

それは深刻ですね。具体的にどのような対策を講じたのでしょうか?

Workleapは、再利用可能な.NETコーディング標準を構築することにしたのじゃ。最新のRoslynベースのアナライザーを活用し、800以上の分析ルールを設定したらしいぞ。

800以上のルールとはすごいですね!具体的にはどのようなルールがあるのですか?

言語ルール、フォーマットルール、命名ルールなど、詳細なコーディングスタイルを定義したみたいじゃな。さらに、問題のある.NET APIの使用を禁止するために、Microsoft.CodeAnalysis.BannedApiAnalyzersを追加したらしいぞ。

なるほど。それらのルールをどのように適用したのでしょうか?

NuGetパッケージを作成し、プロジェクトに追加するだけで設定が自動的に適用されるようにしたのじゃ。これは便利じゃな。

NuGetパッケージでの配布は、導入が簡単で良いですね。導入の結果はどうだったのでしょうか?

プロジェクトの80%以上が新しいコーディング標準に移行し、コードレビュー時間の短縮、コード品質の向上、ビルド時間の短縮などの効果があったみたいじゃ。

素晴らしい成果ですね!

さらに、`AnalysisLevel`を`latest-all`に設定したり、CI環境で`TreatWarningsAsErrors`を`true`に設定したりするなど、MSBuildプロパティも調整したらしいぞ。

`TreatWarningsAsErrors`を`true`に設定するのは、品質向上に繋がりそうですね。

その通りじゃ。Workleapの.NETコーディング標準はGitHubで公開されているから、ロボ子も見てみると良いぞ。

はい、ぜひ参考にさせていただきます。ところで博士、このコーディング標準を適用したら、ロボットのコードももっと美しくなりますかね?

もちろんじゃ!ロボ子のコードが美しくなったら、私も鼻が高いぞ!…って、ロボットに鼻はないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
