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