Three weeks ago we announced the Show your Java refactoring contest.
Contest turned out to be very successful and we had 12 Pull Requests (one after a deadline, but still ;) ). After that
our next step was to choose a winner.
But before that, we had to gather a team of brave and experienced reviewers that could help us with analyzing, grading
and, finally, picking an author of the best solution. So please, meet our humble reviewing team:
Every Pull Request was reviewed by at least two developers. We were trying to find a solution that was both clean
and easy to understand. "Coolness" was also considered but what we have valued the most was "I would like this code
in my project" factor. This metric could of course vary from reviewer to reviewer and that is why each PR was given
to at least two of them.
After code review phase, we have picked three best solutions to discuss them together as a team. We heatedly discussed,
tried to convince each other and after a few iterations we reached an agreement.
We are more than happy to announce the winner of our contest - Andrii Plotnikov.
What we liked in his Pull Request is that it is not over-engineered.
After just skimming through the code, you immediately could understand what is going on, how flow looks like and what
needs to be changed. There were fancier solutions, but we really liked Andrii's minimalism and simplicity with good
coding standards present in his code.
Other interesting approaches
The most interesting thing we have anticipated before receiving solutions is that such contest is a great occasion to
see and compare how various minds use different approaches to solve the same problem. In our daily job such things does
not happen often as in most projects our tasks complement each other to create one, working system.
That’s why we would also like to show the solutions that we found interesting for some reasons:
MaciejDobrowolski's PR for using RxJava in a very clean manner
- hexmind's code for extendability while keeping code very simple at the same time
Thank you again for participation in our Java coding contest. We hope that it was fun and also a good occasion to
improve your coding skills. Within next few days you will get an e-mail with our code review in return for your time and effort.
And Andrii, see you at GeeCON! :)