On 7 August 2018 at 20:01, Tim Mackinnon <tim@testit.works> wrote:

> Hi guys - I’ve been hammering on the exercism project to get pharo shining
> over there… its been a good side distraction (there is lots of energy in
> that community to) and its made me really push my use of Iceberg & git as
> well as learn some fo the newish file reference stuff (still getting good
> at that - but like the approach),
>
> Anyway - I’ve got an Alpha working, and users can pull down a zero conf
> pharo image and eval a little script that will get them up and running
> (which is pretty slick).
>
> So the story then goes - Exercism is trying to simulate TDD and help you
> learn a new language (aka Pharo or Go or Python etc). To this end, they’ve
> got an active community building up little test exercises with suites of
> tests that new users can run to help them learn the syntax/essence of the
> language track they’ve signed up to. You run the tests, develop your
> solution and then submit it to a community to get feedback and then
> progress.
>
> Pretty standard - we can play in this pond too - and it turns out that
> Tonel actually makes it pretty easy to submit readable solutions that will
> fit on their website. YAY.
>
> The trouble is - when you pull down a new exercise - I use the TonelReader
> to pull the code into your image - and I thought it would be cute to just
> pull in the TestCase so that users can simulate the full TDD cycle - where
> you can create things in the debugger… this is where it all began right?
>
> So you hit a clanger when you do this - and in a way its a bit of a legacy
> thing we’ve carried around (and possibly should fix better). When Tonel
> reads in the TesCase, it normally will reference a class this isn’t there
> (I’ve deliberately left the solution out). It does the right thing and put
> a nil placeholder in the code so that it can read it in.


For the purpose of Exercism, I think its reasonable for any class
referenced by the TestCase to be loaded as an empty stub.
Its not really giving the too much of a head start.  If they miss seeing
the magic of interactively auto-creating a class, oh well, there is
plenty of other magic to show them.   And if a solution needs a second
class, then they might be exposed to it then. KISS.

cheers -ben

Reply via email to