第一回 RubyでLTしちゃわナイト(https://corundum.connpass.com/event/140161/) で発表したLTの資料です。
Copy Right © Taimee.inc 2019 - 1コーディング規約で悲しみを生みたくない話株式会社タイミー 宮城 広隆
View Slide
Copy Right © Taimee.inc 2019 - 2自己紹介- 宮城広隆- GitHub/Twitter @MH4GF- 株式会社タイミー- Ruby/Rails歴は1年半
Copy Right © Taimee.inc 2019 - 3コーディング規約みなさんのプロジェクトにはコーディング規約はありますか?
Copy Right © Taimee.inc 2019 - 4コーディング規約あるある- 悲しみを生みがち
Copy Right © Taimee.inc 2019 - 5コーディング規約あるあるプロジェクトに特化したものであるほど辛くなっていく
Copy Right © Taimee.inc 2019 - 6コーディング規約あるある作りたくない
Copy Right © Taimee.inc 2019 - 7コーディング規約あるあるしかし、複数の答えがある場合、チームとしてどれかを選択したくなる時がある
Copy Right © Taimee.inc 2019 - 8コーディング規約あるあるその小さな例を紹介します
Copy Right © Taimee.inc 2019 - 9Time型のオブジェクトをstringに変換する
Copy Right © Taimee.inc 2019 - 10Time型のオブジェクトをstringに変換するTime::DATE_FORMATSを定義するとDRYだよ、と新しくチームに参加したエンジニアが教えてくれた
Copy Right © Taimee.inc 2019 - 11Time型のオブジェクトをstringに変換するこうできる
Copy Right © Taimee.inc 2019 - 12Time型のオブジェクトをstringに変換する- 記述量が少ない- 設定を一つのファイルで管理できる良さそう
Copy Right © Taimee.inc 2019 - 13Time型のオブジェクトをstringに変換する数ヶ月後、新しく入ってきたエンジニアが出してくるPRにはstrftimeが使われていた↓FYIとしてto_sで変換できるよとレビューをした
Copy Right © Taimee.inc 2019 - 14Time型のオブジェクトをstringに変換するこれが新しいエンジニアが入るたびに続く…
Copy Right © Taimee.inc 2019 - 15Time型のオブジェクトをstringに変換する別の方法としてI18nがある
Copy Right © Taimee.inc 2019 - 16Time型のオブジェクトをstringに変換する別の方法としてI18nがある
Copy Right © Taimee.inc 2019 - 17Time型のオブジェクトをstringに変換する- DATEFORMATより記述量は多いが、I18nはRailsを使う開発者なら馴染みがある
Copy Right © Taimee.inc 2019 - 18チームでの議論が続いた- strftime- DATE_FORMAT- I18n
Copy Right © Taimee.inc 2019 - 19ここまでプロダクトの価値には何も寄与していない
Copy Right © Taimee.inc 2019 - 20チームでの議論が続いたチームで議論した結果、基本的にはI18nを使うのがいいだろうが、強制はしない、という結果になった
Copy Right © Taimee.inc 2019 - 21終わり- コーディング規約を作るなら、驚き最小な方を選ぼう- 本当に強制するメリットはあるのか