Teamed.ioが主催の、ソフトウェアの品質とその開発プロジェクトの品質への取り組みを競うコンテスト、Software Quality Awardの第一回が2015年4月~11月にかけて開催された。 Teamed.ioのCTOであるYegorとは、彼のブログを和訳してここに載せている関係でたまにメールしているが、そのやりとりの中で誘われたので私もPcap4Jをひっさげてそれに参加した。

優勝すると$4,096もらえるということではあったが、150以上のプロジェクトがエントリーしていて、Gulpとか有名なものも入っていたので、どうせ全然ダメだろと思ってエントリー以来なにも対策しなかったが、なんと 8位 入賞を果たしてしまった。 まあ講評をみるとずいぶんこき下ろされてはいるが…

因みに講評は以下の感じ。

  • utilパッケージがあってそこにユーティリティクラスがある。クソだ。
  • NULLが可変オブジェクトで使われている。例えばAbstractPcapAddress。クソだ。
  • スタティックメソッドとスタティック変数が多すぎる。文字通りどこにでもある。pcap4j-packetfactory-staticという名のスタティックメソッドだらけのモジュールまである。
  • JavaDocに一貫性がなく、未完なものもある。これとか。
  • ほんのちょっとのissuesとたった6つのプルリクエストしかない。コミットがissuesにリンクされてない。変更のトレーサビリティはほとんどゼロだ。
  • リリース手順が自動化されていない。リリースがドキュメントに書かれていない。
  • 静的解析してなくて、そのせいか乱雑なコードがたまにある。
  • スコア: 3

静的解析くらいは導入しようかな…

ユーティリティクラスとかNULLとかスタティックメソッドは使うのやめるつもりはないけど。

そういえば、入賞者にはスポンサーであるJetBrainsの製品の一年ライセンスがもらえることになっていたはずだが特に連絡がないな。