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.

Reply via email to