How large is your Clojure codebase? On Wednesday, July 2, 2014 6:33:42 AM UTC-7, Chris Ford wrote: > > A little more context on what I'm considering. > > I work in a team of about 10 developers on a Clojure project. In the > larger enterprise there are mainly Java applications. > > I'm interested in a way to visualise which parts of the codebase are > getting sticky and might require intervention. As well as being a > non-subjective measure of relative tech debt for our internal purposes, > this is also about communicating with the rest of the enterprise in terms > similar to ones they already understand. > > Linting tools are very useful, and of course the subjective impressions of > those who work with the codebase are very important too. > > Cheers, > > Chris > > > On 2 July 2014 12:38, Paul deGrandis <paul.de...@gmail.com <javascript:>> > wrote: > >> Hi Chris, >> >> I have long collected metrics on various Clojure code bases, and have had >> grand plans for automating the process with an open source tool. >> >> The metrics you look at depend heavily on what you care about - the most >> telling metrics I've used recently are Assertion Density [1], an adaption >> of LSCC [2], and an attempt at cognitive load [3]. Typical things I look >> at are namespace manipulation/jumps per file, >> docstring-on-function-percentage, distribution of defn size, distribution >> of anonymous function size, number of functions per namespace, number of >> symbols per namespace. In the past I've looked at an adaptation of >> cyclomatic complexity, distribution of all functions used, and namespace >> fan-in/fan-out. >> >> I'll echo what others have said above: eastwood, dynalint, and basic >> `lein check` are good approaches for general lint activities. >> >> Cheers, >> Paul >> >> [1] http://cacm.acm.org/magazines/2014/2/171689-mars-code/fulltext >> [2] >> http://139.141.170.133/drjehad/A%20precise%20method-method%20interaction%20based%20cohesion.pdf >> [3] http://www.ucalgary.ca/icic/files/icic/59-JECE-IEEE919.pdf >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > >
-- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.