+100

My English is "bad", but you expressed my position about TDD in general
(I'm not a clojurian, yet, but I really appreciate TDD workflow in other
technologies).


On Wed, Feb 5, 2014 at 6:35 PM, James Trunk <james.tr...@gmail.com> wrote:

> As a TDD practitioner and 
> Expectations<https://github.com/jaycfields/expectations>user, I've been 
> following this thread with great interest!
>
> @Jay: Will your change in thinking have any impact on Expectations?
>
> My experience with TDD in Clojure has been an overwhelmingly positive one,
> and it seems like this thread might be a good place to discuss the subject
> with others.
>
> RDD is an invaluable tool for evolving the shape of your functions, and
> it's a killer feature for REPL-based languages like Clojure. However, I
> mainly use RDD in the refactoring stage of TDD, and I still choose the
> overhead of writing tests before coding my solutions. Why do I do that?
> Well, I experience a number of benefits from TDD:
>
>    - A very clear separation of thinking between requirements and solution
>    - A constant focus on delivering the Minimum Viable Product
>    - Documentation, in English, of the expected behaviour of a function
>    - Documentation, in code, of example inputs and expected outputs of a
>    function (especially useful in a dynamic language like Clojure)
>    - A continual reminder (and perfect opportunity) to refactor
>    - A refactoring confidence boost (i.e. if all my tests are still
>    green, then I can be pretty confident in that refactor)
>    - The little bit of serotonin released in your brain when you make the
>    next test turn green :-)
>    - Finishing a session with a red test gives you a great starting point
>    for your next session and often helps you to get straight back into "the
>    zone"
>    - A clear handover point if you're pair-programming
>
> It's clear that developers who don't use TDD can (and do) develop
> extremely high quality solutions. However, for me personally, the list of
> benefits from doing TDD outweigh the cost of writing and maintaining the
> tests. I am a better programmer when I use TDD. I prefer jumping into other
> people's codebases when they have used TDD. I find it easier to get back
> into one of my own old projects when I've used TDD.
>
> I also understand that most other programmers don't agree with me on this,
> which might mean that I'm wrong. :-)
>
> Cheers,
> James
>
> On Tuesday, February 4, 2014 1:06:06 PM UTC+1, Jay Fields wrote:
>>
>> tl; dr: I'm presenting "Lessons Learned from Adopting Clojure" in
>> Chicago on Feb 11th:
>> http://www.eventbrite.com/e/goto-night-with-jay-fields-
>> tickets-10366768283?aff=eorgf
>>
>> Five years ago DRW Trading was primarily a Java shop, and I was
>> primarily developing in Ruby. Needless to say, it wasn't a match made
>> in heaven. Fast forward five years, Clojure is the second most used
>> language in the firm, and the primary language for several teams
>> (including mine). Clojure wasn't the first language that I've
>> introduced to an organization; however, it's unquestionably the most
>> successful adoption I've ever been a part of. The use of Clojure has
>> had many impacts on the firm: culturally, politically, and
>> technically. My talk will discuss general ideas around language
>> selection and maintenance trade-offs, and specific examples of what
>> aspects of Clojure made it the correct choice for us.
>>
>> A few highlights
>>
>> - Where to first introduce a new language and your role as the
>> language care-taker.
>> - REPL driven development, putting TDD's 'rapid feedback' to shame.
>> - Operations impact of adding a language - i.e. get ready for some
>> DevOps.
>> - Functional programming, the Lisp Advantage, and their impact on
>> maintainability.
>>
>> Of course, no good experience report is all roses. The adoption has
>> seen several hurdles along the way, and I'll happily to describe those
>> as well.
>>
>  --
> 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