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.
