メソッド名の命名規則について
「11.変数名やメソッド名を何かと略したがる。」に関しては、逆に長すぎる名前を付けてドヤ顔してる方が今やレガシーだろ > レガシープログラマかどうかを判断する10項目 - ITは芸術だ http://t.co/jWc8TgP
2011-08-05 12:06:29これは本当に良い名前か? abstractなんぞ書略できるだろうが > AbstractDependencyRespectingResourceAggregatingHeaderResponse http://bit.ly/r87Zl3
2011-08-05 12:13:26@yuroyoro あ、ローカル変数に関しては全く同意。メソッドに関してはほんの僅かも意味の齟齬がないレベルまで長いほうがよいっす
2011-08-05 12:07:52@yuroyoro 10wordなければ一意に定まらないのであればYES。そうでなければNO。大抵の場合は6Wordぐらいで一意になると思いますけれどね。
2011-08-05 12:09:42@akisutesama 一意に定まるってのは、そのメソッドが属するパッケージやクラス、引数の型なんかも込みでの話だよね?そういったコンテキストを織り込むことでもっと簡潔な名前を付けられるはずなのに、やたら完全修飾したがるヤツがいて、本当にどうかと思う
2011-08-05 12:11:15@yuroyoro そうすね。パッケージのしくみがあると楽にできると思います。あとは言語の文化に倣うのと、自然言語なのかプログラム言語なのかって話ですね、使う人間が好きなのが。map()とかreduce()はプログラム言語で、stringWithFormatは自然言語より。
2011-08-05 12:17:14@yuroyoro ObjCの世界でgetContext(a, b)みたいなのは軽蔑されますし、rubyでcomponentsJoinedByString関数を作ったら噴飯でしょうし、言語の文化に倣うのが大事
2011-08-05 12:19:17@yuroyoro contextFromA:B:とするのが良いです。なぜと言われるとAppleがCocoaの命名則を定めているってのと、名前でメモリを管理する言語なんでってのと、それから外れると遠慮なく踏み潰される、そういう文化がある、としか言いづらい。
2011-08-05 12:25:50@yuroyoro そんな感じっす。何せ元がCなんで言語機能が弱く、パッケージもないと。厳格な命名則を使わないといかん、ってなもんなのです。最近はずいぶんコンパイラが頑張ってくれてますけど。
2011-08-05 12:34:43命名則がグローバルなのかも。ある範囲ではこう、ある範囲ではこうって、やってけば短くなおかつそこを扱う人間にとっては自明な名前付けが出来やすいと思うが、全体で使われる命名則がガチガチだとそうもいかない。
2011-08-05 12:29:24Objective-Cの命名則には現状制約があるため仕方なくというのが多分にあると思うので、現状従うが良いものとして全肯定する気にはなれないな。例えば、クラス名にプレフィックス付けるなんてのはただ名前空間がないって事の裏返しに過ぎない。
2011-08-05 12:35:12