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
250
コーディング規約で悲しみを生みたくない話
第一回 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.5k
to B プロダクトで Vite + React Router を採用して半年後の感想 / Impressions after 6 months of using Vite + React Router
mh4gf
11
3.6k
Playwright で一番小さく始める VRT と、次のステップの選択肢
mh4gf
13
2.7k
学習しながらアーキテクチャを進化させていくためのモノレポ
mh4gf
3
810
pnpm workspace実践ノウハウ
mh4gf
8
3.1k
sassc-railsを利用している我々は、Sassの@importの非推奨化をどのように乗り越えていくか
mh4gf
4
1.8k
ProductionでRails6マルチDB対応を小さく始める
mh4gf
1
1.3k
平成Ruby会議 株式会社タイミースポンサーセッション
mh4gf
0
540
平成.rb 株式会社タイミー チーム開発紹介資料
mh4gf
0
630
Other Decks in Technology
See All in Technology
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
6
1.9k
日本が誇るイタリアのダンスミュージック!? ユーロビートって何??
minorun365
PRO
1
130
データ分析力を高めるSQL研修サービス『SQL Everyone』
hikarut
1
370
大規模言語モデル (LLM)における低精度数値表現
pfn
PRO
3
770
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
12
7.9k
The depthes of profiling Ruby - RubyKaigi 2024
osyoyu
0
100
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
1
170
AWSやJAWS-UGとの出会いを振り返る
yoyoyopg
1
210
#phpconkagawa レガシーコードにもオブザーバビリティを 〜少しずつ始めるサービス監視〜
yamato_sorariku
0
510
本番環境で Cloudflareを 使ってみた話
miu_crescent
2
120
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
Google Cloud Next '24 Recap in ZOZO AIにより変わる開発 運用/Development and operation changed by AI
gachimuchiengineer
0
180
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Statistics for Hackers
jakevdp
790
220k
How to Ace a Technical Interview
jacobian
273
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
What the flash - Photography Introduction
edds
64
11k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
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 終わり - コーディング規約を作るなら、驚き最小な方を選ぼ
う - 本当に強制するメリットはあるのか