wolfmasa's blog

フロンターレとプログラミング関係の話題を、気が向いたときにつぶやくブログです。

Train-Ticket問題をやってみた

はじめに

Railsの資料を漁っていたら、あの伊藤さんがRailsアプリケーション作成問題を公開していたので、10周くらい遅くなったけど、勉強のためにやってみた。

github.com

元々は、meetupでコードレビューをするための題材ということで、シンプルながらもポイントを抑えた良問だと思います。

実際に、meetupの動画は見当たりませんでしたが、後日ほかの方のも含めてコードレビューを別録した動画をアップされていました。

YouTube

YouTube

1つの考え方とはいえ、Railsを書いていく上での考え方が、随所に参考になりました。ありがとうございます!

やってみた

とりあえず小一時間?で全部の問題を解いてみた。

github.com

問題は、チケット(切符)とゲート(改札)と、それをコントロールするコントローラに絞った問題で、オブジェクト指向的な考え方を問いつつ、所々validationなどRailsの記法や考え方が必要になる感じ。

最初は丁寧にやっていて、ある程度正解と近い部分もあったけど、後半は焦ってしまい、あまりちゃんと考えられなかった。

特に、この問題の1つのポイントであるところの、どこでエラーハンドリングをするか?について、あとで振り返るとコードレビューで伊藤さんも指摘されているようにコントローラに責務を持たせる状態に陥ってしまった気がする。

あとは、エラーチェックのまとまりも、もうちょっと整理して設計でできたなと。

その辺が反省。

答え合わせ

最後に、答えを見ながら写経して、反省をしめる。

github.com

Railsって問題を作るのがどうしても大変だけど、とても勉強になりました。

ありがとうございました。