Slide 1

Slide 1 text

Copy Right © Taimee.inc 2019 - 1 コーディング規約で悲しみを生み たくない話 株式会社タイミー 宮城 広隆

Slide 2

Slide 2 text

Copy Right © Taimee.inc 2019 - 2 自己紹介 - 宮城広隆 - GitHub/Twitter @MH4GF - 株式会社タイミー - Ruby/Rails歴は1年半

Slide 3

Slide 3 text

Copy Right © Taimee.inc 2019 - 3 コーディング規約 みなさんのプロジェクトにはコーディング 規約はありますか?

Slide 4

Slide 4 text

Copy Right © Taimee.inc 2019 - 4 コーディング規約あるある - 悲しみを生みがち

Slide 5

Slide 5 text

Copy Right © Taimee.inc 2019 - 5 コーディング規約あるある プロジェクトに特化したものであるほど辛 くなっていく

Slide 6

Slide 6 text

Copy Right © Taimee.inc 2019 - 6 コーディング規約あるある 作りたくない

Slide 7

Slide 7 text

Copy Right © Taimee.inc 2019 - 7 コーディング規約あるある しかし、複数の答えがある場合、チーム としてどれかを選択したくなる時がある

Slide 8

Slide 8 text

Copy Right © Taimee.inc 2019 - 8 コーディング規約あるある その小さな例を紹介します

Slide 9

Slide 9 text

Copy Right © Taimee.inc 2019 - 9 Time型のオブジェクトをstringに変換する

Slide 10

Slide 10 text

Copy Right © Taimee.inc 2019 - 10 Time型のオブジェクトをstringに変換する Time::DATE_FORMATSを定義するとDRYだよ、と新しくチームに参加 したエンジニアが教えてくれた

Slide 11

Slide 11 text

Copy Right © Taimee.inc 2019 - 11 Time型のオブジェクトをstringに変換する こうできる

Slide 12

Slide 12 text

Copy Right © Taimee.inc 2019 - 12 Time型のオブジェクトをstringに変換する - 記述量が少ない - 設定を一つのファイルで管理できる 良さそう

Slide 13

Slide 13 text

Copy Right © Taimee.inc 2019 - 13 Time型のオブジェクトをstringに変換する 数ヶ月後、新しく入ってきたエンジニアが出してくるPR にはstrftimeが使われていた ↓ FYIとしてto_sで変換できるよとレビューをした

Slide 14

Slide 14 text

Copy Right © Taimee.inc 2019 - 14 Time型のオブジェクトをstringに変換する これが新しいエンジニアが入るたびに続く…

Slide 15

Slide 15 text

Copy Right © Taimee.inc 2019 - 15 Time型のオブジェクトをstringに変換する 別の方法としてI18nがある

Slide 16

Slide 16 text

Copy Right © Taimee.inc 2019 - 16 Time型のオブジェクトをstringに変換する 別の方法としてI18nがある

Slide 17

Slide 17 text

Copy Right © Taimee.inc 2019 - 17 Time型のオブジェクトをstringに変換する - DATEFORMATより記述量は多いが、I18nはRails を使う開発者なら馴染みがある

Slide 18

Slide 18 text

Copy Right © Taimee.inc 2019 - 18 チームでの議論が続いた - strftime - DATE_FORMAT - I18n

Slide 19

Slide 19 text

Copy Right © Taimee.inc 2019 - 19 ここまで プロダクトの価値には何も寄与していない

Slide 20

Slide 20 text

Copy Right © Taimee.inc 2019 - 20 チームでの議論が続いた チームで議論した結果、基本的にはI18nを使うのがい いだろうが、強制はしない、という結果になった

Slide 21

Slide 21 text

Copy Right © Taimee.inc 2019 - 21 終わり - コーディング規約を作るなら、驚き最小な方を選ぼ う - 本当に強制するメリットはあるのか