Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コーディング規約で悲しみを生みたくない話
Search
Hirotaka Miyagi
September 13, 2019
Technology
0
330
コーディング規約で悲しみを生みたくない話
第一回 RubyでLTしちゃわナイト(
https://corundum.connpass.com/event/140161/
) で発表したLTの資料です。
Hirotaka Miyagi
September 13, 2019
Tweet
Share
More Decks by Hirotaka Miyagi
See All by Hirotaka Miyagi
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
8
1.9k
to B プロダクトで Vite + React Router を採用して半年後の感想 / Impressions after 6 months of using Vite + React Router
mh4gf
14
5.1k
Playwright で一番小さく始める VRT と、次のステップの選択肢
mh4gf
14
3.7k
学習しながらアーキテクチャを進化させていくためのモノレポ
mh4gf
3
980
pnpm workspace実践ノウハウ
mh4gf
10
4.9k
sassc-railsを利用している我々は、Sassの@importの非推奨化をどのように乗り越えていくか
mh4gf
4
2.2k
ProductionでRails6マルチDB対応を小さく始める
mh4gf
1
1.4k
平成Ruby会議 株式会社タイミースポンサーセッション
mh4gf
0
570
平成.rb 株式会社タイミー チーム開発紹介資料
mh4gf
0
850
Other Decks in Technology
See All in Technology
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
150
Forget efficiency – Become more productive without the stress
ufried
0
120
Shift-from-React-to-Vue
calm1205
3
1.3k
使えそうで使われないCloudHSM
maikamibayashi
0
170
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
1.5k
IaC運用を楽にするためにCDK Pipelinesを導入したけど、思い通りにいかなかった話
smt7174
1
110
大規模データ基盤チームのオンプレTiDB運用への挑戦 / dpu-tidb
cyberagentdevelopers
PRO
1
110
Java x Spring Boot Warm up
kazu_kichi_67
2
490
オニオンアーキテクチャで実現した 本質課題を解決する インフラ移行の実例
hryushm
14
3k
カメラを用いた店内計測におけるオプトインの仕組みの実現 / ai-optin-camera
cyberagentdevelopers
PRO
1
120
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
430
サイバーエージェントにおける生成AIのリスキリング施策の取り組み / cyber-ai-reskilling
cyberagentdevelopers
PRO
2
200
Featured
See All Featured
Optimizing for Happiness
mojombo
376
69k
Automating Front-end Workflow
addyosmani
1365
200k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Building Your Own Lightsaber
phodgson
102
6k
4 Signs Your Business is Dying
shpigford
180
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
YesSQL, Process and Tooling at Scale
rocio
167
14k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Navigating Team Friction
lara
183
14k
The Cost Of JavaScript in 2023
addyosmani
45
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Transcript
Copy Right © Taimee.inc 2019 - 1 コーディング規約で悲しみを生み たくない話 株式会社タイミー
宮城 広隆
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 - 9 Time型のオブジェクトをstringに変換する
Copy Right © Taimee.inc 2019 - 10 Time型のオブジェクトをstringに変換する Time::DATE_FORMATSを定義するとDRYだよ、と新しくチームに参加 したエンジニアが教えてくれた
Copy Right © Taimee.inc 2019 - 11 Time型のオブジェクトをstringに変換する こうできる
Copy Right © Taimee.inc 2019 - 12 Time型のオブジェクトをstringに変換する - 記述量が少ない
- 設定を一つのファイルで管理できる 良さそう
Copy Right © Taimee.inc 2019 - 13 Time型のオブジェクトをstringに変換する 数ヶ月後、新しく入ってきたエンジニアが出してくるPR にはstrftimeが使われていた
↓ FYIとしてto_sで変換できるよとレビューをした
Copy Right © Taimee.inc 2019 - 14 Time型のオブジェクトをstringに変換する これが新しいエンジニアが入るたびに続く…
Copy Right © Taimee.inc 2019 - 15 Time型のオブジェクトをstringに変換する 別の方法としてI18nがある
Copy Right © Taimee.inc 2019 - 16 Time型のオブジェクトをstringに変換する 別の方法としてI18nがある
Copy Right © Taimee.inc 2019 - 17 Time型のオブジェクトを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 終わり - コーディング規約を作るなら、驚き最小な方を選ぼ
う - 本当に強制するメリットはあるのか