クラス名・変数名に迷ったら書き込むスレ。Part20
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/07/29(金) 21:32:01.00命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part19
http://hibari.2ch.net/test/read.cgi/tech/1293201229/
0989デフォルトの名無しさん
2012/01/22(日) 04:38:21.16× count → cnt
0990デフォルトの名無しさん
2012/01/22(日) 04:43:28.28だったらutf8だとかeucだとか文字エンコードも併記すべきな気がするぞ…
0991デフォルトの名無しさん
2012/01/22(日) 10:09:32.31それが正解だね
スコープが狭くて文脈や宣言部分で意味がすぐわかるのにだらだら長い名前かくと
アルゴリズムの構造を記述している部分より識別子のほうが長くなって逆に読みにくくなる
何でもかんでも長くてはっきりした名前を付けないと気が済まない人って偏執狂的で頭の固い、応用や機転の効かない老害なんだろうなーって感じるよ
0992デフォルトの名無しさん
2012/01/22(日) 10:17:54.23違うだろ
複雑な機能や概念について対話するときにその対象のことを指し示すのにいちいち詳細を語っていてはきりがないから
その機能や概念を示すものとして何か短い字句を割り当てているだけ
ようするに名前の本来の役割は面倒な詳細を隠蔽してより上位のレベルでの対話を円滑にするためのものだ
内容を細かく示そうとする名前の付け方は原理的に間違っている
0993デフォルトの名無しさん
2012/01/22(日) 10:56:30.09逆
お前の感覚と違って現実は老害ほど略したがる
0994デフォルトの名無しさん
2012/01/22(日) 11:05:11.85http://toro.2ch.net/test/read.cgi/tech/1327197884/
0995デフォルトの名無しさん
2012/01/22(日) 11:40:53.73longNameMemberHogeVector.erase(std::remove(longNameMemberHogeVector.begin(), longNameMemberHogeVector.end()), longNameMemberHogeVector.end());
}
void Hoge::func(void) {
std::vector<hoge> & v = longNameMemberHogeVector;
v.erase(std::remove(v.begin(), v.end()), v.end());
}
どちらの読性が高いかは一目瞭然だろう
詳細に近づけば近づくほど識別子がなにを意味するのかはどうでも良くなり、そこに書かれている処理の内容が重要になってくる
そこでは長い名前は視覚的に処理の内容の認識を遅らせるため害悪となる
0996デフォルトの名無しさん
2012/01/22(日) 11:46:03.95改行とインデントを適切に行えば
そんな事は起こらない
短い名前なんてのは適当なループ変数程度にしか使えないよ
0997デフォルトの名無しさん
2012/01/22(日) 11:49:23.30基本的には混乱とバグの元になる
配列の一要素の参照を作るとかなら
速度的に仕方が無いとして許容出来るけど
0998デフォルトの名無しさん
2012/01/22(日) 11:58:10.91それも極端だな
1単語だとそれが何を指してるのかを確認する作業が入る
理想は2〜3ぐらいで5単語超えたら設計を疑う
0999デフォルトの名無しさん
2012/01/22(日) 12:00:26.15自然言語でitとかアレとかソレなどといった代名詞があらゆる文化圏でごく自然に現れたのはそのほうが人間の脳にとって優しくて実用上の理にかなうからだよ
結局のところ名前なんてものは「完結で小さい情報量でより複雑で大きな情報や物を指し示す」以上でも以下でもない
もちろん同程度の情報量で明快な名前を付けられるならそれに越したことはない
だが、わざわざ情報量をいたずらに増やしてまで明快さを求めるのは馬鹿げている
短い文脈のなかで馬鹿丁寧に長ったらしい識別子を連続して使うことはハッキリ言って無駄でしかない
まるで新人PGが関数を使わずにコピペで同じコードを繰り返し書くことのように愚かな行為だ
1000デフォルトの名無しさん
2012/01/22(日) 12:11:51.57極論挙げて否定しようとしたって馬鹿と思われるだけ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。