Same 3 questions that I laid out in the last retrospective post.
What Went Well
- Broke through the “no code” barrier – I was learning a lot with with the Ruby Koans, but they also gave a false sense of knowledge. Doing the String Calculator Kata got me writing my own code, posting it to github, and developing something of a “new” comfort zone. I was definitely feeling somewhat uncomfortable as I was struggling to do things that I could do instantly in my familiar .NET surroundings, like project setup, working with version control, etc, so this was a good hurdle to clear.
- Pushed code to github – OK, so it wasn’t a lot of code, but same idea: break through a barrier. It also re-familiarized me with git which I had used a little over a year ago.
What Can Be Improved On
- Not writing Ruby code in the Ruby style – Or maybe I am and just don’t know it. Regardless, I still feel very much like a .NET developer writing Ruby code. Bottom line, start to investigate and use Ruby as it is intended. That means reading and writing more Ruby code.
What Am I Going To Do To Improve Things
Writing code will continue to be the main focus of the iteration, but I also need to be focusing on what makes Ruby special. To do that I want to work with some open-source Ruby code that will hopefully point out good Ruby style and also point me towards implementations or Ruby features that I have not seen yet.
I got some books from the library that I also hope will help educate me on elements of the Ruby language, style, and best practices. I will fill in some non-programming time with going through the books for tips.
Iteration 2 Stories
The theme for this iteration is fundamentals. I want to continue writing code and exploring features of Ruby, especially OO best practices as well as how Ruby implements blocks and iterators. Building a strong base of fundamentals will position me to start doing some Ruby on Rails work in subsequent iterations.
Here are the stories for this iteration
- As a .NET developer learning Ruby, I want to build a strong fundamental base of OO techniques with Ruby so that I can move onto more substantive uses of Ruby such as a Ruby on Rails application. A 2-hour, time-boxed exercise of Conway’s Game of Life will provide an opportunity to get more experience using classes in Ruby. Implementation will be stored on github exercises’about_methods’
- As a .NET developer learning Ruby, I want to learn good Ruby style so that I can contribute to an open source project in the near-term future. One way to learn style is to work with someone else’s code, so I will fork a repository on github and look at the style used and compare it against the style that I have been using for my development. I want a project that is a “pure Ruby” project as opposed to Ruby on Rails to keep the scope manageable. Since I was recently at thoughtbot for a seminar, I found a small project on github, Cocaine, that seems to fit the bill. This will be a 1 hour, time-boxed, exercise.
- Continue with the Ruby Koans to get more practice and understanding of blocks and iterators
- require ‘about_exceptions’
- require ‘about_triangle_project_2’
- require ‘about_iteration’
- require ‘about_blocks’