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.



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

1147 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

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

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



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

Sky outbid for EPL rights (Premier League Pass discussion)
Created by JonnyCam, last reply by invisibleman18 on 20-Jun-2013 10:34 (247 replies)
Pages... 15 16 17


I am been sued - HELP!
Created by BaaaaD, last reply by nickrout on 20-Jun-2013 10:14 (66 replies)
Pages... 3 4 5


Orcon Genius Go discussion
Created by freitasm, last reply by ptinson on 20-Jun-2013 10:17 (63 replies)
Pages... 3 4 5


Condenser Dryer: anyone has one?
Created by joker97, last reply by graemew on 18-Jun-2013 21:08 (31 replies)
Pages... 2 3


Slingshot Global Mode announced
Created by freitasm, last reply by merve0o0 on 20-Jun-2013 09:44 (49 replies)
Pages... 2 3 4


Slow YouTube Response
Created by SneakerPimps, last reply by mercutio on 18-Jun-2013 21:34 (23 replies)
Pages... 2


Calling all mazda 3/Axela owners in NZ
Created by coolcat21, last reply by Kingy on 19-Jun-2013 09:51 (37 replies)
Pages... 2 3


Finding strongest carrier signal in a given location
Created by timmmay, last reply by timmmay on 16-Jun-2013 14:51 (16 replies)
Pages... 2



Geekzone Jobs »
Most recent NZ jobs in technology:

.NET Developer / Solution Architect
Posted 20-Jun-2013 10:38

Telecommunications Designers/Cad Operators
Posted 20-Jun-2013 10:38

Unity Game Engine Developer Required $80-120K
Posted 20-Jun-2013 10:38

Senior Systems Administrator
Posted 20-Jun-2013 09:38

Developer-HTML 5/Javascript. $80-90k
Posted 20-Jun-2013 09:38

C++ Senior Developer $90-$120k neg
Posted 20-Jun-2013 09:38

C++ Gaming Developer Required - $75-120K
Posted 20-Jun-2013 09:38


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.