My 2c - on my last project it would have been handy to have some test
coverage tools, they can be useful to sanity check your testing.

However, it's worth noting that compared to a java project, we had far
fewer lines of code, so manually reviewing code for tests was a lot easier.

And there were cases where some careful integration tests were more useful
than unit testing everything, which ties in to Colin's point I think. And
integration tests tend to break coverage metrics.

(and I'm not sure how you'd do coverage for macros, but that's probably a
digression)

- Korny
On 4 Feb 2014 11:23, "Aaron France" <aaron.l.fra...@gmail.com> wrote:

>
> I don't want to seem rude but I think you've drank a bit too much
> kool-aid.
>
> To say that functional programming and war against state means that
> your application doesn't need to be tested thoroughly is a joke. And a
> very bad one.
>
> Coverage doesn't just aid you in seeing which parts of state caused
> which branches to be hit, it also gives you notice if there are any
> logical errors in your code which cause the branches to not be hit.
>
> Aaron
>
> On Tue, Feb 04, 2014 at 03:19:05AM -0800, Colin Yates wrote:
> > I don't know.
> >
> > But maybe the lack of coverage tools is itself interesting?  My (not
> quite
> > formed/making this up as I go) view is that maybe coverage tools are
> there
> > to address the implicit complexity in other mainstream languages and/or
> to
> > help mitigate the risk of the potentially large and hard-to-identify
> > 'impact analysis' you get in OO systems when you change state.  In other
> > words, coverage is necessary because we want to feel safe that all
> > combinations of our code are extensively tested.  Why don't we feel safe?
> >  Because the system is hard to reason about.
> >
> > Functional programming on the other hand is full of much smaller discrete
> > and independent chunks of functionality.  Ideally these small focused
> > 'bricks' are pure/referentially transparent so the *only* context you
> need
> > when reasoning about them is their parameters and the logic inside.
> >  Assembling these bricks introduces interactions that need to be tested,
> > sure, but there are very few 'call this and watch the change
> cascade'/'this
> > code is sensitive (i.e. coupled) to that data over there'.
> >
> > My ramblings are to say, maybe the root cause of coverage tools is to
> solve
> > a problem (hard to reason about systems) which shouldn't be much less of
> a
> > problem in FP when FP is done right.  OO + mutable state = hard to reason
> > about.  FP + immutable state + pure/referentially transparent functions =
> > much easier to reason about.
> >
> > Or not.  Just my 2 pence :).
> >
> > On Sunday, 2 February 2014 21:34:29 UTC, Aaron France wrote:
> > >
> > > Hi,
> > >
> > > I'm looking for coverage reporting in Clojure. I've been using
> > > Cloverage[1] but I'm just wondering if there are any other coverage
> > > tools?
> > >
> > > Aaron
> > >
> > >
> > > [1] https://github.com/lshift/cloverage
> > >
> >
> > --
> > 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/groups/opt_out.
>

-- 
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/groups/opt_out.

Reply via email to