Array.prototype.reduce
делает его очень чистым.
["r","g","b"].reduce(function(res) {
return res + ("0"+~~(Math.random()*256).toString(16)).slice(-2)
}, "#")
Нужна оболочка для старых браузеров.
Я использую SourceMonitor - прекрасное бесплатное приложение, которое измеряет сложность кода и другие показатели для множества языков, включая C #. Мы запускаем его из командной строки для создания вывода XML, затем мы используем LINQ to XML для извлечения и сортировки интересующих нас данных. Затем мы используем NVelocity для создания отчетов в формате HTML.
Я знаю, что это не управляемая библиотека, но вы можете обнаружить, что он может делать то, что вам нужно.
С поддержкой 82 метрик кода NDepend — это инструмент Roll's Royce для .NET-разработчиков метрик кода (однако это коммерческий инструмент).