Lessons learned in May 2016

This is what I learned in May 2016:

  1. Read about State of Code Quality in 2016. Apparently, CodeReviews are the most important tool to ensure code quality. Also, they should be supported by good tools. I can support this: We are doing code reviews with Atlassian Stash for every change in our project and find code smells and errors on a regular basis (which is good because without the reviews these errors would end up in production).
  2. Recently, I wrote a many-to-many database mapping which could be navigable both ways. There have been several tricky errors with that. I’ve been told that such a mapping should only be navigable one-way. That solved a lot of problems. I think I’m going to avoid two-way navigation in the future.
  3. I noticed that the section “Code Katas”, which I added at the beginning of the year to my page, hasn’t been updated since. Code Katas are not working for me, I don’t do them regularly. Hence, I removed this section.
  4. Introduced TestFX into my main project to test JavaFX panels. Problem: Atlassian Bamboo failed to run these tests and crashed the build. As a quick workaround, I used Maven categories and the surefire-plugin to mark the TestFX-classes and exclude them from the build. That way, the TestFX tests can be executed locally by simply running Maven test. Bamboo however ignores these tests and runs fine.
  5. Introduced Degraph into my main project to make sure we have no cyclic dependencies. Because of a bad Maven dependency, I ran into an IncompatibleClassChangeError. Here’s an article about how I solved this problem.
  6. The new HackTalk event in Braunschweig, which I am organizing, is developing quite well. We have a stable number of participants and the topics are diversified and interesting. Parallel to that, the HackTalk in Wolfsburg is taking place every first Thursday in a month, also successful.

(Photo: adrian825,