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.



10 posts

Wannabe 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.

1054 posts

Uber Geek


  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

3196 posts

Uber Geek

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.

1054 posts

Uber Geek


  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.



10 posts

Wannabe 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:

A reason not to shop at dick smith
Created by dsnz1, last reply by AKLWestie on 17-May-2013 22:45 (82 replies)
Pages... 4 5 6


A new project coming to Geekzone
Created by freitasm, last reply by Niel on 20-May-2013 06:01 (200 replies)
Pages... 12 13 14


HTC One (2013) owners' discussion
Created by Dingbatt, last reply by Finch on 19-May-2013 22:02 (1441 replies)
Pages... 95 96 97


Track my Phone, Car, how to best do it in .nz?
Created by DonGould, last reply by sonyxperiageek on 19-May-2013 22:24 (15 replies)

Sitting on a boring conference call
Created by SaltyNZ, last reply by SepticSceptic on 17-May-2013 16:52 (14 replies)

Samsung Galaxy SIII Discussion and Owners Thread
Created by networkn, last reply by Johnk on 19-May-2013 16:32 (5523 replies)
Pages... 367 368 369


Chorus is cutting the cost of VDSL to service providers from June 7
Created by maxzzz, last reply by Zeon on 19-May-2013 19:40 (46 replies)
Pages... 2 3 4


Office 365 service outage 2013-05-18
Created by freitasm, last reply by nitrotech on 19-May-2013 18:58 (18 replies)
Pages... 2



Geekzone Jobs »
Most recent NZ jobs in technology:

Exciting Intern Opportunity
Posted 19-May-2013 20:27

Business Analyst
Posted 19-May-2013 18:27

Senior Business Analyst
Posted 19-May-2013 18:27

Senior Business Analyst
Posted 19-May-2013 18:27

Project Coordinator, Reputable Company, Career Pro
Posted 19-May-2013 18:27

Change Manager - Large Financial Services Organiza
Posted 19-May-2013 18:27

Software Developer - Join a market leading company
Posted 19-May-2013 18:27


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.