私はvb.netのスタティックコードアナライザを書くことに興味があり、私の会社の標準コーディングガイドラインに準拠しているかどうか確認しています。私はどこから始めるべきかアドバイスしてください。スタティックコードアナライザを書く方法。
答えて
FXCopは、問題/ミスを符号化するための良いスタートですStyleCopは(明らかに)コーディングスタイルに適していますが、これら2つの作品のどちらも、あなた、あなたはパーサを自分で書くかでVBCodeProviderクラスを使用するか、場合。ネットフレームワーク
独自のスタティックコードアナライザーを作成するのではなく、FxCop:を使用し、必要に応じてカスタムFxCopルールを作成することをお勧めします。それはあなたに多くの時間を節約します。 http://www.binarycoder.net/fxcop/
FxCopから開始してください。あなたがそこで試していることをすることができない場合は、NStaticやNDependのようなものを試してみてください。
私はあなたがMono's Gendarmeを使用することをお勧めします。これは非常に素晴らしいツールで、たくさんのルールが組み込まれています。また、素晴らしいHTMLレポートを生成します。
FxCopまたはStyleCopを使用し、必要に応じてカスタムルールを作成することをお勧めします。
FxCopを使用します。これは個人的に行うプロジェクトではありません。関与する構文解析/レキシカルルールと可能なキャッチは非常識です。私がそれをやっていると想像できる唯一の方法は、極端な量の表現力でLispを使うことですが、FxCopを使うのが一番です。
いくつかの理由で独自の社内ツールを書く必要がある場合は、基本的なルールチェックだけを行うLispプログラムを作成することをおすすめします。それを包括的にしようとはしません。私たちは、AI研究者がソフトウェアの解析能力に関して扱っているフロンティアの種類について話しています。
Lispを使用して、可能な明白な犯罪者を見つけたり、準拠していないコードを捕捉するのが得意なものを捕まえるだけで、簡単な人間の眼のスキャンを受けることができます。パーサーを書くためにLispを使うのであれば、マクロを乱用することを強くお勧めします。
mroeアーキテクチャの洞察が必要な場合はNDependを使用してください。このツールは私を驚かせるのに止まらない。それはFxCopよりもはるかに多くを行うことができます。それは商用だが、無料の試用版を持っている
私はそれが非常に難しいタクになるだろうが、Lispではなく、Microsoftが彼らのサードパーティWindowsドライバ分析ツール:
http://arstechnica.com/journals/microsoft.ars/2005/11/10/1796
F(ほとんどOK、)#株式Lispの表現力と全体のことを容易に思われる、ちょうどVB.NETのようにCLR上で動作します。
- 1. Cのスタティックコードアナライザ
- 2. スタティックコードアナライザの使用方法CPD ignoreLiteralsとignoreIdentifiersをコマンドラインから無視しますか?
- 3. カスタムアサートPythonを書く方法
- 4. ハイブUDFを書く方法
- 5. VB.NET:Not式を書く方法
- 6. テストクラスを書く方法
- 7. svnフックスクリプトを書く方法
- 8. ビューを書く方法
- 9. アルゴリズム||プログラムを書く方法
- 10. Nifi:カスタムプロセッサを書く方法
- 11. Django:models.pyを書く方法
- 12. リンカーを書く方法
- 13. Netty SSL:TrustManagerを書く方法
- 14. ネットワークプロトコルハンドラを書く方法
- 15. 辞書をファイルに書く方法Python?
- 16. マントル - 辞書のバリュートランスフォーマーを書く方法
- 17. VHDLプライオリティエンコーダを短く書く方法
- 18. ガンマ方程式を書く方法?
- 19. jsファイルにJQueryテンプレートを書く方法
- 20. C#で挿入クエリを書く方法?
- 21. 実験フレームワークを書く方法
- 22. ロボットフレームワークでループを書く方法
- 23. Suricataアラートのカスタムアラートフォーマットを書く方法
- 24. LIMSでDo-Whileを書く方法
- 25. Javaでピックアップサービス機能を書く方法
- 26. T-SQLでselect caseを書く方法
- 27. PythonでWebプロキシを書く方法
- 28. if else文を書く方法
- 29. これをJavaScriptで書く方法は?
- 30. プロセスビルダーでコマンドを書く方法