Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.



17 posts

Geek


Topic # 106409 23-Jul-2012 17:54 Send private message

Hey all,

I've been trying to teach myself TDD and have found that I'm pretty undisciplined and end up just writing the code eg. just getting in done. And then I find 6-18 months or more down the track changes start making the coding brittle etc 

So I'm thinking I want to get some training on TDD. Actually get it pounded into my head how this should be done and how to use the supportive tech (like JUnit, continuous build, dependency injection etc).

Has anyone completed a formal course in TDD? If so, would you recommend it and now that you have been using it in the 'real world' -does it still seem relevant?

I'm based in Wellington but am willing to travel. I'm currently looking at Equinox IT or Soft Ed (Agile Academy) as they both do a Agile with TDD course. I wonder if they are any good? Haven't been able to find much at vic uni specialising in this subject. 

Any pointers appreciated. 

Cheers,
Gareth




 

Create new topic
12 posts

Geek


  Reply # 664451 31-Jul-2012 11:30 Send private message

The main purpose of "test driven development" is to make sure individual components of a program work as intended to cut down on debug time.

for example:
object A
{
does stuff (you should write all the necessary functions of A)
}
object B
{
//yet to be written, relies on x,y,z and does (stuff)
}

then, you can call individual components of "A" to make sure they work before you start writing "B". As for "real" training: Most universities promote TDE in their courses. A good language to create the habit in would be python due to the large support of TDE present within the language itself in the form of the doctest module. When calling the functions/methods/whatever, it is best to TRY and break the code, parsing strings where there should be ints etc to make sure that it doesn't do unexpected things. Drawing UML diagrams (google it) also helps when trying to get your head around test driven development to make sure you know the dependencies of each class and the availability of objects. It also helps to comment your code because even though it sometimes seems like the functions purpose or usage is obvious at the time of writing, 6 months later it can seem a little foggy.

tl;dr
learn python (as an interest even, just to get used to TDE)
draw UMLs
Comment your code.

1673 posts

Uber Geek
+1 received by user: 138


  Reply # 664465 31-Jul-2012 11:40 Send private message

Daft: <snip...>

tl;dr
learn python (as an interest even, just to get used to TDE)
draw UMLs
Comment your code.


Are you being obtuse or just trolling?  Did you read the OP?  He wants someone to recommend a Java TDD course\training provider; and by the looks of it you might benefit from similar...

12 posts

Geek


  Reply # 664643 31-Jul-2012 14:47 Send private message

First of all, substitute TDE for TDD: recurring typo.

If you'd taken the time to read the full post... I answered the question: " Most universities promote TDE in their courses". However, I then proposed that the above (python, UMLs, comments) Would generally help him instill the habits that form TDD. COMP150, a first year python course at Otago University specifically focuses on TDD through the full and proper implementation of python's built-in doctesting class.

While I appreciate that, (given the tl;dr only) it may look like an obtuse post or troll, I was merely saying that it is possible that perhaps the OP was just going about his problem the wrong way and that there are (potentially) better ways to do it without spending money on courses.

Furthermore, most education providers don't offer a course with specific focus on TDD (I'd cite this but apparently I can't post links). Learning a new language (such as python, with aforementioned focus on doctesting) might help break the cycle of "just doing it" as you are accustomed to doing in Java. This skill could then be transferred back to Java.

Hope that clears things up.

gzt

3743 posts

Uber Geek
+1 received by user: 105

Subscriber

  Reply # 664648 31-Jul-2012 14:52 Send private message

The particular course below may not be exactly what you want but give this group a call and see what they recommend. They provide all kinds of education services to the corporate market and individuals.

http://www.softed.com/courses/agile-programming-with-tdd.aspx.

1673 posts

Uber Geek
+1 received by user: 138


  Reply # 664713 31-Jul-2012 16:11 Send private message

@Daft: Apologies, my previous post probably seems a bit harsh; my tongue was in cheek when I wrote it (or maybe I just got out of the wrong side of bed or something) ;-)

Ok, I sort of get what you're saying: Learn good practices\principles not technologies(?) - and yeah good practices should be language agnostic. But there are certain things that an explanation of TDD should include to be taken seriously IMO.

And I still don't think learning a new language would be the best way to learn more about TDD in this case. Java is not my first language, but there appear to be plenty of very good tools\frameworks\etc for Java to get a good TDD process going: ant, cruisecontrol, junit, plenty of mocking frameworks, svn, pico, spring, etc. And given the OP has specified Java, it would make more sense to me to stick with an environment that he's already comfortable with.



17 posts

Geek


  Reply # 665026 31-Jul-2012 22:41 Send private message

gzt: The particular course below may not be exactly what you want but give this group a call and see what they recommend. They provide all kinds of education services to the corporate market and individuals.

http://www.softed.com/courses/agile-programming-with-tdd.aspx.


Thats exactly the course I was looking at. They were planning to run it in Wellington this month but got canned due to low numbers. Has anyone attended it? Was it actually worth the money? They offered to have individual coaching from the consultant that runs this workshop but gets pricey has he has to fly from oz. Ugh. 

@daft / @sidefx - while a new programming language could be useful for rounding skills although I was looking for something a bit formally structured, preferably with a tutor to beat me with a stick when I will probably think I can do it better, faster (eg. hack).... :-) even a course at a uni / tech.

12 posts

Geek


  Reply # 665850 2-Aug-2012 07:57 Send private message

Well, you could rig up some kind of robot behind you to give you a decent hiding when you forget to test modules. =P On a more serious note, you'd probably be better off at the aforementioned course (agile). Even the uni courses are pretty slack on enforcing the requirement for TDD, a lot of it comes down to discipline (like any good habit).

Create new topic








Twitter »
Follow us to receive Twitter updates when new discussions are posted in our forums:



Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:



Follow us to receive Twitter updates when new jobs are posted to our jobs board:



Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:




News »

Trending now »
Hot discussions in our forums right now:

Forms of government for New Zealand
Created by charsleysa, last reply by Kyanar on 18-Apr-2014 20:55 (98 replies)
Pages... 5 6 7


MH370 - Call for Search & Rescue Help
Created by DS248, last reply by Sideface on 17-Apr-2014 17:28 (735 replies)
Pages... 47 48 49


galaxy s4 now on 4.4.2
Created by nzrock, last reply by timmmay on 19-Apr-2014 08:44 (52 replies)
Pages... 2 3 4


why does the tax payer have to pay for the prince and princess' 6 star holiday?
Created by joker97, last reply by Geektastic on 17-Apr-2014 15:49 (67 replies)
Pages... 3 4 5


Snap suffering Trans-Tasman congestion 18/04?
Created by Lias, last reply by NonprayingMantis on 19-Apr-2014 00:05 (26 replies)
Pages... 2


Help ! Home business connection and VDSL dead. yikes.
Created by Scotsman, last reply by Scotsman on 17-Apr-2014 21:10 (26 replies)
Pages... 2


Free connection to Ultra Fibre not true
Created by kapitikarl, last reply by cbrpilot on 15-Apr-2014 13:24 (27 replies)
Pages... 2


Amazon Fire TV
Created by sonyxperiageek, last reply by freitasm on 19-Apr-2014 11:04 (205 replies)
Pages... 12 13 14



Geekzone Live »
Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.

Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.