Saturday, January 4, 2014

Test Driven Development and Rails

Time is flying at Launch Academy.  Consuming all this information takes almost all of my free time.  I haven't even found a chance to blog in the last month.

We've been working on test driven development and learning rails in general using a wide range of tools like capybara and rspec.  I always felt like I was doing well to just kind of keep up with core concepts and be able to code applications in rails, minus any unit or acceptance testing.  What I learned yesterday is that I'm constantly talking myself down, and have more skills than I give myself credit for.  I'm honestly not sure if I knew I had all the skills until I flexed my brain muscles yesterday and just started pulling information out of thin air or the rails guides;  even looking at the rails guides I always knew exactly where to look when I needed a reference, which was awesome!

The project assignment we had yesterday was a huge one in terms of importance.  I am the worst about doing an assignment and forgetting to turn it in, but if I ignored this assignment I wouldn't get the chance to come to career day, which basically nullifies some of the reason I came to Launch academy, job placement.  This assignment, which I will now refer to as the property management system, is a strictly individual assignment that Launch Academy uses to get an idea of where your coding skills are.  They also grant you access to career day upon successful completion of the assignment.  Thirty interviews in a day with great tech companies in Boston .. Yes please I think I'll take that seriously.

  The property management system was to be coded using a method called outside-in-development, which means I write unit and acceptance tests first, before I ever write a single line of code.  The idea is to get the tests failing, then make the changes in your code to make them pass.  This was honestly the first time I have ever done strictly outside-in-development.  Launch Academy has been teaching it for a few weeks now but I've always just put a solution together, then worried about tests after.  I learned during this assignment that taking my time with writing tests actually makes development much simpler because the tests guide you into developing the next step.  The tests take a lot of the guesswork out of traditional development where I would need to constantly think about what portion of the application to code next.

In conclusion, testing rocks.  I am confident in my ability to write tests for any size application using an outside-in-approach now and I've been converted into a Test Driven Developer.  Yes, I said it, a Test Driven Developer; you win Launch Academy.
 





No comments:

Post a Comment