1 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:59:22 ] クラス名、変数名のつけ方に悩んだら書き込むスレです。 質問する人は、その変数に何を格納するのか(クラスだったらその役割) プログラミング言語は何なのかを、それぞれ書いて、 いい変数名を思いついた人は、それに答えてあげましょう。 命名規則や設計の善し悪しについて議論するのは基本的に禁止。 >>2 英和・和英・英英など各国語辞書と翻訳サイト。 >>3 類義語(シソーラス)辞書、図形・数式・数学用語の英単語。 >>4 関連スレと、いろいろな言語規約。 >>2-10 諸事情によりリンクがずれた場合。 前スレ。 ◆ネーミング倶楽部◆: pc3.2ch.net/tech/kako/1035/10353/1035362308.html Part1: pc5.2ch.net/tech/kako/1046/10465/1046541730.html Part2: pc5.2ch.net/tech/kako/1058/10582/1058213523.html Part3: pc5.2ch.net/test/read.cgi/tech/1067171530/ Part4: pc5.2ch.net/test/read.cgi/tech/1087209526/ Part5: pc8.2ch.net/test/read.cgi/tech/1109330204/ Part6: pc8.2ch.net/test/read.cgi/tech/1128266018/ Part7: pc8.2ch.net/test/read.cgi/tech/1144978008/ Part8: pc10.2ch.net/test/read.cgi/tech/1154448184/ Part9: pc11.2ch.net/test/read.cgi/tech/1168356029/ Part10: pc11.2ch.net/test/read.cgi/tech/1180146315/ Part11: pc11.2ch.net/test/read.cgi/tech/1191250784/
32 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 22:17:28 ] OCamlでイラストロジックを遊ぶためのプログラムを書こうと思っています。 書くマス目の状態を表すヴァリアントを定義したいのですが、どのような名前をつけたらよいでしょうか。 とりあえず、塗られた状態、×印が付いた状態、何もされていない状態を表したいです。
33 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 22:18:09 ] 書くマス目→各マス目 ですね。
34 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 22:21:21 ] >>32 塗:checked ×:rejected 無:none
35 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 22:26:42 ] >>34 rejectは思いつきませんでした。使ってみます。 ありがとうございました。
36 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 23:01:06 ] >>35 個人的な考えになるけど、イラストロジックってカラーがあったよね? そういうの実装する可能性があるならchecked/noneじゃないほうがいいかな?とか思った。 いや、代替案があるわけじゃないんだけど・・・
37 名前:34 mailto:sage [2008/03/29(土) 23:10:02 ] >>36 おぉ、確かに。 俺はC#を趣味でやってるだけだから、良い方法なのかダメな方法なのかは分からないが、 enum BlockState : int{ Red = (unchecked)0xffff0000, Blue = (unchecked)0xff0000ff, ... White = (unchecked)0xffffffff, Reject = (unchecked)0x00000000, } とか俺ならやる。
38 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 23:24:54 ] >>36 checkedじゃなくてfilledだったら違和感ないですかね。 色の拡張もこんな感じでできるかな。 type state = Filled of color | Rejected | Empty まあ今作ってるのは入門書に載ってるちっちゃいプログラムを改造したようなやつなんで、 カラーに拡張するときはまた1から書き直すと思います。
39 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 23:29:09 ] 俺なら 塗: Black (確定黒) ラ: White (確定白) 無:Undecided (未決)
40 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 23:39:08 ] rejected よりは protected かな
41 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 23:57:10 ] boardStateMap MapはいらんけどMatrixでもいいのか。そういうこと?
42 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 01:38:34 ] ttp://en.wikipedia.org/wiki/Nonogram これ見ると英語的には Box/Space/Emptyなのかね。なんか分かりにくいね 個人的には Filled/Space/Markedとかかな
43 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 02:36:36 ] Tribool ::= False | True | Indeterminate
44 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 03:20:37 ] Nothing, Empty, Null これらは同じ意味(確かVB
45 名前:デフォルトの名無しさん [2008/03/30(日) 13:57:06 ] ポインタを格納する配列変数名にはapHoge使ってるんだけど std::vector使うなら、vpHogeの方が分かりやすい? それともapHogeのままの方が分かりやすい?
46 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 14:09:55 ] >>45 >>1 > 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
47 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 14:20:11 ] そもそも ap だの vp だのつけることに何の意義がある?
48 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 14:21:03 ] 手動マングリングです
49 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 15:52:15 ] ハンガリアンは宗教論争の元。 ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%82%A2%E3%83%B3%E8%A8%98%E6%B3%95 趣味なら自分がわかりやすい方で、仕事ならそこのコーディング規約に従う。
50 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 15:54:18 ] vctHogePtr
51 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 16:12:41 ] >>45 allHoges
52 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 05:11:57 ] hoge_ptrs
53 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 11:56:22 ] ファイルのオープンに失敗した時に送出する例外クラスの名前なんだけど、 Exception ↑ FileOpenException って英語的に違和感ありますか
54 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 12:03:15 ] べつにいいんじゃね。 間にIOExceptionとかFileExceptionとか挟んどけばそれっぽい。
55 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 12:10:17 ] サンクス。了解です
56 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 16:53:53 ] >>53 じゃないけど、O-V の形で色々作ると、 FileDeleteException DirectoryChangeException TableDropException って感じになって、なんかシックリ来ない。 「File」を prefix的に使うのならFile の OpenExceptionということで FileOpenException は 妥当だと思うけど、英語的には OpenFileException の方が妥当な気もする。
57 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 18:36:45 ] >>56 FileOpenExceptionでおかしくないと思うし、君の解釈はちょっと変な気がするよ。 例によって「名詞句 + Exception」と解釈すべきだろう。 つまり FileOpenException = Exception of 'File Open'
58 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 19:09:14 ] 困ったときのGoogle Code Search www.google.com/codesearch?q=FileOpenException 56件 www.google.com/codesearch?q=OpenFileException 92件
59 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 19:48:44 ] 末尾Exceptionにこだわらないなら、FileOpenErrorとかFileOpenFailureとかどうかな。 〜Errorはstdでも見掛ける命名規則だし。
60 名前:56 mailto:sage [2008/03/31(月) 20:03:48 ] >>57 ご意見ありがとうございます。 違和感を感じただけで、英語が得意というわけでもないので、英語的に根本的に間違ってる かもしれませんが、 exception of to open a file / exception of opening a file を名詞句的にあつかうなら open file exception なのかなぁとも思うのです。
61 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:14:08 ] FileCouldNotBeOpenedException
62 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:18:15 ] 違和感は感じるな。覚えろ。
63 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:21:25 ] >>59 Errorは例外のうち復旧不能なものにつける場合が多いね
64 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:27:50 ] javaや.NETではFile<〜>Exceptionだな FileNotFoundが一般的すぎるから他のもそれに倣ってるんじゃね
65 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:30:42 ] 違和感よりも一貫性優先じゃないか?
66 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:30:53 ] JavaだとFileNotFoundException 英語的な正しさを求めるならNotがないとおかしいかも
67 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:32:35 ] かぶったw
68 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:41:19 ] 開けないのはファイルがない時だけじゃ無いけどね。
69 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:43:36 ] File open error. はおそらく英語として自然なんだと思うが、 しかし、だからといって File open exception が自然なのかどうか分からないのが困った所だな。
70 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:51:40 ] .NETでFileLoadExceptionというのがあるよ 自然かどうかはおいといて
71 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 21:22:34 ] >>60 自信ないけどopenfile/fileopenはどっちでもいいんじゃないのかな。 ドトネトでも一方ではOpenFileDialogとかあるわけで。 要は>>57 で言いたかったのは、>>56 の >「File」を prefix的に使うのならFile の OpenExceptionということ この考えは変だということ。 >>69 純粋に自然な英語を目指すなら"file opening failure"とかじゃないの?
72 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 21:54:33 ] >>71 "file open error" に一致する英語のページ 約 42,300 件 "file opening failure" の検索結果 約 236 件 どう頑張っても日本語のページもひっかかって ) 16:49:41
73 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:28:36 ] =も二項演算子の一つとみなせば(普通はそうじゃないの?) 命名する必要があるのは3つじゃなくて2つだな。 というわけでLeftValue, RightValueとか。 いや=はやっぱり「イコール」で特殊でしょ、っていうのなら Result(Answer), Operandとか。
74 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 20:32:10 ] >>383-384 やっぱそんな感じなのかな >>385 最初それを考えたんだけど、実際に欲しかったのはB,Cだったので考え直した次第で。 right1,right2に落ち着いた罠。 みんなありがとうー
75 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:52:52 ] 演算子の左右で結果が変わる場合もあるから面倒だよな
76 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:19:00 ] right1,right2ならb,cと何も変わらないと思うけどなw というか綴りから何も汲み取れないどころか場合によってはミスリーディングな上に タイプ量が増えてるんだからかえってマイナスにしか思えない。 中途半端な付加情報ならかえって惑わすだけだからない方がずっといい。
77 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:29:19 ] 数式パーサでも作ってんの?
78 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 23:42:52 ] なんらかの演算をする関数、って例えなんじゃないの?
79 名前:デフォルトの名無しさん [2008/07/17(木) 11:21:20 ] スライドユニット的なものを、直線方向に行ったり来たりする制御をしています Unit_move()内で、さらに順方向へ行く場合と、逆方向へ行く場合とで分岐させく、 逆方向へ行く関数は、Unit_move_reverse()としました。 では、順方向へ行く関数名は、どんなのが良いですかね?
80 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 11:23:46 ] 順方向 Unit_move_forward 逆方向 Unit_move_backward じゃないか?
81 名前:391 mailto:sage [2008/07/17(木) 11:26:10 ] >>392 素晴らしい!全くもってそれにします。
82 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:14:23 ] 語順がOVなのは気持ち悪い。
83 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:46:37 ] アメリカ人のソースも、OVにしている人が結構居ると聞く なんかの本でも、こっちを推奨してた
84 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 12:53:05 ] SVだよ
85 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 16:10:27 ] まあ、でも、似たような目的の変数や関数があるときに、 「共通部分_違う部分」という構成にしたくなる気持ちは分かる。すげー分かる。
86 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 17:24:40 ] 「英語式語順は、自然な思考の順番に反する」研究結果 ttp://wiredvision.jp/news/200807/2008070921.html
87 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 17:37:29 ] それ見た
88 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 19:37:58 ] >>397 俺はそんなの全然わからん。 たぶんそんな欲望に駆られるとしたら、それは設計が間違ってる(機能の分割が不適切で クラスなりモジュールなりがデカ杉とか)んだよ。 >順方向 Unit_move_forward >逆方向 Unit_move_backward じゃないか? OOPじゃないとしても冗長過ぎる命名じゃないか? もっとシンプルに ForwardUnit BackUnit にするよ。
89 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 19:59:56 ] ボツ
90 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 21:39:52 ] 命名に使う語彙さえ示せば、あとは利用者が好きに使うだろ。 いい単語を思いつかないのが命名時の最大の悩みだ。
91 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:04:23 ] 関数に{形容詞+名詞}はねーよ
92 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:11:25 ] 動詞(+副詞)(+目的語)かなぁ
93 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:17:10 ] Unitに関するAPIの接頭辞としてなら分かる。C的だけど。
94 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:20:50 ] それはない。
95 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:37:16 ] >>403 君アホでしょw
96 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:42:25 ] お前がアホ
97 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:45:32 ] いやまあアホの子のために一応解説しておくとw forwardもbackも他動詞の用法もあるんだよ。 なんでもちょっと指先動かせば調べられる時代なんだから辞書ぐらい引けよw
98 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:51:31 ] それ意味が違うから
99 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:54:25 ] >>409 確かにメール転送するみたいなのは動詞のforwardだがよ
100 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 21:00:59 ] >>400 いいからわかれ。 メソッド命名のためだけにクラスを分割するほうが下策。 いろいろ事情があったりするかもしれないのに、 「設計が間違ってる」などと断定するな。 どうしてもしたいなら余所池。
101 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 21:11:00 ] >いろいろ事情があったりするかもしれない そういう自分に対する言い訳が、言い訳をしているという自覚もなく出てくるタイプは 何事につけ成長しないよ。 というか話を過剰に一般化しないこと。 少なくとも>>392 に関しては冗長以外のなんでもない。
102 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 21:21:22 ] ↑何これキモすぎ
103 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 21:22:14 ] あとついでに、 >メソッド命名のためだけにクラスを分割するほうが下策 違うだろそんなこと言ってない。 分割統治の方法が間違ってるから、自然と(?)「苦しい」命名になっちゃうんだよ、 と言ってるんだよ。
104 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 21:24:58 ] >それは設計が間違ってる(機能の分割が不適切で >クラスなりモジュールなりがデカ杉とか)んだよ。
105 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 21:51:32 ] >>1
106 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 23:42:40 ] 自分の発想力の貧困さを棚に上げて、 やり方が違っているモノは全て設計が悪いとな
107 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 00:48:48 ] 397の発言がそもそも理解できない。 似たような目的の変数や関数って例えばどういうのがあるんだろう? draw_circle()とdraw_triangle()は似たような目的の関数で、 ”draw"が共通部分、"circle"とかが違う部分? aka_ranger, ao_rangerは似たような変数だが、 397はranger_aka、ranger_aoとしたい衝動にかられる?
108 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:01:59 ] >>419 駆られる。 すごい駆られる。
109 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:29:45 ] >>419 アカレンジャーアオレンジャーは固有名詞化してるから引き合いに出されても困る
110 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:34:46 ] >>419 かられる。かなり。 rangerというものがあって、そのバリエーションが並ぶ、 と考えることで、頭の中で把握しやすいので。 たぶん、系統分類的に整理できることがいいんだろう。 で実際にそうしたあと、 aka_kage aka_oni やらが出てきて、akaでまとめとくべきだったか、 と考え込んでしまうこともときどき。orz
111 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:38:59 ] バルイーグル バルシャーク バルパンサー 似たような変数だが、 419はイーグルバル、シャークバル、パンサーバルとしたい衝動に駆られる?
112 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:39:13 ] ゴレンジャーの例えはわかりやすくていいな。
113 名前:419 mailto:sage [2008/07/19(土) 01:43:47 ] >>421 だんだん分かってきた。 right_speacker_volume、left_speaker_volume等の変数名を見たら、 speacker_volume_right、speacker_volume_leftにしたいということかな?
114 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:51:34 ] volume_headphone とか出てくると、更に順序を入れ替えたくなる。
115 名前:397 mailto:sage [2008/07/19(土) 01:56:39 ] 一応本人。 id_foo id_bar とか、そういう流れ
116 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:39:12 ] id_foo、id_barってことは、型名をプレフィックスとして使うハンガリアン記法に 準ずるもの(というかこれが本来のハンガリアン記法だっけ?)ということだね。
117 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:49:44 ] >>425 すげぇしたくなる >>427 それはアプリケーションハンガリアン 当然やるものだと思ってた
118 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:50:55 ] 正直、ranger_akaの例えが秀逸すぎる
119 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:53:42 ] どこで悪い癖つけてきたんだかわからんのだけど 俺より10位、年下の奴がシステムハンガリアンなコード書きまくるんだよな・・・。 派遣だからなんもいわんけど。
120 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:54:58 ] >429 うん、そのアプリケーションハンガリアンの考え方があるから それに倣ってみたいということね。
121 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:59:15 ] ハンガリアンの考え方自体はプレフィクスにするかポストフィクスにするかの選択とは直行してるだろ。
122 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 03:08:01 ] ハンガリアンってtype識別子をプレフィックスにすることが多いけど、 サフィックスでやれば>>425 ,426と一致するな
123 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 03:15:28 ] >>431 仕事なら命名規約ってあるんじゃないの? って思ったけどなんとなくシステムハンガリアン記法の信者にかぎって 細かな命名規約を作りたがって、システムハンガリアン記法が眼中にない 人間は「分かりやすい名前をつけること」程度の命名規約しか作らない、 という傾向があるような気がする。
124 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:19:05 ] システムハンガリアン以外の命名法は、 ある程度ゆらぎというか幅が存在するから、厳密にしづらいってのもあるしな
125 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:25:00 ] >>435 なにか「規約」って言葉を勘違いしてない?いや君が。 個人が自分のポリシーで左右できるようなものは規約じゃないじゃんw 規約の目的は複数人での共同作業をつつがなくすることのはずだよ。
126 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:39:06 ] >>435 じゃないが、何かおかしいか? 仕事だと上に立つやつがポリシーっていうか趣味で規約作ることが多いじゃん ああ、下請け仕事とかやったことないのかな
127 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:49:09 ] 小学生程度の読解力を身につけてから人に突っかかろうよ。 435は「不条理な規約を押し付けられて困ってる」という趣旨のこと言ってるか本当に。
128 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 13:41:05 ] システムハンガリアンって好きじゃないけど プレフィックスあると予約語とかぶらなくて便利よね
129 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:24:59 ] >>437 > 個人が自分のポリシーで左右できるようなものは規約じゃないじゃんw 個人が自分のポリシーで左右できてしまうのでそのままにするとばらばらになるから、 規約作って共同作業をつつがなくすることができるようにするんだろ。
130 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:38:18 ] >>441 おいおい何を訳のわからない絡みかたしてるんだよ。 酔っ払ってるか生来頭が悪いのでなければ文脈をちゃんと読めよ。
131 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 16:06:51 ] >>437 =>>442 いよいよ引っ込みがつかなくなってきたな。 次は、「そんなに必死になるなよ」かな? (w
132 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 16:21:19 ] そうやってメタな方向にズレないこと。 君が婉曲的な表現で通じない(理解しなくない)「ガキ」なら直接的に言ってやるよ。 俺(437)は>>441 と同じことを言ってるのであって、矛盾するようなことは何もいってない。 矛盾することを言っているのは>>435