Emotion Wave Tech Blog

福岡にあるエモーションウェーブ株式会社のエンジニアが書いています。

第1回CodeEW(エモーションウェーブプログラミングコンテスト)のお題はFizzBuzz

お久しぶりです。中原です。

先日社内でプログラミングコンテスト(CodeEW)を行いました。

プログラミングコンテストを行ったきっかけ

今回プログラミングコンテストを行ったきっかけは、 弊社のエンジニアからYammerで「あそこのコードがちょっと気持ち悪いんですけど、もっと良い書き方ないですかねー?」という話を受けて色々と意見交換をしていたのですが、最終的に「こういう話をみんなでしたいですね」という感じになりました。 確かにディスカッションしながらコーディングするっていうのはとても勉強になるなあという実感もありました。

弊社にはスラスラとコードが書ける人もいるのですが、まだ思い通りにコードが書けない人もいます。 また、それぞれ経験してきたプロジェクト、得意なプログラミング言語は違いますので、コードの書き方に関しても様々だと思います。

スラスラ書ける人も書けない人もみんなでコードを共有し意見交換し、みんなで色々なコーディングスタイルを学んで、みんなでカッコよくなろうよということで、 第1回エモーションウェーブプログラミングコンテスト(CodeEW)を開催しました。

お題は、第1回ということで比較的有名な「FizzBuzz」に決定。

FizzBuzz問題とは

FizzBuzz問題とは下記のようなものです。

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

Fizz-Buzz問題とは - はてなキーワード

FizzBuzzをどれだけ少ないバイト数で書けるか

単純なFizzBuzzでも良かったのですが、ゲーム性を持たせたほうが良いと言う意見があったので、今回は「1番少ないバイト数で書いた人が優勝」というルールにしました。

ということで、以下のルールとなりました。

  • FizzBuzz問題を1番少ないバイト数で書いた人が優勝です
  • 言語は問いません
  • 優勝した人にはAmazonギフトカード500円分を進呈します

みんなの解答

ということで、みんなの解答です。(参加は任意で行いました)

PHP

C#

Java

Ruby

C#

Perl

PHP

Javascript

Javascript

言語も色々ですし書き方も色々なのでとても面白いですね。

まとめ

弊社ではYammerでの情報共有や開発ミーティングなどを行っていますが、みんなが1つのお題に対してコーディングするということは初めてでした。 解答に関して来月みんなで集まって色々と話しをする予定ですが、みんなのコードを見ると一つ一つが個性的で個人的にはとても勉強になりました。 DB設計のお題とかも面白いかもですね。

と言うことで第2回も開催したいと思います!