ohcountはとっても便利
オープンソースプロジェクトの格付け的サイトであるOhlohさんが ohcount を公開されたそうです。
ohcount以外のツールも今後公開される予定のようですが、とりあえず現在ではohcountだけです。ohcountは様々な言語で書かれたソースの行数を数えてくれるツールで、このツール自身はRubyとCで書かれていますが、以下の33言語を対象としています。
- HTML
- Assembler
- XML
- rexx
- PHP
- Matlab
- Lua
- Java
- C/C++
- Boo
- SQL
- CSS
- D
- Scheme
- Pascal
- Python
- JavaScript
- Visual Basic
- Tcl
- Objective C
- Groovy
- Emacs Lisp
- C#
- Ruby
- Perl
- Lisp
- Dylan
- ClearSilver
- Ada
- shell script
- Erlang
- DOS batch script
- AWK
てな感じ。おおすごいイッパイ、これなら大抵は困らないネ!...と思ったんだけどOCaml入ってないじゃないの。ちぃ。でもオープンソースだし。
例
例えば typographic-unit のSVNレポジトリに対してohcountしてみると、次のようになります。
% ohcount Examining 26 file(s) Ohloh Line Count Summary Language Files Code Comment Comment % Blank Total -------------- ----- --------- --------- --------- --------- --------- ruby 11 1918 99 4.9% 418 2435 javascript 3 274 35 11.3% 2 311 html 2 138 2 1.4% 58 198 css 1 125 0 0.0% 13 138 -------------- ----- --------- --------- --------- --------- --------- Total 14 2455 136 5.2% 491 3082
みたいな。rubyだけじゃなくってjavascriptとかhtmlなんかも数えてくれてますね。
行数を数えるだけじゃなくって、ファイルが何の言語で書かれているのかを判定することも出来ます。
% ohcount -d ruby ./setup.rb ruby ./config/hoe.rb ruby ./config/requirements.rb ruby ./lib/typographic-unit/version.rb ruby ./lib/typographic-unit.rb ruby ./script/txt2html ruby ./script/generate ruby ./script/destroy ruby ./spec/typographic-unit_spec.rb ruby ./spec/spec_helper.rb javascript ./website/javascripts/rounded_corners_lite.inc.js css ./website/stylesheets/screen.css html ./website/index.html rhtml ./website/template.rhtml
ちょっと便利そうじゃないですか?
インストール
現在は gem を配布していないので、
git clone git://labs.ohloh.net/git/ohcount.git
して直接コードを取得する必要があります。ただし Rakefile から gem を作成出来ますので、
% rake gem
% gem install pkg/ohcount-1.0.0.gem
のようにすると良いと思います。