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
コードを読みやすくしよう!〜秒で身に付くよい命名〜 (LT) - NIFTY Tech Day 2023
Search
ニフティ株式会社
PRO
November 29, 2023
Video
Resources
Programming
1
270
コードを読みやすくしよう!〜秒で身に付くよい命名〜 (LT) - NIFTY Tech Day 2023
ニフティ株式会社
PRO
November 29, 2023
Tweet
Share
Video
Resources
NIFTY Tech Day 2023
https://techday.nifty.co.jp/2023/
More Decks by ニフティ株式会社
See All by ニフティ株式会社
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
130
スクラムチームと認知負荷 - ニフティのスクラムトーク Vol2. / NIFTY Tech Talk #18
niftycorp
PRO
1
140
Visual Studio Code Dev Containers ススメ Python編 - NIFTY Tech Talk #17
niftycorp
PRO
1
79
dotfilesを作ろう - NIFTY Tech Talk #17
niftycorp
PRO
1
82
フロントエンドを始める前に どうしていっぱいツールがあるの? - NIFTY Tech Talk #17
niftycorp
PRO
1
130
サービスシステム監視 (シフト例)
niftycorp
PRO
0
63
スクラムマスターの技を磨く! ニフティのスクラムトーク vol. 1 - NIFTY Tech Talk #16
niftycorp
PRO
1
150
AWS基礎 / 2023 ニフティ新人研修
niftycorp
PRO
0
310
データベース / 2023 ニフティ新人研修
niftycorp
PRO
0
180
Other Decks in Programming
See All in Programming
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
140
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
1k
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
420
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
2
210
Criando a Woovi em uma semana
daniloab
0
110
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
490
酒飲んでたらテックリードになった話
spbaya0141
0
180
哲学史とモデリング
tanakahisateru
2
330
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
230
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
43
13k
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
4
1.6k
新宿ダンジョンを可視化してみた
satoshi7190
3
420
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
80
44k
RailsConf 2023
tenderlove
9
570
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
For a Future-Friendly Web
brad_frost
172
9k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Ruby is Unlike a Banana
tanoku
96
10k
We Have a Design System, Now What?
morganepeng
43
6.8k
A Philosophy of Restraint
colly
197
16k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
How to Ace a Technical Interview
jacobian
273
22k
Code Review Best Practice
trishagee
56
15k
Transcript
Copyright ©NIFTY Corporation All Rights Reserved. コードを読みやすくしよう! 〜秒で身に付くよい命名〜 ニフティライフスタイル株式会社 システム開発部
浜村 純
浜村 純 新卒5年目 Webエンジニア
3 initialization_flag is_initializing is_initialized can_initialize should_initialize 初期化中? 初期化済み? 初期化可能? 初期化するべき?
🤔
なぜ命名は大事か? 4
命名がよくないと... コードの理解に時間かかる 人に聞かないとわからない 誤解による手戻りが発生 5
命名がよくないと... チーム全体の生産性の低下に… コードは、書く時間より、読む時間の方が遥かに多いため、 6
よい命名とは? 7
よい命名とは 変数や関数などが... 名前である程度中身の予想がつく 曖昧でなく、誤解を招かない 8
すぐに身に付くテクニック 9
࠷େʁ࠷খʁ 10ηʔϑʁΞτ? 🤔 曖昧な単語は使わない 10 DON’T limit = 10 DO
min | max
自分しかわからない略語は使わない DON’T UPMg UPDc DO UserProfileManager UserProfileDoc 11 ୭ͰΘ͔Δུޠ˓ tmp,
str, num, regex, img, min, max, avg, cnt, init, eval, exec, prev, conf, env, doc, req, res…
数値の単位を明確にする DON’T timeout DO timeoutMs 12 ms, secs, px, kb,
mb.. ඵʁ ϛϦඵ? 🤔
Boolean型だとわかる名前にする DON’T spaceLeft() DO hasSpaceLeft() 13 is~ has~ can~ should~
? 🤔
Map型は key とvalue の情報を変数名に含める DON’T convertMap DO cityIdToPrefId 14 {key}To{Value}
{value}By{Key} key value 0123 13 0217 13 0787 14 🤔
もし英単語で迷ったら… 15
もし英単語で迷ったら... brokerage? agency fee? 🤔 Google翻訳より例文検索 海外の不動産サイトで どんな単語を使っているか 仲介手数料? 16
よく使う単語はチームで共有しよう 17 日本語 変数名 敷金 deposit 仲介手数料 agencyFee ... ...
まとめ • 生産性につながるので命名は大事 • 曖昧な単語、自分しかわからない略語はNG • 数値の単位を明確にする • Boolean型は is~
should~ has~ can~ • Map型は key とvalue を変数名に含める • 英単語で迷ったら例文検索と海外サイト • よく使う単語はチームで共有 18
None