SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
命名の話
@moznion
すべての人物・事物には
真の名前があり、
その名前を知るものは
それを支配することができる
名前重要
我々はどのようにして
名前を付けるのか
method/func の場合
動詞から始めよ
(e.g. isValid, fetchUserName)
どちらが良いか?
(isValidXXX() or validateXXX())
それが何をするのか
何を返すのかで変わる
どちらが良いか?
(isValidXXX() or validateXXX())
validation した結果だけ返す

だいたい bool が来る
どちらが良いか?
(isValidXXX() or validateXXX())
validation する
何が返るかわからない
その者が何者であるか
(何をするか)
で名前を決める
逆にその者が何者であるかは
名前によって決定される
言霊 the Power
variable の場合
名詞であるべき
(e.g. id, grantedName)
形容詞・副詞は名詞の前に
付けたほうが個人的に良いと
思っている
基本的に動詞が入ることは
起こりえない (はず)
型情報を名前で表すべきか
問題
例えばハンガリアン記法
(e.g. sFileName, epochI)
例えばハンガリアン記法
(e.g. sFileName, epochI)
ナツい!
とは言え,urlString みたいな
名前を付けることはある
あと,配列とかListだったら
複数形にするとかですね
(複数形にする派です)
動的型付け: 型情報をちょっと
は書いても良いのでは
(ハンガリアンが良いとは
言っていない)
静的型付け: 型情報見れば済む
から詳しく書く必要はないや
ろ,各自やっていけ
Class の場合
名詞であるべき
(e.g. URLEncoder, fbAuthenticator)
Roll を的確に表した語を
名づけてやる必要がある
変数名よりも
純粋な名詞的ネーミングに
なる傾向がある気がする
(修飾語が少ない)
URL の場合
名詞であるべき
あと基本的に1単語で
(RESTっぽい!!!!!)
とは言え動詞が入ることが
ありますね
動詞の方がわかりやすいこと
もある (signupとかね)
☑各自やっていく必要あり
このあたり
Web API: The Good Parts
が参考になる気がします
雑な話題
短い名前 VS 長い名前
短い名前
- 打ちやすい
- コードの見通しが良くなる場合有
- 意味不明になる可能性がある
- 大きなスコープを防ぐための

抑止力になりえる
長い名前
- 打ちにくい
- コードの見通しがゴチャっと

する場合がある
- 説明的な名前に出来るので

役割を一目で理解できること多い
- 適度な長さでやる (各自の意識)
- URL とかは短いほうが良い

エンカウント機会!!!!
- 最低限かつ不足のない名前を

付ける (コメントが要るか要らな
いかが指標となる)
- IDE を使っていけ (補完が効く)
どうすりゃいいのさ
情報が無いところから
情報を生み出すことは出来ない
情報にあふれたところから
情報を蒸留することは出来る
困ったらとりあえず
長い名前付けておくのが
良い,悩む時間が勿体無い
命名に
詰まったら他人と
議論する
snake_case VS CamelCase
言語のコーディング規約に
従うと吉
とは言え基本的に
CamelCaseは読みにくいですね
(Java批判ではないです)
CamelCaseが読みにくい
っつうのも
なんかの論文でデータとして
出ていたはず
(論文を忘れたので引用できない)
snake_case 使えるところは
使っていけば良いのでは……
コーディングの労力に
おいて命名の占める
割合は大きいので
(良し悪しが大きく左右される)
各位頑張りましょう

Contenu connexe

Plus de moznion

Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Lintermoznion
 
Hachioji pm 41
Hachioji pm 41Hachioji pm 41
Hachioji pm 41moznion
 
Hachioji.pm 40
Hachioji.pm 40Hachioji.pm 40
Hachioji.pm 40moznion
 
Hachioji.pm #39
Hachioji.pm #39Hachioji.pm #39
Hachioji.pm #39moznion
 
Talking About Japanese Area Code of Phone
Talking About Japanese Area Code of PhoneTalking About Japanese Area Code of Phone
Talking About Japanese Area Code of Phonemoznion
 
Hachioji.pm 38
Hachioji.pm 38Hachioji.pm 38
Hachioji.pm 38moznion
 
Hokkaido.pm #11
Hokkaido.pm #11Hokkaido.pm #11
Hokkaido.pm #11moznion
 
Hachiojipm 36
Hachiojipm 36Hachiojipm 36
Hachiojipm 36moznion
 
Plack::Request with Encoding
Plack::Request with EncodingPlack::Request with Encoding
Plack::Request with Encodingmoznion
 
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使うYAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使うmoznion
 
Net stalking with-lastfm
Net stalking with-lastfmNet stalking with-lastfm
Net stalking with-lastfmmoznion
 
Takao.mt 2013
Takao.mt 2013Takao.mt 2013
Takao.mt 2013moznion
 
Perl beginners #08
Perl beginners #08Perl beginners #08
Perl beginners #08moznion
 
Hachiojipm 28
Hachiojipm 28Hachiojipm 28
Hachiojipm 28moznion
 
Hachiojipm 26
Hachiojipm 26Hachiojipm 26
Hachiojipm 26moznion
 
Hachioji pm 25
Hachioji pm 25Hachioji pm 25
Hachioji pm 25moznion
 
Hokkaido pm 8 LT
Hokkaido pm 8 LTHokkaido pm 8 LT
Hokkaido pm 8 LTmoznion
 
Namba.pm #0
Namba.pm #0Namba.pm #0
Namba.pm #0moznion
 
You Can Be a CPAN Auhor
You Can Be a CPAN AuhorYou Can Be a CPAN Auhor
You Can Be a CPAN Auhormoznion
 
好き好き大好きWhitespace
好き好き大好きWhitespace好き好き大好きWhitespace
好き好き大好きWhitespacemoznion
 

Plus de moznion (20)

Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code LinterPerl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
 
Hachioji pm 41
Hachioji pm 41Hachioji pm 41
Hachioji pm 41
 
Hachioji.pm 40
Hachioji.pm 40Hachioji.pm 40
Hachioji.pm 40
 
Hachioji.pm #39
Hachioji.pm #39Hachioji.pm #39
Hachioji.pm #39
 
Talking About Japanese Area Code of Phone
Talking About Japanese Area Code of PhoneTalking About Japanese Area Code of Phone
Talking About Japanese Area Code of Phone
 
Hachioji.pm 38
Hachioji.pm 38Hachioji.pm 38
Hachioji.pm 38
 
Hokkaido.pm #11
Hokkaido.pm #11Hokkaido.pm #11
Hokkaido.pm #11
 
Hachiojipm 36
Hachiojipm 36Hachiojipm 36
Hachiojipm 36
 
Plack::Request with Encoding
Plack::Request with EncodingPlack::Request with Encoding
Plack::Request with Encoding
 
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使うYAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
 
Net stalking with-lastfm
Net stalking with-lastfmNet stalking with-lastfm
Net stalking with-lastfm
 
Takao.mt 2013
Takao.mt 2013Takao.mt 2013
Takao.mt 2013
 
Perl beginners #08
Perl beginners #08Perl beginners #08
Perl beginners #08
 
Hachiojipm 28
Hachiojipm 28Hachiojipm 28
Hachiojipm 28
 
Hachiojipm 26
Hachiojipm 26Hachiojipm 26
Hachiojipm 26
 
Hachioji pm 25
Hachioji pm 25Hachioji pm 25
Hachioji pm 25
 
Hokkaido pm 8 LT
Hokkaido pm 8 LTHokkaido pm 8 LT
Hokkaido pm 8 LT
 
Namba.pm #0
Namba.pm #0Namba.pm #0
Namba.pm #0
 
You Can Be a CPAN Auhor
You Can Be a CPAN AuhorYou Can Be a CPAN Auhor
You Can Be a CPAN Auhor
 
好き好き大好きWhitespace
好き好き大好きWhitespace好き好き大好きWhitespace
好き好き大好きWhitespace
 

命名の話