トップページ⇒tech
1001コメント266KB

クラス名・変数名に迷ったら書き込むスレ。Part20

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/07/29(金) 21:32:01.00
クラス名、変数名のつけ方に悩んだら書き込むスレです。

命名規則や設計の善し悪しについて議論するのは基本的に禁止。

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part19
http://hibari.2ch.net/test/read.cgi/tech/1293201229/
0696デフォルトの名無しさん2011/12/28(水) 19:36:27.47
理想的な回答だな
06975652011/12/29(木) 16:32:24.06
せっかく回答してくれたけど結局自分で名前をつけたよ
作る前に質問したから10日しかたってないんだな
http://makuru.tenohiragaeshi.com/
0698デフォルトの名無しさん2011/12/29(木) 16:34:28.63
お、ねぇ見てて.vbs 完成したのか
0699デフォルトの名無しさん2011/12/29(木) 17:11:37.80
複数プロセスの起動を抑止するクラスを作りたいんだけど何がいいだろうか
SingleProcessはなんか違うよなあ
0700デフォルトの名無しさん2011/12/29(木) 17:14:55.05
int main(void) {
GateKeeper gateKeeper;
};
0701デフォルトの名無しさん2011/12/29(木) 18:08:35.54
ProcessMutexer
SingletonEnforcer
SingleInstanceForcer

こんなとこ?
0702デフォルトの名無しさん2011/12/29(木) 18:41:53.02
diproccesssuppressor
0703デフォルトの名無しさん2011/12/29(木) 19:37:07.60
ProcessManager
0704デフォルトの名無しさん2011/12/29(木) 19:52:43.29
SingleLauncher
0705デフォルトの名無しさん2011/12/29(木) 20:06:02.42
普通に英語でAlternateCheckerとかではダメなんですか?
0706デフォルトの名無しさん2011/12/29(木) 20:15:47.08
それのどこが普通だよw
0707デフォルトの名無しさん2011/12/29(木) 21:44:42.17
>>700-705
ありがとう参考になります
0708デフォルトの名無しさん2011/12/31(土) 04:53:53.35
>>695
亀レスだがサンクス
そんなクラスが存在していたとは知らなんだ
0709デフォルトの名無しさん2011/12/31(土) 09:55:18.67
識別子でよく使う単語の(世界でだいたい通用する)省略形を
集めたページの存在を知っていると、名前決めの際に役に立ちますので紹介します

http://www.wgag.net/doc/abbr.html

ほかにも、programming abbreviation などをキーワードにググると色々出てきます
0710デフォルトの名無しさん2011/12/31(土) 10:44:37.10
いまさら名前決めとかアホか
そういうのは解読に使うもんだ
0711デフォルトの名無しさん2011/12/31(土) 13:49:27.52
〇〇を持ってる××とかに機械的に付けれる命名法則ってある
class Object { } ;
class ObjectWhichHasPosition : public Object {
math::vector position;
};
class ObjectWhichHasChildren {
std::vector<Object *> children;
};
なんかダサい
0712デフォルトの名無しさん2011/12/31(土) 14:06:32.65
ObjectWithPositionとか

MSのCOMインターフェイスでIObjectWithSiteなどというのもあるし
0713デフォルトの名無しさん2011/12/31(土) 15:11:00.40
>>711
余計なお世話かも知れないが、メンバ変数の存在を強く意識したクラスなんて差し替えしにくいし、
ましてや名前にまでそれをつけようってのはとても恐ろしいことだ。
0714デフォルトの名無しさん2011/12/31(土) 19:24:02.28
まあ、普通はそういうのは名前で表示するものではないし、したところで意味がないよね。
どうして素直にインターフェイスではだめなんだろう。
0715デフォルトの名無しさん2011/12/31(土) 21:47:16.69
空間に登録されたバウンディングボックスとハンドルのペアを集約したクラスがあります
このクラスはバウンディングボックスとハンドルのベクタを与えると、
引数のバウンディングボックスに衝突するバウンディングボックスとペアになっているハンドルを引数のベクタに挿入します
クラス名、メソッド名は何がいいでしょうか。実装は隠蔽されているので実装を反映させた名前は避けたいです
0716デフォルトの名無しさん2011/12/31(土) 21:54:35.82
シンプルにGetHits
0717デフォルトの名無しさん2012/01/03(火) 01:53:43.35
数値的に解析するってなんて言えばいい?parseAsNumberだと不自然だよね。。
0718デフォルトの名無しさん2012/01/03(火) 07:22:26.97
numericalAnalysis
0719デフォルトの名無しさん2012/01/03(火) 12:09:02.68
analyzeNumerically
0720デフォルトの名無しさん2012/01/03(火) 12:47:07.92
numerical_insight
0721デフォルトの名無しさん2012/01/03(火) 13:44:45.87
数値的に解析って何?
0722デフォルトの名無しさん2012/01/03(火) 13:59:37.20
>>721
対象となるものの数値的に現れる性質を調べたり、
あるいは(主に数学的な)問題を数値的に解くことを言っているのだと思うが
(それ以外の解釈を俺は思いつかん)

逆に数値的じゃない解析というのは、
対象となるものの構造的な性質を調べたり、
(主に数学的な)問題を解析的に解くこと、が例として挙げられるな
0723デフォルトの名無しさん2012/01/03(火) 14:50:06.82
>>717
むしろそれでもいいかと。
でも今時はto + 変換後の型名が一般的では?

toInt
toDouble
HogeToInt
HogeToDouble

例えばこんな感じ。
0724デフォルトの名無しさん2012/01/03(火) 14:57:48.38
「解析」という言葉に普通込めるニュアンスと、
「parse」という言葉に普通込めるニュアンスは、
明らかに違うと思うんだが・・・
0725デフォルトの名無しさん2012/01/03(火) 17:09:05.02
「数値として解釈」と言いたかったんだろうな。
0726デフォルトの名無しさん2012/01/03(火) 17:54:52.93
>>724-725
くだらない議論。
というか、解釈と解析なら、むしろ解析の方が妥当。
解釈というと逐語訳ではない(意訳的な)変換をニュアンス的に含むからね。
0727デフォルトの名無しさん2012/01/03(火) 18:32:05.19
はぁ?
0728デフォルトの名無しさん2012/01/03(火) 21:24:08.74
文字列を数値などに変換する→ParseHoge, Hoge.Parse
※基本的に重い処理

あるものの表現方法を変換する→ToHoge, PiyoToHoge
※基本的に軽い処理
0729デフォルトの名無しさん2012/01/03(火) 23:34:02.26
いわゆる数値解析とはまったく関係ありませんでした、と。
0730デフォルトの名無しさん2012/01/03(火) 23:47:07.03
関係あるわけないだろ。
そもそも「数値解析」なんていうアバウトなメソッドがある訳がない。
訳のわからんこと言ってる連中はこんなもの想像してたのか。
頭おかしいなw
0731デフォルトの名無しさん2012/01/04(水) 06:09:42.94
ほぉ?
0732デフォルトの名無しさん2012/01/04(水) 06:46:55.13
むぅ
0733デフォルトの名無しさん2012/01/04(水) 13:52:42.09
らっぱ
0734デフォルトの名無しさん2012/01/04(水) 15:34:11.88
検索処理で上位のグループだけ返す(数を指定せずプログラムが自動的に判断して返す)オプションの名前
0735デフォルトの名無しさん2012/01/04(水) 16:14:18.55
I'm feeling lucky

……は冗談として、SQLだとLIMIT句を使って取得数を変えたりするから、
それに倣って limits(NumOf)Records とか?
0736デフォルトの名無しさん2012/01/04(水) 17:04:16.60
↓しんのしこうていAA
0737デフォルトの名無しさん2012/01/04(水) 20:51:01.68
GetHots
GetHotRatings
0738デフォルトの名無しさん2012/01/05(木) 02:50:03.84
FindTopRecords
GetTopRecords


class Node { // ツリー構造のノード
private:
 List<Node> children;
 List<Hoge> hoges;
};

�@ 自身のhogesに登録されているHogeの数を取得するメソッド
�A 自身のhogesに登録されているHogeの数 + 自身を祖先として持つ全ての子ノードに登録されているHogeの数を取得するメソッド
を命名していただきたい
0739デフォルトの名無しさん2012/01/05(木) 02:56:01.12
GetHogesCount(bool isRecursive)
0740デフォルトの名無しさん2012/01/05(木) 05:50:09.16
>>739
なるほど、その手があったか!

とは思うものの、やはり�@と�Aの2つに分けて定義したい
0741デフォルトの名無しさん2012/01/05(木) 07:45:34.95
なんで?
0742デフォルトの名無しさん2012/01/05(木) 09:00:37.51
CountHoges
CountHogesRecursively
0743デフォルトの名無しさん2012/01/05(木) 10:48:18.53
>>737-738
Get〜 だと取得する関数にならね?
0744デフォルトの名無しさん2012/01/05(木) 13:00:07.89
GetCount
GetRecursionCount
0745デフォルトの名無しさん2012/01/05(木) 15:09:36.38
CountDescendantHoges
0746デフォルトの名無しさん2012/01/05(木) 20:20:06.71
レスサンクス
�@ GetHogeCount
�A GetHogeCountRecursively にしてみようかと
0747デフォルトの名無しさん2012/01/05(木) 20:31:26.13
RecursionCountの方がいいと思うよ。
英語わかんなくてもググってヒット数比べりゃわかると思うけど。
0748デフォルトの名無しさん2012/01/05(木) 21:24:56.39
RecursionCount だと再帰の回数。
RecursiveCount じゃまいか?
0749デフォルトの名無しさん2012/01/05(木) 21:29:45.21
マツコ 「K-POPはパクリ」 
http://ikura.2ch.net/test/read.cgi/news/1325760245/

★マツコ「韓国人でてけ!日本が嫌だったら!出てけ」 3
http://ikura.2ch.net/test/read.cgi/news/1325765534/

★マツコ「韓国人でてけ!日本が嫌だったら!出てけ」 3
http://ikura.2ch.net/test/read.cgi/news/1325765572/

★マツコ「韓国人でてけ!日本が嫌だったら!出てけ」 2
http://ikura.2ch.net/test/read.cgi/news/1325763378/

★マツコ「韓国人でてけ!日本が嫌だったら!出てけ」 
http://ikura.2ch.net/test/read.cgi/news/1325760720/

↓そーす
http://c3413260.r60.cf0.rackcdn.com/20s00002017.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002018.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002019.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002020.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002021.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002028.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002027.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002023.jpg
http://c3413260.r60.cf0.rackcdn.com/20s00002024.jpg
0750デフォルトの名無しさん2012/01/05(木) 21:36:50.60
ネトウヨ王に、俺はなる!まで読んだ。
0751デフォルトの名無しさん2012/01/05(木) 22:47:54.56
>>747
Countの前に付けるならRecursiveかな
>>745のDescendant(子孫)を使った関数名も良さそうだけど、Hogeの数は全ての子孫のhogeの数 + 自分のhogeの数だから、少し説明が足りない
いっそのことGetTotalHogeCountにでもしようかな
0752デフォルトの名無しさん2012/01/06(金) 03:12:13.00
>>747
英語わかんないのに無理すんな
0753デフォルトの名無しさん2012/01/06(金) 04:17:48.46
>>752
スレの意義を見失うw
0754デフォルトの名無しさん2012/01/06(金) 08:06:53.13
韓国人歌手が東京で従軍慰安婦のポスター1500枚を掲示=韓国

 韓国人歌手の金長勲(キム・ジャンフン)と韓国広報専門家の叙敬徳(ソ・ギョントク)城信女子大客員教
授が、3日から4日の2日間、東京内の流動人口が最も多い新宿、渋谷、原宿などで、従軍慰安婦問題に関
連するポスターを掲示したことが明らかとなった。韓国の複数のメディアが報じた。

■「従軍慰安婦」に関する他の記事 - サーチナ・ハイライト

  韓国メディアは、キム・ジャンフンとソ教授が日本に在住する韓国人留学生たちの助けを借りて、東京の
街のあちこちに1500枚の従軍慰安婦に関連するポスターを掲示したと伝えた。

  「DO YOU HEAR?(聞こえるか?)」というタイトルの今回のポスターは、12月29日付けのウォールス
トリートジャーナル・アジア版に掲載した全面広告のデザインと同じ内容。

  ポスターを企画したソ教授は、「世界的な有力紙の広告を通じて、国際社会で問題化し、世界の世論を喚
起させる。日本国内のポスターは、日本軍慰安婦の存在すら知らない若者にアピールするために作成した
」とコメントしたという。

  ポスターの制作費を後援したキム・ジャンフンは、「水曜デモが1000回を超えたが、日本政府は、慰安
婦問題をいつも回避している。慰安婦問題は、日韓の歴史認識の次元を超え、女性の人権回復の重要な
問題であることを日本政府は知っているはずである」と説明した。

  また、ソ教授は「独島や慰安婦関連の広告を掲載するたびに、日本の右翼団体の脅迫をいつも受ける
が、これに屈することなく、より正々堂々と日本政府の誤りを指摘し、世界の世論を引き出そうしようと努力
する予定である」と語っている。

  キム・ジャンフンとソ教授は、来週には大阪と京都を中心とした関西地方でも、ポスター1500枚を掲示する予定だという。

http://news.searchina.ne.jp/disp.cgi?y=2012&d=0105&f=national_0105_077.shtml
0755デフォルトの名無しさん2012/01/06(金) 12:39:46.93
>>751
それはどっちでも恐らく同じ。
ただRecursionCountの方がヒット数が多い。(分かち書きしても同じ)
0756デフォルトの名無しさん2012/01/06(金) 12:58:23.53
>>755
英語わかんないのに無理すんな
0757デフォルトの名無しさん2012/01/06(金) 13:06:18.57
recursion countだと再帰の回数って感じ
0758デフォルトの名無しさん2012/01/06(金) 13:30:16.24
>>757
再帰の回数って何よ?

いや、概念としては分かりもするが、recursionCountって変数を見て、
ああ再帰の回数なのね、と思う奴がいる?
0759デフォルトの名無しさん2012/01/06(金) 13:31:07.25
いるじゃないか。
0760デフォルトの名無しさん2012/01/06(金) 13:31:24.09
いる
というかお前以外そう言ってる
0761デフォルトの名無しさん2012/01/06(金) 13:32:53.22
ヒット数が多い≠正しい訳

じゃないからw
07627612012/01/06(金) 13:33:45.25
間違えた

ヒット数が多いことが正しい訳であるというわけじゃないと言いたかった
0763デフォルトの名無しさん2012/01/06(金) 13:34:35.64
検索ヒットしたページの中で「再帰の回数」以外の意味で recursion count と呼んでる例を
探してみるといいよ。
0764デフォルトの名無しさん2012/01/06(金) 13:35:10.60
分かった馬鹿と議論しても無駄だよな。

じゃあ例えば英辞書で"recursion"を引くと用例のトップに"recursion algorithm"
とあるが、これは「再帰のアルゴリズム」、つまり再帰に関するアルゴリズムって意味なのかw
0765デフォルトの名無しさん2012/01/06(金) 13:35:44.81
検索ヒットしたページの中で「再帰の回数」以外の意味で recursion count と呼んでる例を
提示してみるといいよ。
0766デフォルトの名無しさん2012/01/06(金) 13:36:48.22
>>762
そんなこと言ってないけどね。
どっちも正しい、と言ってるはずだけど
0767デフォルトの名無しさん2012/01/06(金) 13:48:26.81
再帰の回数って言ったら、どんくらい深く再帰呼び出しされてるかっていう回数。
0768デフォルトの名無しさん2012/01/06(金) 13:50:41.52
それは深さ
0769デフォルトの名無しさん2012/01/06(金) 13:51:19.79
recursion algorithm でググると recursive algorithm しかでてこねー。
0770デフォルトの名無しさん2012/01/06(金) 13:53:23.57
もちろん "recursion algorithm" でググれば出てくるのは知ってる。
0771デフォルトの名無しさん2012/01/06(金) 14:09:02.57
よほどマイナーな例を根拠にしてるんだろうか?
0772デフォルトの名無しさん2012/01/06(金) 14:16:34.11
>>746
recursion algorithm ならそうなんじゃね?

再帰的なアルゴリズムなら、recursive algorithm だもんね。
0773デフォルトの名無しさん2012/01/06(金) 14:17:24.75
違うとこ指してしまった。>>764の間違い。
0774デフォルトの名無しさん2012/01/06(金) 14:25:29.89
>>757
再帰の回数といっているものが俺に正しく伝わっているなら、それはdepthの方がよくないかな
0775デフォルトの名無しさん2012/01/06(金) 14:25:54.79
って>>768もかいてた。
0776デフォルトの名無しさん2012/01/06(金) 14:43:46.40
どっちが良いかじゃなくて、どう解釈されるかっていう話だろ。
0777デフォルトの名無しさん2012/01/06(金) 17:10:34.64
GetHogeCountRecursively

じゃね? というよりまず、命名以前にクソ使いにくいAPIだと思うが。
0778デフォルトの名無しさん2012/01/06(金) 18:04:32.85
ここでそんなことを言ってはならぬ。心の中に留めておくのじゃ。
このスレの質問の9割はそうなんじゃからな。
0779デフォルトの名無しさん2012/01/07(土) 02:03:16.87
〜
0780デフォルトの名無しさん2012/01/07(土) 02:11:49.23
「再帰の回数」以外の意味で recursion count と呼んでる例とやらはまだか?
0781デフォルトの名無しさん2012/01/07(土) 12:00:16.74
衝突判定に必要な要素をもたせたベースクラスなんだけどCollisionableって言う?
ググったけど3000件ぐらいしか出てこなくて不安になった
0782デフォルトの名無しさん2012/01/07(土) 12:02:55.54
collidableじゃね
0783デフォルトの名無しさん2012/01/07(土) 12:52:43.45
3000件もヒットしてるなら十分だと思うが

その名前を見た者はちゃんと理解できるだろうし
0784デフォルトの名無しさん2012/01/07(土) 12:53:04.89
普通に(I)HitTestableでは?
検索ヒット数は無茶苦茶低いけどw
0785デフォルトの名無しさん2012/01/07(土) 13:04:27.66
CollisionAwareとか
0786デフォルトの名無しさん2012/01/07(土) 13:05:55.32
俺はその衝突判定に必要な要素をもたせたベースクラスのインスタンスが、
どのような仕事をするのか(すべきなのか)が気になるな(スレチだから訊かないけど)
0787デフォルトの名無しさん2012/01/07(土) 13:08:51.97
単純に「当たり領域」を表すリージョンか矩形を返すインターフェイスなんじゃないの?
普通に考えて
0788デフォルトの名無しさん2012/01/07(土) 13:22:55.58
>>787
それだけなら、もし Collisionable や Collidable という名前だと、
名前が体以上を表している、あるいはややズレているように感じなくもない

むしろ検索ヒット数が少ないという HitTestable の方が合ってそうだ

まぁ >>783 でもちょっと言ったが、クラスの利用者(プログラマ)が
名前から仕事を正しく連想できれば何でも良いと思うから、些細なことだけど
0789デフォルトの名無しさん2012/01/07(土) 13:29:48.29
じゃあヒットテストと衝突イベントハンドリングなら?
0790デフォルトの名無しさん2012/01/07(土) 13:37:50.57
それなら Collisionable や Collidable に相応しく感じる

逆に HitTestable は合わない
07917812012/01/07(土) 13:47:22.09
ありざっした
collidableで行きます
0792デフォルトの名無しさん2012/01/07(土) 14:16:01.75
colidableはともかく、名詞にableって付くんだっけ?
0793デフォルトの名無しさん2012/01/07(土) 14:18:34.17
>>792
variableとかまさにその例でしょ
英語的にはよくある
0794デフォルトの名無しさん2012/01/07(土) 14:18:49.48
付くこともあるよ
0795デフォルトの名無しさん2012/01/07(土) 14:20:20.21
>>793
違う
0796デフォルトの名無しさん2012/01/07(土) 14:22:32.99
>>795
はい??
■ このスレッドは過去ログ倉庫に格納されています