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
91
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.5k
競プロの楽しい始め方、 そして競プロをすることによるその効果。/Let's start programming contest
cleantted
2
1.7k
Other Decks in Programming
See All in Programming
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
870
Domain-Driven Transformation
hschwentner
2
1.9k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
120
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
140
Writing documentation can be fun with plugin system
okuramasafumi
0
120
SwiftUI Viewの責務分離
elmetal
PRO
1
220
Open source software: how to live long and go far
gaelvaroquaux
0
630
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
1
180
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
200
GoとPHPのインターフェイスの違い
shimabox
2
170
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
45
16k
Featured
See All Featured
Bash Introduction
62gerente
610
210k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
A Tale of Four Properties
chriscoyier
158
23k
Music & Morning Musume
bryan
46
6.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
The Pragmatic Product Professional
lauravandoore
32
6.4k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Designing for humans not robots
tammielis
250
25k
How GitHub (no longer) Works
holman
313
140k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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章に書かれている ◦
ソフトウェアエンジニアはみんな読もうね!!!
注意点 • これまで上げたのはあくまで一例、これでないとダメという事ではない • 「正しい事」よりも、一貫性があることの方が大事 ◦ すでに個人・チームにスタイルがあるなら、無理に変える必要はない ◦ なんとなくやっていることがあれば、それを明確にしてみる ◦
複数のやり方が混ざっている場合は、どちらかに合わせる ◦ もし決めていない部分があれば決めておく
まとめ • “命名” って大事だよ • 「名前を付けるルール」を決めよう • 名前は意味のあるわかりやすいものにしよう