1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

業務の「あるといいな」を実現したC#アナライザーをNuGetで公開したらDL数が伸びたのだけど

1
Last updated at Posted at 2026-08-12

はじめに

C#使いですが.net10にはまだ適応できておりません。
最近は昨今のDXの波にあやかって、業務改善アプリなどを開発しています。

それら業務において、あるといいなを形にしたC#用の静的アナライザー(CSharp_IngeniousAnalyzer)をNuGetで公開したところ、ありがたいことにダウンロード数が2,900を超えました。
わずか2ヶ月程度で、こんなにダウンロードされるなんて思っていませんでした。

……ただ、心の中ではこう思っています。

「これってボットのダウンロードだけで、どうせ実際には誰も使っていないんでしょ?」

ということで、もしも、このアナライザーを実際に使ったことがある方、ぜひじっくり感想やフィードバックを聞かせていただきたいです。
ボロクソに言っていただいて結構ですので、ぜひご意見をお願いいたします。


開発のコンセプト

社内や個人開発の中で、「こういうコードのミスや非効率な書き方を、もっと自動で検知できたらいいのに」と感じたのが開発のきっかけです。

このアナライザーでは、以下の方針を大切にしています。

  • ローカルルールに特化しない: チーム固有の厳しすぎるルールではなく、一般的な現場で役立つ「浅く広い」検知を目指す
  • Fix(自動修正)まで提供できるのが強み: 単に警告を出すだけでなく、修正までサポートする
  • 開発環境を問わない: Visual Studioはもちろん、VSCodeでも動作し、コードアクションによるFixまでしっかり確認できている

ここが便利!アピールポイント

1. 修正(Fix)までワンストップ

警告を検知するだけでなく、クイックフィックスでそのまま修正コードに置き換えることができます。この「Fixまで完結する」という点が、日々のコーディング負荷を大きく下げてくれます。

COMM002の例

警告

image.png

クイックフィックスから、Fixを選択

image.png

クイックフィックス 完了後(関数と関数ヘッダのパラメータが一致し、警告の波線が消えている)

image.png

2. VSをはじめ、VSCodeでも快適に動く

Visual StudioであればRoslynを通じてソリューション単位やプロジェクト単位への反映が一度に済みます。
VSCode環境でも問題なく動作し、Fixの適用まで確認済みです。
普段VSCodeをメインにC#を書いている方にもそのまま導入していただけます。

3. レガシーコードへの配慮(Ignore機能)

「既存のレガシーコードにいきなり適用して大量の警告が出たらどうしよう…」という懸念に対して、修正が難しい箇所はコメントを追加して警告対象外(Ignore)にできるため、段階的な導入が可能です。

CPX001の例

警告

image.png

クイックフィックスから、Fixを選択

image.png

クイックフィックス 完了後(関数先頭にIgnoreがコメントされ、警告の波線が消えている)

image.png


実際に数十万行の業務プロジェクトで試した結果

実際に、数十万行規模・クラス数100を超える実際の業務プロジェクトにこのアナライザーを導入してみました。

  • 結果: わずか2時間程度の作業で、すべての警告を0件にすることが出来ました!
  • 導入後の変化:
    • 自己レビューの精度が自然と上がり、コードレビューの際に細かい書き方の指摘(不毛な指摘)がなくなった

おわりに

……と、ここまで自分で語ってみたものの、やっぱり「本当にどこかの誰かの役に立っているのか?」とドキドキしています。

プログラマにもレビューアにとっても有益なアナライザーを目指して作っています。

実際に使ってみた感想や、「こういうルールがほしい」「ここが使いにくい」といったフィードバックがあれば、ぜひこの記事のコメント欄や、GitHubのIssues、NuGetのリンクからお気軽にお知らせください!

みなさんと一緒にこのアナライザーを育てていきたいと思っています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?