satococoa's blog

主にサーバーサイド、Web 系エンジニアのブログです。Go, Ruby, React, GCP, ...etc.

Tokyu.rbハッカソン/もくもく会第3回 に参加してきた

昨日夜ふかししてブログ業をしていたせいで非常に眠かったのですが、がんばって行ってきました。
募集ページ → Tokyu.rbハッカソン/もくもく会第3回 : ATND

今日の僕の作業は slidesyncRails移植 & 最低限必要な機能の実装まで。

この Slide sync は昨年末にP4D主催で開催した デザイナーxエンジニアハッカソン で僕と@saucerjpさんのペアで作った成果物です。
その時は機能に対する見積もりが甘くて「Sinatraで最後まで実装できるんじゃない?」と思って作ったものの、機能を実装するにつれSinatraじゃ面倒な事がふえてきてしまいました。
更にタイミングよくRails 3.2が出たのもあって思い切って僕が勝手に $ rails new slidesync したのですが、実装がぱったり止まってしまっていたという申し訳ない過去があります。
ということで目標はSinatraで作ったプロトタイプの実装に追いつくこと。あと実装速度重視で作ったせいで雑だった設計を一からやり直すこと。

一応目標は達成でき、最後の成果発表の時には無事にスライドを同期させて各自のブラウザで見てもらう事が出来ました。
デザイン面では今日は一人でやったので新しく足した部分が若干やっつけ気味です。また時間をとって二人でブラッシュアップしたいですね。 > @saucerjpさん
とりあえず機能的には最低限必要なものは揃いました。あとはテストを整備してから次の機能の実装に入りたいです。

余談ですが、僕はハッカソンやプロトタイピングの時には基本的にテストを書きません。
賛否両論あると思いますが、ハッカソンやプロトタイピングでは若干バグが有ってもいいのでとりあえずざっくり全体が動作するソフトウェアがほしいのです。
小さいイテレーションで頻繁なフィードバックが欲しいというよりは、粘土をこねるように大雑把に形を作りたいのです。そして作りながら仕様を考えていくという。
TDDの熟練者はもしかするとそのへんはspecを書きながらざっくりした全体像も作っていくのでしょうか。
蛇足ですがちょっと疑問に思ったので書いてみました。

最後に、会場を提供していただいた万葉さん、そして企画を立てていただいたTokyu.rbの方々、どうもありがとうございました。