This is a mobile version, full one is here.

Yegor Bugayenko
16 April 2015

Software Quality Award, 2015

I’m a big fan of rules and discipline in software development; as an example, see Are You a Hacker or a Designer?. Also, I’m a big fan of object-oriented programming in its purest form; for example, see Seven Virtues of a Good Object. I’m also a co-founder and the CEO of Zerocracy, a software development company through which I put my admiration of discipline and clean design into practice.

I want to encourage you to share my passion—not just by reading this blog but through making real open source software in a disciplined way. This award is for those who are brave enough to swim against the current and value quality above everything else.

Send me your own project for review and participate in the contest.

Rules:

Each project must be:

The best projects will feature (more about it):

What doesn’t matter:

By the way, if you want to sponsor this award and increase the bonus, email me.


158 projects submitted so far (in order of submission):


October, 4th: A few weeks ago I asked three guys, who work with me, to check every single project in this list and provide their feedback. I’ve received three plain text files from them. Here they are, combined into one, with almost no corrections: award-2015.txt (you can find your project there). Based on their opinions, I’ve decided to select the following 12 projects for closer review (in alphabetic order):

I’ll review them soon. The winner will be announced on the 15th of October.

October, 5th: I received an email from the author of raphw/byte-buddy, asking me to reconsider my decision about this project. I took a quick look at why the project was filtered out and decided to include it into the list of finalists. BTW, if any of you think that your project was excluded by mistake, don’t hesitate to email me.

October, 11th: I analyzed all 12 projects today. All of them are really good projects, that’s why, in order to find the best one I was focusing on their sins, not virtues. Here is what I found, preliminary.

coala-analyzer/coala (14K Python LoC, 160K HoC)

checkstyle/checkstyle (83K Java LoC, 553K HoC)

citiususc/hipster (5K Java LoC, 64K HoC)

gulpjs/gulp (700 JS LoC)

kaitoy/pcap4j (42K LoC, 122K HoC)

raphw/byte-buddy (84K LoC, 503K HoC)

subchen/snack-string (1K LoC, 2K HoC)

gvlasov/inflectible (5K LoC, 36K HoC)

testinfected/molecule (10K LoC, 43K HoC)

trautonen/coveralls-maven-plugin (4.5K LoC)

wbotelhos/raty (8.7K LoC, 63K HoC)

xvik/guice-persist-orient (17K LoC, 54K HoC)

I paid most attention to anti-patterns, which is the first and the most terrible sin we should try to avoid. Presence of null, for example, much more seriously affected the score than the absence of an automated release procedure.

Oct 15: Thus, we have these best projects, out of 158 submitted to the competition:

  1. gvlasov/inflectible: winner!
  2. testinfected/molecule
  3. coala-analyzer/coala
  4. xvik/guice-persist-orient
  5. raphw/byte-buddy
  6. citiususc/hipster
  7. checkstyle/checkstyle
  8. kaitoy/pcap4j

Congratulations to @gvlasov, the winner! Here is your badge:

Put this code into GitHub README:

<a href="https://www.yegor256.com/2015/04/16/award.html">
  <img src="//img.teamed.io/award/2015/winner.png"
  style="width:203px;height:45px;" alt='winner'/></a>

All eight projects will receive a one-user free one-year license for one JetBrains product. I will email you all and we’ll figure out how to transfer them.

Thanks to everybody for participation! See you next year.