んv2スマートフォン用の表示で見るふにゃるんv2もとは、http://d.hatena.ne.jp/Wacky/この広告は、90日以上更新していないブログに表示しています。さんから頂いたコメントを読み返しつつ、プログラムの「評価基準」って何だろね?と時折ぐーぐるしてました。Javaが圧倒的にヒットしますねぇ。.NET系に比べて年数も違うし、マクロやテンプレートなんていう一歩間違えるとダークサイドなものもありませんからね。そんな中、ccccっていう冗談みたいなソフトを見つけました。(*BSD/Linux/Solaris)http://x68000.q-e-d.net/~68user/unix/pickup?cccc調べてみると、Windows版も用意しているし、コード行数だけでなく、複雑度(McCabeのサイクロマチック数)も計測してくれるようです。McCabeって何やねん?という方は、↓こちらがお奨めです。complexity)http://www.linkclub.or.jp/~tumibito/soft-an/metrics/mccabe.htmlその手の本を読んでいると、20〜30をオーバーした辺りが、「あんたのコード複雑すぎやねん」警戒域っぽいです。ccccでメトリクス収集してみるで、早速Windows版(CCCC_3.1.4_setup.exe)をダウンロードして試してみました。実行完了すると、".cccc"フォルダが出来て、その中に解析結果のファイルが、たんまり入っています。以下は、cccc.html(プロジェクトの概要)を開いた様子です。(C)wackyメトリクスをCSVファイル化してみるで、これはこれで「おぉ〜っ」なんですが、プロジェクト全体の複雑度合計をもらっても、あんまり役に立たないです。欲しいのは、「複雑度が高いのは、どの関数のコード?」なんですから。いう訳で、ccccを呼び出した際に吐き出すXMLファイルを、CSVファイルに集計し直すスクリプトを、Pythonで作ってみました。以下の感じに呼び出します。cccc2csv.py....cccc\VesaInfoDetail.xml.cccc\VesaScreen.xml.cccc\VirtualConsole.xml.cccc\word.xml実行完了すると、デフォルトでは"metrics.csv"が出来ています。Excelで開くと、以下の感じになります。(C)wacky各列の意味は、以下の通りです。関数の実装部(*.cpp)という訳で、作ったソースコードを以下に示します。cccc.exeコマンドを使って、メトリクス集計されたデータを、より見やすいCSVファイル化する。CSVファイル化すれば、Excelで簡単に見れる理屈。ccccについては、以下を参照。使用方法>>>cccc.exeを呼び出した後、'.cccc'フォルダが出来る。メトリクス集計された'*.xml'を読み出し、CSVファイル化する。「複雑度は、コードレビュー時の、集中してみる箇所の目安にならんかしらん?」と、にやにや考えていたのは、秘密だよ。(を?後、ElementTreeモジュールは、便利ですねぇ。どっち使おう?と考え込んでいたんですが、いつの間にか、こっちを使ってました。ドキュメントにファイルを...自分は、個人的な気づきをテキストファイルにメモしたりしてい...2011-01-23Xmarksに替わる、オレ専用のブックマークWebアプリを作る要するに何をやりたかったかと言うと、↓こういう事です。Estraierを扱う昨日の続きです〜。買ったバッチファイルで、あるプロセスが起動してなかったらば...を実現する月別アーカイブはてなブログをはじめよう!Wackyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。