StyleCop は更に有用なツールに進化していけるか?
2 週間ほど前のことになるが、Microsoft が StyleCop をオープンソース化することを決めたというアナウンスがあった。
StyleCop は C# のソースコードを分析し、コーディングルールに違反している部分がないか検査してくれるツールである。Visual Studio の拡張機能という位置づけで、インストールすると Visual Studio のメニューからソースコードの分析を実行できるようになる。似たようなツールとして FxCop があるが、こちらはソースコードをビルドしてできた中間言語 (IL) を分析するツールなので、守備範囲が異なっている。
StyleCop チームのブログによれば、ツールに対する好感と同時に、開発体制や機能についての改善要望も多かったようだ。
Since StyleCop was released publicly, there has been an overwhelmingly positive response from the C# development community. [...] At the same time, many of you have complained about the slow pace of bugfixes and updates, about limitations in the license, and about some big things like a lack of support for VB.Net.
StyleCop を公開して以来、C# を使っている開発コミュニティから、圧倒的な好評を得ました。[...] 同時に、多くの利用者から、バグフィックスやアップデートの遅さ、ライセンスの制限、そして VB.NET をサポートしていないことへの不満があがっていました。
僕も StyleCop を使ってみたことがあるが、いくつか不満に思う点があった。
- こちらからトリガーを与えないとソースコードの分析が実行されない。Eclipse + CheckStyle のように書いたそばから分析して欲しい。
- 追加のルールを作るのが大変。
- あと、知人に聞いた話だけど、Visual Studio のデフォルトのコーディングスタイル (Ctrl + E, D でフォーマットした時のコーディングスタイル) なのに、違反と判定されるものがあるらしい。
特に、最初に挙げた「書いたそばから分析」が欲しいと思っている。コードの分析にも、コーディングスタイル、他クラスのメンバーの使い方、クラスやメソッドの設計、セキュリティ上の懸念点など、いくつもの側面がある。その中で、コーディングスタイルのように、コードを書いているその場で指摘して欲しいものと、クラスやメソッドの設計のように、ある程度まとまった単位のコードを書いてから指摘してもらい、じっくり検討したいものとに分かれるはずだ。後者は、コードを書き終わった後にコンテキストメニューから実行するとか、ビルドのタイミングがちょうどいいが、前者の方は、少なくともファイル保存時、できれば書いている最中にすぐに分析してくれるとありがたい。前者のタイプの分析を StyleCop、後者のタイプの分析を FxCop という役割分担にするとよいのではないか、というのが個人的見解だ。
4/24 に、数週間で CodePlex に StyleCop プロジェクトをのせると言っていたので、そろそろコードが見れるようになるはず。ソースコードの分析・検証は自分にとって関心のある分野だし、開発にとって重要なものの 1 つなので、積極的にフィードバックしていこうと思っている。
Visual Studio 2010用のStyleCopのメッセージを和訳してみました。まだ日本語には不適切なルールなども含まれていますが、もしよりしければ試してみて見ていただけるでしょうか?
ReplyDeletehttp://sourceforge.jp/projects/oss-ja-jpn/releases/?package_id=11170
小沢
hozawaさん
ReplyDeleteコメントありがとうございます。
メッセージの和訳ですか、すばらしいですね。
早速試してみます。