🕷 zenspider.com

by ryan davis



sitemap
Looking for the Ruby Quickref?

Flogging the World

Published 2007-08-21 @ 02:09

Tagged rubysadism

Coming out

It is time I come right out and say it…

I am a Ruby Sadist, and I'm OK!

It is true. I like to hurt code. With code I like to hurt systems. It is something I’m good at, I just haven’t been able to put it into words very well. Potential employers don’t quite understand or empathize when you talk about hurting code, even tho that might be exactly what they’re trying to hire you for. They just don’t think of it in those terms. To help gather my thoughts, tools, and to communicate my goals more clearly, I’ve launched ruby.sadi.st. Enjoy…

Flogging the World

Flog 1.1 is out, and with it a lot of enhancements to pointing out code complexity. In particular, it adds full ABC (Assignment, Branches, and Calls) metrics. ABC is a nice, simple whitespace independent way of measuring code that I talked about it in my RubyConf 2005 talk.

Well… I went overboard (again). I flogged every (latest) gem released and poked around. I won’t release the full report yet, but here is a bit of a peek:

Statistics:

  total # gems      :    1766
  total # methods   :  134839
  avg methods / gem :   76.35 +/-  170.66
  avg flog / project: 1245.47 +/- 3416.56
  avg flog / method :   14.06 +/-   32.60

Top 10 Methods per Gem:

   1:       fxruby-1.6.11.gem: 2559 methods,  4.71 +/- 11.33 flog
   2:           bio-1.1.0.gem: 2286 methods, 13.10 +/- 23.22 flog
   3:       puppet-0.23.2.gem: 2044 methods, 15.85 +/- 22.54 flog
   4:       facets-1.8.54.gem: 1962 methods, 11.42 +/- 28.21 flog
   5:        soap4r-1.5.7.gem: 1452 methods, 11.55 +/- 16.59 flog
   6:       bioruby-0.6.4.gem: 1450 methods, 12.04 +/- 22.36 flog
   7:         deplate-0.8.gem: 1426 methods, 14.35 +/- 25.47 flog
   8:           rio-0.4.1.gem: 1291 methods,  6.44 +/- 10.17 flog
   9: activerecord-1.15.3.gem: 1279 methods, 15.12 +/- 26.89 flog
  10:   actionpack-1.13.3.gem: 1129 methods, 12.61 +/- 19.95 flog

Most Prolific Developers:

   1:    Daniel J. Berger: 43 projects 11849.9 tot  275.6 avg
   2:       Thomas Sawyer: 43 projects 48329.2 tot 1123.9 avg
   3:          Eric Hodel: 40 projects 36787.0 tot  919.7 avg
   4:       Ara T. Howard: 28 projects 40856.8 tot 1459.2 avg
   5:       Aaron Pfeifer: 19 projects  3733.0 tot  196.5 avg
   6:          Ryan Davis: 18 projects 31990.1 tot 1777.2 avg
   7:      NOT Ryan Davis: 16 projects 15834.9 tot  989.7 avg
   8: Geoffrey Grosenbach: 15 projects  6203.7 tot  413.6 avg
   9:      Erik Hollensbe: 13 projects  2069.0 tot  159.2 avg
  10:        Florent Solt: 12 projects  3686.2 tot  307.2 avg