15 Oct 2016: I asked one of our Java developers to do a preliminary analysis of all projects. This is the report he sent me back today: award-2016.txt (you can find your project there). I added my comments to his pluses and minuses (see them right in that text file). Based on his opinion and a preliminary analysis I picked these few finalists:

pholser/junit-quickcheck (Java)

NullVoxPopuli/aeonvera (Ruby)

SimonKagstrom/kcov (C++)

skinny-framework/skinny-framework (Scala)

paypal/squbs (Scala)

ben-manes/caffeine (Java)

coala/coala (Python)

I’m sorry for being late, but I need a few more days to analyze them properly and decide which one gets the prize. I will announce the winner on 21st of October, in six days. I will email everybody and publish my decision here.

18 Oct 2016: This is my analysis of that seven finalists. I tried to pay as much attention to each project as possible (they all are rather good).

“Vendor” assets are right in the GitHub repo, it’s a bad practice (including jQuery)

It’s Ruby on Rails, which is MVC, which is not really OOP. And there is also an ORM with anemic model (in models/ dir). Aside from that, “serializers”, “services”, “validators”, etc. – not realy an OOP.

I didn’t find any GitHub releases

There is no official release procedure in the repo. I simply can’t understand how this product goes to production, the process is not automated (or the script is not in the repo). It’s a serious problem for a web app.

Aside from that, the app is definitely cleaner than many other similar RoR web apps. Good job.

Some files are very long, for example BoundedLocalCache.java (3300 LoC!). Aside from a few super long files, there are many .java files with 300+ LoC; it’s too much and complexity is high because of that. The code looks clean, but very complex.

There are some -ER classes, for example Weigher can easily be renamed to Weight. Same for “loaders” and “writers.”