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
"命名規則"を決めよう!/Let's Define a "Naming Conventions"
Search
cleantted
March 27, 2020
Programming
0
1.1k
"命名規則"を決めよう!/Let's Define a "Naming Conventions"
cleantted
March 27, 2020
Tweet
Share
More Decks by cleantted
See All by cleantted
岩石の話
cleantted
0
84
shaderでDDRのパァーノゥを光らせてみた/lighting_ddr_by_shader_in_vrchat
cleantted
0
1.4k
VRChatの中からTwitterとDiscordに メッセージを送れるようにした話 (IFTTT×VRC_Panorama)/Usecase of IFTTT for VRChat
cleantted
0
2.3k
競プロの楽しい始め方、 そして競プロをすることによるその効果。/Let's start programming contest
cleantted
2
1.6k
Other Decks in Programming
See All in Programming
「天気予報があなたに届けられるまで」 - NIFTY Tech Talk #22
niftycorp
PRO
0
120
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
230
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
110
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2.1k
Jakarta EE meets AI
ivargrimstad
0
550
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
2.4k
cmp.Or に感動した
otakakot
3
300
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
150
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
1.3k
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
780
Contemporary Test Cases
maaretp
0
140
Remix on Hono on Cloudflare Workers
yusukebe
1
340
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
656
59k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
860
Building Adaptive Systems
keathley
38
2.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Transcript
”命名” って大事だよ! テッド (cleantted) VRCLT #7 ”命名規則” を決めよう!
自己紹介 ・登壇者: cleantted (テッド) 紫色のニコ or ミーシェちゃんアバター ・趣味: 音ゲー (DDR
etc.) 競技プログラミング ・過去の登壇: #2: 競技プログラミング #5: VRC_Panorama×IFTTT #6: DDRのパァーノゥ光らせてみた Twitter: @cleantted_s, Discord: 妹尾/テッド#3519
突然ですが、問題です Q1. 何のファイルでしょう? Q2. 一番最新のファイルはどれでしょう? サークルメンバーから、以下のfbxファイルが送られてきました
突然ですが、問題です サークルメンバーから、以下のfbxファイルが送られてきました Q1. 何のファイルでしょう? → Vketに使用するブースのモデルデータ Q2. 一番最新のファイルはどれでしょう? → 「huryuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.fbx」
そうだ、今度のLTは “命名” について 話をしよう……(実話)
今回話す内容 • “命名” って大事だよ • 「名前を付けるルール」を決めよう • 名前は意味のあるわかりやすいものにしよう 今回話さない事: •
キャラクター、ワールド、イベントの名前のつけ方 • 人の目を引く名前のつけ方
“命名” とは • モノに対して名前をつける事 • 今回扱う “命名” プログラミング:変数名、関数名、クラス名、モジュール名、etc.. UnityやBlender :ファイル名、オブジェクト名、etc…
• 今回扱わない ”命名”: キャラクター名、イベント名、ワールド名…キャッチ―さがいるもの
今回のLTで言いたいこと • わかりやすい名前をつけよう! • わかりやすい =「他の人が短い時間で、それが何かを理解できること」 「他の人」には、数か月後の未来の自分も含まれる つまり、わかりやすい名前にしておくことは、自分にとってもメリットになる!
わかりにくい名前だとどうなるの? • 作業効率が低下する ◦ 「名前をつけたもの」が何かを理解する時間を短縮できる ◦ わかりにくいと、調べる /覚えておくために時間を使う • 管理することが難しくなる
◦ 名前から何かがわからないので、整理もしにくい ◦ 「もういいか……」となると無法地帯化がすすむ • 作ったものが使われなくなる ◦ 再利用するためにコストがかかる ◦ わかりにくいものはヘイトたまりがち
どうすればいい? • 名前のつけ方や表記の「ルール」を決める ◦ 例: 表記の仕方を統一する ◦ 例: 日本語やローマ字表記は使わない ▪
日本語は環境・ソフトによってはバグるため ▪ ローマ字は単純に読みにくい ▪ 例外:日本語の方が分かりやすい場合もある(例:表情用の Animation)
どうすればいい? • 名前は意味のあるわかりやすいものにする ◦ 明確で具体的な単語を使う ◦ 誤解されにくいものにする ・Pipeを消す ・Pipeを透明にする
今回参考にした本 • 『リーダブルコード』(O'Reilly Japan) ◦ ソフトウェアエンジニア向けの本 ◦ 命名については2, 3章に書かれている ◦
ソフトウェアエンジニアはみんな読もうね!!!
注意点 • これまで上げたのはあくまで一例、これでないとダメという事ではない • 「正しい事」よりも、一貫性があることの方が大事 ◦ すでに個人・チームにスタイルがあるなら、無理に変える必要はない ◦ なんとなくやっていることがあれば、それを明確にしてみる ◦
複数のやり方が混ざっている場合は、どちらかに合わせる ◦ もし決めていない部分があれば決めておく
まとめ • “命名” って大事だよ • 「名前を付けるルール」を決めよう • 名前は意味のあるわかりやすいものにしよう