Hi Daniele,

On Thu, Jan 17, 2013 at 7:07 AM, Daniele Procida <[email protected]>wrote:

> I'm re-opening an old discussion -
> https://groups.google.com/d/topic/django-developers/MbLD1BL5xkQ/discussion.
> Sorry if it all comes out weird, I'm having to do it in Google Groups.
>
> I propose maintaining a repository of the Polls tutorial code, with each
> branch representing the state of the code at the end of each tutorial.
>
> I realise that there is a danger that people might be tempted simply to
> checkout the code rather than type it in, following all the useful steps
> and mis-steps that the tutorial provides, but at the same time it would
> have other significant advantages that it would be a shame to forego just
> in order to save people from temptation, especially if they are strongly
> warned against it.
>
>
Yes, because the best way to make sure nobody presses a button is to put a
sign over it saying "Under no circumstances press this button" :-)


> The advantages:
>
> A learner likely won't just follow the steps in the tutorial, but will
> also want to play and experiment, and break things. It will make for a
> better learning experience if that's possible with the safety-net of being
> able to return to a known good state.
>
> In particular, it will make it easier for the learner to reset their
> tutorial code so that they can go on to the next tutorial after playing
> freely with it. And sometimes, it might be weeks or months later that they
> want to do part five, or go back to have a look at some particular thing in
> it from an earlier stage.
>

I can see what you're trying to achieve here, but I'm still not convinced.

 1) The tutorials aren't that complex; even if you did have to reproduce
them from scratch, it doesn't take that long (I've done this quite a few
times, so I'm speaking from experience here).

 2) This is what version control is for. I'd much rather see someone do the
tutorial and use version control on their own repository, rather than just
pull down the latest version of a repo that contains all the code they need.

Following point 2, it might be worth suggesting that people use version
control during the tutorial. I'm not suggesting we turn the Django tutorial
into a parallel tutorial on git, but seeding the idea in people's heads has
the benefit of reinforcing best practice (you do version control everything
you do, right?), and makes it easier to work around the rollback problems
you describe; if they don't know what version control is, they might be
encouraged to go investigate, and as a result, another code-fairy gets
their wings :-)

It will help the documentation writers. It's difficult to build on the work
> in the tutorial if it's not easy to get where it was. For example, a new
> tutorial could use the Polls application to tackle logging or static files
> - which is what I would like to start doing now - but it's quite a bore to
> have to go through all the steps in all the previous tutorials just so you
> can start writing it.
>

I'm definitely not convinced by this. Anyone who is in a position to be
writing documentation should *definitely* be able to wrap their head around
enough version control to handle this sort of thing, or be sufficiently
expert to rebuild the tutorial in a couple of minutes.


> I think it would be worthwhile having an official repository for this
> purpose.
>

Thanks for the feedback. I'm still not convinced, but I'm always interested
to hear the opinion of others. Eventually, someone (or the weight of public
opinion) might convince me to change my mind.

Yours,
Russ Magee %-)

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to