Using metric_fu to Make Your Rails Code Better
Using metric_fu to Make Your Rails Code Better Presentation 1 [PDF]
You’ve got yourself a Rails project and a bunch of developers. Some of those devs are awesome and others are… not so awesome. How can you make sure that your beautiful code doesn’t degrade over time as more people join the project and deadlines loom? Or maybe you’re on a project that has lots of “bad parts of town” and you want to make it better – how will you know if you’re really making a difference? And where to start? Well, the growing field of code metrics is here to help. There are tools to measure test coverage, code complexity, churn (code that needs to change whenever anything changes), bad practices, duplication, and code smells. And all of these various open source projects have been mashed together in metric_fu – a Ruby gem that makes measuring the quality of your code easy (or at least easier).
During this talk I’ll be covering the various projects used by metric_fu to produce its reports:- Rcov – Measures test coverage
- Flog – Measures code complexity
- Saikuro – Measures cyclomatic complexity
- Flay – Finds duplication (both copy/paste and structural)
- Reek – Spots code smells
- Roodi – Finds lots of general problems
- Churn – Identifies files that change too often
I’ll discuss what the reports mean, how to fix the problems they uncover (with code examples), and setting up a Cruise Control build to generate these reports automatically once a day so you can have historical data.
People planning to attend this session also want to see:
Jake Scruggs
Obtiva
{“High School Physics Teacher” => 7.years, “Object Mentor Apprentice” => 3.months, “ThoughtWorker” => 4.years, “Obtivian” => 1.year}
Add a comment (requires login)














Comments
and thanks for YAThing to start doing in all my spare time.
... and thanks for YAthing to start doing.
Good session, well presented with complete info, slides, some good developer style combined with physics teacher podium confidence and fun. Hope the slides show up on the site.