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
280
コードを読みやすくしよう!〜秒で身に付くよい命名〜 (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
85
dotfilesを作ろう - NIFTY Tech Talk #17
niftycorp
PRO
1
88
フロントエンドを始める前に どうしていっぱいツールがあるの? - NIFTY Tech Talk #17
niftycorp
PRO
1
140
サービスシステム監視 (シフト例)
niftycorp
PRO
0
66
スクラムマスターの技を磨く! ニフティのスクラムトーク vol. 1 - NIFTY Tech Talk #16
niftycorp
PRO
1
150
AWS基礎 / 2023 ニフティ新人研修
niftycorp
PRO
0
340
データベース / 2023 ニフティ新人研修
niftycorp
PRO
0
180
Other Decks in Programming
See All in Programming
RaaP
ksss
0
170
The Final Frontier of Web Development: React Server Components vs Jakarta EE
ivargrimstad
0
230
AppRouter Panel Talk
yosuke_furukawa
PRO
1
530
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
470
WebGLで始める コンピュータグラフィックス入門
heller77
0
390
Timeline エディター拡張入門
yucchiy
0
460
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
5
330
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
0
1.1k
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
570
勉強会4_アップデートされたAssistantsAPIを試す
milky04
0
890
スタックトレース始めてみた
kuro_kurorrr
5
1.2k
slow types ってなんだろう?
karad
0
210
Featured
See All Featured
Designing with Data
zakiwarfel
96
4.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
140
For a Future-Friendly Web
brad_frost
172
9k
How STYLIGHT went responsive
nonsquared
92
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
In The Pink: A Labor of Love
frogandcode
138
21k
Web Components: a chance to create the future
zenorocha
306
41k
Writing Fast Ruby
sferik
622
60k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
How to train your dragon (web standard)
notwaldorf
75
5.2k
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