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
400
コーディング規約で悲しみを生みたくない話
第一回 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
800
Playwright でテストを書いててよかった!と思えた事例紹介
mh4gf
0
150
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
8
2.1k
to B プロダクトで Vite + React Router を採用して半年後の感想 / Impressions after 6 months of using Vite + React Router
mh4gf
16
6.4k
Playwright で一番小さく始める VRT と、次のステップの選択肢
mh4gf
14
5.1k
学習しながらアーキテクチャを進化させていくためのモノレポ
mh4gf
3
1.1k
pnpm workspace実践ノウハウ
mh4gf
12
7.4k
sassc-railsを利用している我々は、Sassの@importの非推奨化をどのように乗り越えていくか
mh4gf
4
2.7k
ProductionでRails6マルチDB対応を小さく始める
mh4gf
1
1.6k
Other Decks in Technology
See All in Technology
microCMS 最新リリース情報(microCMS Meetup 2025)
microcms
0
100
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Claude Code x Androidアプリ 開発
kgmyshin
1
580
Goでマークダウンの独自記法を実装する
lag129
0
210
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
680
Webアクセシビリティ入門
recruitengineers
PRO
1
250
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
660
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
120
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
1
2.2k
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Building Adaptive Systems
keathley
43
2.7k
Balancing Empowerment & Direction
lara
2
590
Facilitating Awesome Meetings
lara
55
6.5k
BBQ
matthewcrist
89
9.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Practical Orchestrator
shlominoach
190
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
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 終わり - コーディング規約を作るなら、驚き最小な方を選ぼ
う - 本当に強制するメリットはあるのか