More or less regularly I have been going to various kinds of meetups over the last years. From tech to biz. I enjoy the tech ones most, I guess. The learnings there are right away “actionable” as the lean dude would say. And somehow (way too late) I finally found the software craftsmanship meetup Softwerkskammer in Munich. A nice challenge at night to think, discuss and hack along, the best so far (or is it that new things always seem best?).
The meetup in November was all about Object Calisthenics, which I highly recommend to check out! Hold for a second … Let me quickly explain what kind of meetup the Softwerkskammer is. I would probably summarize it as: all the people at this meetup care very much about good software and how to become better at it. Things like TDD, agile and alikes are currently the means to get there and therefore kinda given to be known (and used).
Object Calisthenics
In ThoughtWorks Anthology on Pragmatic Programmers nine rules are described that mostly lead to bad code or are considered bad code. Lead by Sebastian who introduced Object Calisthenics we discussed each of them at this meetup. After one hour of really interesting discussion and the obligatory coding dojo I felt that this is a great place to come back to and here I can learn a lot. I was also the one, that asked the critical (sometimes dumb) questions about how and if at all to apply some of those rules to JavaScript or scripting languages. Just little after leaving the meetup on the way home, away from the “stress to deliver” (which in the end a Coding Dojo is also in a way, also if it’s not supposed to be) and with some fresh air to think about the rules I realized that those rules even if derived from Java code can be applied to any language. The only real goal is to get to better code. Even if the only thing you do, is just thinking about some of those rules without applying them.
Legacy Code – Meeting #2
The second meetup was just last Thursday, and it was all about legacy code. As there is to read on the website. We used a piece of code that Dimitry had preprocessed to more understandable Java code. Our task was to refactor that code from a one function block into good code.
The code did two things: calculate all prime numbers up to a certain count, without using division and printing them out in a formatted way.
I was happy to pair with someone who knew Java and the according IDE better than me. I only use Java from time to time, actually really rarely. Of course, we first extracted out all the printing code and made some nice readable functions. After some forth and back we achieved a pretty good result. And as we saw afterwards in the retrospective with everyone we all came up with about the same structure.
And second we wanted to refactor the prime number generation code. We did dive deep in for about 15 minutes, after we gave in and admitted that it was better to grab a beer and call it a day. It was already 9:30pm or something and our brains had melted already, so we left the problem alone.
So we successfully refactored the beer down our throats.
Finally
Last Thursday was the 18th meetup in Munich. I attended two so far, that means I missed 16 of them. To make me feel better I will attend more often until the number of meetups I missed becomes irrelevantly small (in comparison). Wow, while finding links I just came across some tweets which seem to state that I had almost been there one year ago. That would have been something like the fourth meetup … damn.
Look forward and come and join to learn. And if you really care about our craft too, don’t miss SoCraTes, signing up seems not to be possible yet, but I check every day :).