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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hirotaka Miyagi
September 13, 2019
Technology
0
430
コーディング規約で悲しみを生みたくない話
第一回 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
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
5
1.6k
Playwright でテストを書いててよかった!と思えた事例紹介
mh4gf
0
260
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
8
2.2k
to B プロダクトで Vite + React Router を採用して半年後の感想 / Impressions after 6 months of using Vite + React Router
mh4gf
16
6.8k
Playwright で一番小さく始める VRT と、次のステップの選択肢
mh4gf
14
5.7k
学習しながらアーキテクチャを進化させていくためのモノレポ
mh4gf
3
1.2k
pnpm workspace実践ノウハウ
mh4gf
12
8.9k
sassc-railsを利用している我々は、Sassの@importの非推奨化をどのように乗り越えていくか
mh4gf
4
2.9k
ProductionでRails6マルチDB対応を小さく始める
mh4gf
1
1.7k
Other Decks in Technology
See All in Technology
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
360
Copilot 宇宙へ 〜生成AIで「専門データの壁」を壊す方法〜
nakasho
0
180
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.3k
Phase10_組織浸透_データ活用
overflowinc
0
1.6k
Phase08_クイックウィン実装
overflowinc
0
1.7k
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
3
1.2k
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1.2k
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.8k
AI時代のIssue駆動開発のススメ
moongift
PRO
0
210
Embeddings : Symfony AI en pratique
lyrixx
0
210
FlutterでPiP再生を実装した話
s9a17
0
150
FastMCP OAuth Proxy with Cognito
hironobuiga
3
190
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Visualization
eitanlees
150
17k
Utilizing Notion as your number one productivity tool
mfonobong
4
270
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
280
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
The browser strikes back
jonoalderson
0
830
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Leo the Paperboy
mayatellez
4
1.5k
For a Future-Friendly Web
brad_frost
183
10k
[SF Ruby Conf 2025] Rails X
palkan
2
850
The Cult of Friendly URLs
andyhume
79
6.8k
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 終わり - コーディング規約を作るなら、驚き最小な方を選ぼ
う - 本当に強制するメリットはあるのか