Tim,
I agree with you in some parts, teaching something that "should be useful later on" is neither use nor ornament, but as Paul has said with this and source control they're concepts you need to introduce at the beginning, then demonstrate throughout. I would say that teaching a language using BDD makes a lot of sense. If you *know* how your code is supposed to behave and you write something to do that, the meaning becomes clear much more quickly. To be honest you probably wouldn't even have to explain the concept of BDD/TDD in the first place if you just dive straight in and start doing it. The biggest hurdle I've found with it is, what I like to call, "The HeadFuck". It's changing your approach to coding, and mindset. Diving straight in, possibly with the rant about the benefits, will allow the student to see the benfits for themselves and get into the swing of it. Most of the Ruby books I've read teach with TDD, I remember some examples from PickAxe and Peter Cooper's book "Beginning Ruby".In my opinion rspec is a fantastic tool which lends itself to teaching as well as improving development. Gemma Cameron Software Engineer BAE Systems Integrated System Technologies Limited Registered Office: Warwick House, PO Box 87, Farnborough Aerospace Centre, Farnborough, Hants, GU14 6YU, UK Registered in England & Wales No: 3456325 -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Waters (chippy) Sent: 08 October 2008 11:15 To: [email protected] Subject: [NWRUG] Re: Rails training - what would you want? *** WARNING *** This mail has originated outside your organization, either from an external partner or the Global Internet. Keep this in mind if you answer this message. One of the things that has always bothered me about training courses is when trainees get taught to do something that "will only make sense later, when you do it". For example, TDD, BDD - a newcomer to testing, in rails or whatever, would see very little value on adding tests to the Build-A-Blog application the class makes during the training - to them, it's a waste of time, the code gets written, the tests do not help. Sure, you could inform them about the importance of writing tests, "just use your imagination!", "I always write them, so should you!", and how, with a complex application tests actually help you write code, make sure things don't break, and all the other verbal words of wisdom - but very rarely would they get to use and see this importance first hand. That's the tricky part - if you want to train people about TDD and BDD, and the importance of it, in a *practical setting* - then you absolutely need *practical exercises* - and not just add a few tests to the three basic models of the example simple application. Now, I'm guessing because I've never seen such a thing, but perhaps, shove a complex application, with existing tests, and get them to add some additional functionality? Tim I'd also be up for guinea pigging too. ******************************************************************** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ******************************************************************** --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "NWRUG" 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/nwrug-members?hl=en -~----------~----~----~----~------~----~------~--~---
