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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part20
http://toro.2ch.net/test/read.cgi/tech/1311942721/
2デフォルトの名無しさん:2012/01/22(日) 12:13:51.18
>>1

> 前スレファイル名議論

住所の最後が名前、
パスの最後がファイル名、みたいなもんだな。

できるだけ簡潔なものを選ぶ余地がある。
3デフォルトの名無しさん:2012/01/22(日) 12:16:17.02
1おつ

>>前1000
極論ではなく一般論
それもコーディングだけではなく自然言語も含めたより広い世界での一般論
極論してるのはそっちだよ
4デフォルトの名無しさん:2012/01/22(日) 12:21:28.44
>>3
馬鹿は来るな
5デフォルトの名無しさん:2012/01/22(日) 12:27:47.26
>>4
じゃあお前が帰れよ
6デフォルトの名無しさん:2012/01/22(日) 12:29:10.59
>>5
だからお前が失せろ

7デフォルトの名無しさん:2012/01/22(日) 12:35:28.15
>>6
だから馬鹿はお前なんだからお前が消えねーとだめだろ
説明しないとわからんほど馬鹿なのか
8デフォルトの名無しさん:2012/01/22(日) 12:36:44.58
>>7
さっさと失せろ馬鹿
9デフォルトの名無しさん:2012/01/22(日) 12:43:01.20
10デフォルトの名無しさん:2012/01/22(日) 12:44:05.39
11デフォルトの名無しさん:2012/01/22(日) 12:46:09.87
小学校かここは
12デフォルトの名無しさん:2012/01/22(日) 12:53:51.51
前スレ>>992
それ同じ事を言い方を変えただけ。
「その機能や概念を示す」のと「機能を読み取れること」のどこが違うんだ。

それなりに複雑な機能をもったクラスやメソッドの機能を短い名前で完全に表現
できないのは当たり前で、仔細な点は捨象して大枠の機能を抽象した名前を付けるに決まっている。
馬鹿じゃないのか。
13デフォルトの名無しさん:2012/01/22(日) 13:04:44.98
>>12
>「その機能や概念を示す」のと「機能を読み取れること」のどこが違うんだ。

例を出して言えば「オイラー方程式」が前者で「理想流体の運動法則」が後者だ
どちらも同じ物を示しているが前者は機能や概念を隠蔽した名称だ
ぜんぜん違うだろ?
そして議論で使うのはどちらが自然かといえば前者だ
後者をいちいち使うのはあまりにもクドい
14デフォルトの名無しさん:2012/01/22(日) 13:05:17.16
前スレ >>990
> だったらutf8だとかeucだとか文字エンコードも併記すべきな気がするぞ…

併記すべきかどうかは場合による

複数の文字コードを扱っているのであれば、併記しなければ分からない

扱っている文字コードがOSや環境のデフォルトだけであり、
あるファイルフォーマット内の文字列部分を処理しているなどなら、
文字エンコードを併記する必要性は感じない
15デフォルトの名無しさん:2012/01/22(日) 13:07:17.15
>それなりに複雑な機能をもったクラスやメソッドの機能を短い名前で完全に表現
>できないのは当たり前で、仔細な点は捨象して大枠の機能を抽象した名前を付けるに決まっている。

あと一応言っておくが俺はクラス名やメソッド名を短く省略しろとは言っていない
狭い範囲、スコープに限定された文脈の中では短いものを使えと言っているのだ

>馬鹿じゃないのか。

それを読み取れなかったお前がBAKAです
16デフォルトの名無しさん:2012/01/22(日) 13:10:00.14
>>15
まだいたのか
消えろ馬鹿
17デフォルトの名無しさん:2012/01/22(日) 13:10:33.50
18デフォルトの名無しさん:2012/01/22(日) 13:11:54.27
19デフォルトの名無しさん:2012/01/22(日) 13:14:00.67
論破されると罵倒するしかできないってなんか可哀想だな
神様ももうすこしIQ平等に分けてあげればよかったのに罪なことするぜ
20デフォルトの名無しさん:2012/01/22(日) 13:14:28.26
>>13
なるほど俺の誤解みたいだね。っていうかまさかそこまで馬鹿とは思わなかったw

要するに、
String.GetLength()

などという機能をそのまま表現した名前はよくないから、
String.func001()
String.YamadaTarou001()

のように単なる識別子以上のものではない名前を付けろという訳だ。

関数名と機能の対応を参照するバインダーがないと読めないコードが存在するって
都市伝説、あれは本当だったんだなw
こんなガチ馬鹿がどうしてこんなスレにいるんだろう。
21デフォルトの名無しさん:2012/01/22(日) 13:15:55.22
>>20
>>15

ちょっと前のレスも読めない馬鹿がなんでいまだに生きてるんだろう
22デフォルトの名無しさん:2012/01/22(日) 13:17:47.36
>>21
死ねよ馬鹿
23デフォルトの名無しさん:2012/01/22(日) 13:18:08.58
24デフォルトの名無しさん:2012/01/22(日) 13:19:25.56
25デフォルトの名無しさん:2012/01/22(日) 13:21:25.86
>>20
それはクラスというひとつの大きな単位の中のメソッド名ですよね

>>15 で彼は
> あと一応言っておくが俺はクラス名やメソッド名を短く省略しろとは言っていない
> 狭い範囲、スコープに限定された文脈の中では短いものを使えと言っているのだ

と言っているので、それは反論の方向としては間違っていると思うのですが

たとえば、

void func () {
*** = String.GetLength()

場合の***の部分などの場合の事だと思います
26デフォルトの名無しさん:2012/01/22(日) 13:23:04.17
>>21
間違いを指摘されると「俺の真意はお前の理解と違う」ってか。
みっともない奴だな。

前スレの>>992は俺が書いた>>982に対する反論なんだから、そんな言い訳が通用する訳がない。
どんなクルクルパーだよ。
27デフォルトの名無しさん:2012/01/22(日) 13:29:28.19
それから、メソッドやブロックのスコープ内でも明示的な名前を使え、
なんて言ってる奴が一人でも居たか?

そんな奴いねえよ一人も。
誰と戦ってるつもりなんだろうなまったく。
28デフォルトの名無しさん:2012/01/22(日) 16:13:41.99
29デフォルトの名無しさん:2012/01/22(日) 16:20:24.34
スコープが広域であれば、略さず完全な名前を付ける
 superHogeCountWithPiyo
 pugeraDescription

スコープの狭さに応じて単語を省く
例えばローカル関数であれば、
 countWithPiyo もしくは count
 pugeraDesc または desc

できる限り略語を使わない
 ×superHogeCountWithPiyo → shCountWithPiyo
 ×pugeraDescription → pDesc, pdesc

そもそも短い単語を略す必要はない
 ×cnt ○count
 ×idx ○index
30デフォルトの名無しさん:2012/01/22(日) 16:25:59.61
○ c
○ i
31デフォルトの名無しさん:2012/01/22(日) 16:31:58.47
・・・とは書いてみたものの、狭域スコープでは hogeCount を nHoges みたいに略すことがある
単語を略すのであれば、number (of) → num みたいな中途半端な略し方ではムラが生じてしまう(numでは生じないだろうが)ので、一文字 number (of) → nまで略す
その単語の略語にムラが生じることはないだろうと自分で確信が持てるのであれば、使うことはある
例えば、Description は desc 以外に略語を持たないと判断できるし、Information は info 以外の略語を持たないので、狭域スコープではこれを使う
Temporary は temp と tmp が存在するので、略したいときは 一文字「t」まで略する
32デフォルトの名無しさん:2012/01/22(日) 16:34:16.89
>>30
ごく短い、例えば3行以下の関数ローカルスコープであれば一文字でもかまわない
またはループカウンタとしてのcやiは、自分では許可している
33デフォルトの名無しさん:2012/01/22(日) 17:32:24.15
> ごく短い、例えば3行以下の関数ローカルスコープであれば一文字でもかまわない
34デフォルトの名無しさん:2012/01/22(日) 18:27:30.31
変数名をゴッチャリ飾って区別しないといけないようなのは、
既にメソッドが大きすぎるか、メンバ変数の場合はそれらが多すぎる。

fooBarBazList = 
appleBeerList = 
codeDoorList = 

みたいに併記しているような場合、うまくいくと
list = 
これで住むような可能性がある。
35デフォルトの名無しさん:2012/01/22(日) 18:45:00.42
>>34
うむ。コーディングの技術がしっかりしてればほとんどの識別子は最低限まで縮めても問題は起こらないよね
というか問題が起こらないように作れると良い設計になってることが多い
36デフォルトの名無しさん:2012/01/22(日) 18:50:51.46
いやいや大きいとか多いとかじゃなくて対象コードブロックの中に機能や状態を持ち込み過ぎ
struct A{int x,y;}a;のaじゃなく
後から読み解く奴の身になってx,yのどちらか必要な方だけを取り出して書けよと
37デフォルトの名無しさん:2012/01/22(日) 18:54:09.00
現実問題、英語で言ったら形容詞抜きの"list"だの"count"だので十分説明の機能を果たすような
クラスはまずあり得ない。

皆無とは言わないが、むしろ例外的。
そういう特殊な前提がないと成立しないようなアホみたいな議論はするだけ時間の無駄。
38デフォルトの名無しさん:2012/01/22(日) 18:55:18.87
>>35
丁寧なコメントが消臭剤でしか無いような場合があるのと同様に、
説明的な変数が消臭剤でしか無いような場合があるな。

早い段階ですべきは、元の悪臭漂うクソ構造を改めること。
39デフォルトの名無しさん:2012/01/22(日) 21:51:39.52

就活中
(p)http://livedoor.blogimg.jp/jin115/imgs/3/1/31a6f8e6.jpg

就職後
(p)http://livedoor.blogimg.jp/jin115/imgs/2/b/2b790359.jpg

街の人(やらせ業者)募集中です

40デフォルトの名無しさん:2012/01/22(日) 21:55:46.45
その画像独り歩きしてるけど
2枚の画像は1年間開いてるからね
その娘は就活うまく行ってそのインタビュー場所の近くの会社に勤めてるって事
41デフォルトの名無しさん:2012/01/22(日) 22:02:09.67
後ろに居る男も横断歩道の向こう側にいる人も
インタビュワーも停まってる車も天候も変わってないな
42デフォルトの名無しさん:2012/01/22(日) 22:05:40.98
偶然ってあるもんなんだな
43デフォルトの名無しさん:2012/01/22(日) 23:01:57.25
Google Code Searchがなくなったのは痛すぎるな。
とりあえずつけたクラス名やメソッド名が外人的にあり得るか?否かをしらべるのに便利やった。
44デフォルトの名無しさん:2012/01/22(日) 23:02:32.00
ええーーっ!! ちょっと見ない間に無くなったのか!
45デフォルトの名無しさん:2012/01/22(日) 23:06:42.21
google code
46デフォルトの名無しさん:2012/01/22(日) 23:49:04.93
>>30
count_hogeもcHogeもほとんど見易さ変わらないだろ
47デフォルトの名無しさん:2012/01/22(日) 23:50:37.15
ch
48デフォルトの名無しさん:2012/01/23(月) 00:07:11.95
>>47
もはやなんだかわからんだろそれ
49デフォルトの名無しさん:2012/01/23(月) 00:07:43.46
決まってんだろ
チャンネルだよ
50デフォルトの名無しさん:2012/01/23(月) 00:24:34.38
入門書とか読むと、よく「チャネル」って書いてあるよね

その発音の方がより本物に近いのは分かるが、なんか気取ってて嫌
51デフォルトの名無しさん:2012/01/23(月) 00:51:54.96
俺はにちゃねらー
52デフォルトの名無しさん:2012/01/23(月) 00:55:35.95
お前らはアニモー。
53デフォルトの名無しさん:2012/01/23(月) 01:00:44.28
>>50の中では「JISに合わせること=気取っている」なのか
54デフォルトの名無しさん:2012/01/23(月) 01:35:21.35
 前スレの、chrとかcharの974です。
 まさか論争に発展するとは見通し甘かった。
 私が書いているのはゲームの為の周辺ツールで、個人作業です。
 ですから厳密な命名規則が欲しいって程でもないんです。

#報告
 一度フルスペルで書いたのですが、書き進める内に用途が広がって
キャラクターの意味に相応しくなくなったので一切なくなってしまいました。
 計画性のないプログラムは、これだから・・・!
55デフォルトの名無しさん:2012/01/23(月) 07:12:24.76
>>53
違う

JISに合わせる、合わせないは全く関係ない
チャネルという言い方が気取っているように感じるだけ

>>53の中ではたった一例を挙げて、それがたまたまJISに合ってただけで
「JISに合わせること=気取っている」と解釈するのか
56デフォルトの名無しさん:2012/01/23(月) 09:29:02.79
>>54
論争になったらなったで、それを話題に盛り上がる訳で、面白いものなのだよ・・・
57デフォルトの名無しさん:2012/01/24(火) 08:47:46.61
hashtable = {
 "foo.name": "value1",
 "foo.text": "value2",
 "bar.name": "value3",
 "bar.text": "value4"
}
みたいなデータから
{ "foo.name": "value1", "foo.text": "value2" }
だけをとりだす関数の名前を考えて下さい。
prefix = "foo."
print func(hashtable, prefix) #=> { "foo.name": "value1", "foo.text": "value2" }
今の候補
・get
・matched
・retrieve
お願いします。
58デフォルトの名無しさん:2012/01/24(火) 12:44:06.32
find
59デフォルトの名無しさん:2012/01/24(火) 12:59:43.82
find_by_key_prefix
60デフォルトの名無しさん:2012/01/24(火) 13:53:38.97
複数候補だからenumかfindfirst→findnext
61デフォルトの名無しさん:2012/01/24(火) 19:31:24.01
>>57
PickUpPrefixMatches
62デフォルトの名無しさん:2012/01/24(火) 22:25:13.42
filterByPrefix
63デフォルトの名無しさん:2012/01/25(水) 05:09:39.26
ウィンドウが画面の外に出ないように防ぐ処理
をお願いします
64デフォルトの名無しさん:2012/01/25(水) 05:52:35.18
関数名?引数や返り値は何?
65デフォルトの名無しさん:2012/01/25(水) 06:42:48.58
関数名です
戻り値なし、引数は画面のRECTとウィンドウのRECTです
66デフォルトの名無しさん:2012/01/25(水) 06:56:09.40
その関数の副作用は何?
67デフォルトの名無しさん:2012/01/25(水) 06:58:36.62
「ウィンドウが画面の外に出ないように防ぐ処理」じゃなくて
「(ウィンドウが画面の外に出ないように防ぎつつ)ウィンドウ移動する処理」なのでは?
68デフォルトの名無しさん:2012/01/25(水) 07:16:33.89
>>57
Perlっぽいけどfilterできんじゃねーの?
69デフォルトの名無しさん:2012/01/25(水) 07:33:33.77
要するにそういう細かいことをまとめて行う処理です
70デフォルトの名無しさん:2012/01/25(水) 07:35:18.00
ちっとも細かくないやん 基本処理にしか見えん
71デフォルトの名無しさん:2012/01/25(水) 08:35:58.47
ではそろそろ
ウィンドウが画面の外に出ないように防ぐ処理
をお願いします

72デフォルトの名無しさん:2012/01/25(水) 10:04:00.94
MoveWindowInScreen
73デフォルトの名無しさん:2012/01/25(水) 10:18:31.82
avoid-tilesaw
74デフォルトの名無しさん:2012/01/25(水) 10:35:32.47
void MoveWindowInsideScreen(
 const RECT & windowRect,
 const RECT & screenRect);
75デフォルトの名無しさん:2012/01/25(水) 10:38:35.72
void MoveWindowInsideScreen(
 const RECT & windowRect,
 const RECT & screenRect,
 RECT * pOutput);
76デフォルトの名無しさん:2012/01/25(水) 15:53:22.59
>>71
消えろゴミ
77デフォルトの名無しさん:2012/01/25(水) 16:52:12.72
なんでMOVEなんだよw
78デフォルトの名無しさん:2012/01/25(水) 16:56:08.63
void ウィンドウが画面の外に出ないように防ぐ処理(
矩形 const & ウィンドウ,
矩形 const & スクリーン,
矩形 & 結果) ;

いい加減英語識別子から脱却しろ
いちいち名前付なんてくだらない作業で悩む必要がなくなって捗るぞ
79デフォルトの名無しさん:2012/01/25(水) 17:44:29.32
preventとかcropとかかなぁ?captureはちと違うか。
80デフォルトの名無しさん:2012/01/25(水) 19:34:42.51
confine
81デフォルトの名無しさん:2012/01/25(水) 20:27:27.47
「ウィンドウが画面の外に出ないように防ぐ処理」って何だかよく分からないな。

この手のことをする場合、例えばWindowsなら普通は、

(1) 移動中にデスクトップの上下左右いずれかの隅に達したら、その方向にはそれ以上
移動できないようにする。

(2) 移動完了(マウスアップとか)時、ウィンドウがデスクトップの上下左右のいずれかの隅を
超えていたらデスクトップの範囲内に戻す。

のどちらかじゃいかと思うんだが、ニュアンス的にどっちとも取れないな。
82デフォルトの名無しさん:2012/01/25(水) 20:31:22.50
>>71
KeepInsideDisplay()
83デフォルトの名無しさん:2012/01/26(木) 14:55:02.78
ProcessingPreventedSoThatAWindowMeyNotComeOutOfAScreen
84デフォルトの名無しさん:2012/01/26(木) 15:19:16.35
略してMoveWindow
85デフォルトの名無しさん:2012/01/26(木) 17:50:42.23
日本語の段階で既におかしいのにそれを英語にしても無駄
86デフォルトの名無しさん:2012/01/29(日) 22:15:43.41
2つのリスト(配列でもいいですが)a=[a1, a2, a3, ・・・] b=[b1, b2, b3, ・・・] を
c=[a1, b1, a2, b2, a3, b3, ・・・] の様に1つのリストに合成するのは interleave ですが、
この逆方向の様にリスト c をリスト a とリスト b に分ける関数の名前は何が良いでしょうか

単純にリスト c のある要素を境に2つに分けるなら split や break が適切だと思いますが・・・

とりあえず今のところ、トランプカードを配る様に見えるので deal と名付けていますが、
もっと適切な名前はありますか?
87デフォルトの名無しさん:2012/01/29(日) 22:23:01.92
どういう基準で分けるかぐらい書けば?
88デフォルトの名無しさん:2012/01/29(日) 22:29:04.30
>>87
いや、だから interleave とは逆なんですけど・・・

c=[a1, b1, a2, b2, a3, b3, ・・・] を
a=[a1, a2, a3, ・・・] と b=[b1, b2, b3, ・・・] に分ける
89デフォルトの名無しさん:2012/01/29(日) 22:32:37.46
>>87
言葉で説明すると

リストcの n/2 番目の要素をリストaのn番目の要素に
リストcの (n/2)+1 番目の要素をリストbのn番目の要素に入れる

そんな分け方です
9089:2012/01/29(日) 22:34:00.99
すいません、間違ってました

リストcの 2n 番目の要素をリストaのn番目の要素に
リストcの 2n+1 番目の要素をリストbのn番目の要素に入れる

でした
91デフォルトの名無しさん:2012/01/29(日) 22:36:04.19
>>86
distribute なり divide とかでいいんじゃね?
92デフォルトの名無しさん:2012/01/29(日) 22:49:12.44
Cutでいいよ
93デフォルトの名無しさん:2012/01/29(日) 22:58:01.90
プロジェクト名ってどうやって決めてますか?
公開するとなるとさらに慎重になりますよね
94デフォルトの名無しさん:2012/01/29(日) 23:09:25.39
>>86
interleave ⇔ deinterleave
で良いのでは?

単に1つ(or n)おきに取り出すだけならdecimateもありだと思う。
95デフォルトの名無しさん:2012/01/29(日) 23:12:20.48
uninterliveか、 >>94 が挙げている deinterleave か、迷った。

>>94
decimateはdec-に「10ごと」という意味があるのと、
その10ごとの1を「処刑する」という意味があるのがよろしくない気がする。
96デフォルトの名無しさん:2012/01/29(日) 23:34:20.86
decimateは普通のプログラマはあまり使わないかも知れないが、間引きを表す術語みたいなものなんですよ。
97デフォルトの名無しさん:2012/01/30(月) 00:51:30.28
>>93
状況次第だけど、ソフトウェアの名前そのまま、もしくは逆に一般名詞にすることが多いかなあ。
98デフォルトの名無しさん:2012/01/30(月) 00:54:32.50
あえて全然関係ないコードネームにする
そうするとカフェで仲間と話し合うときにハッカーっぽさがましてカッコイイ気分になれる
99デフォルトの名無しさん:2012/01/30(月) 20:54:02.35
一周を[0, 1)で正規化した角度のことをなんて名付けるべきかな
(0.5なら弧度法でのpiに、1.0なら弧度法での2piに相当する)
100デフォルトの名無しさん:2012/01/30(月) 21:19:54.86
>>99
意外と難しいな。
正規化って言葉がダブルミーニングになってるから、ベタにNormalizedAngleとかすると
[0, 360)だと思われそう。

それでもあえてNormalizedAngleにするしかないかもw
10189:2012/01/30(月) 22:24:10.66
>>91-96
色々ありがとうございます

distribute は既に distributed という名前で使ってました、すいません
divide は簡潔で良さそうですね、ただ私は真っ先に割り算を連想してしまいますが

cut はどちらかというと、カードの山をざっくり2つか3つくらいに分ける事では?

deinterleave はやや長いですが、けっこうしっくりきます
関数の結果として得られる状態が容易に想像できるのがいいですね

uninterlive はググっても1件しかヒットしない貴重な言葉です
大事にしたいと思います

decimate は意味が深すぎて、使うのがなんが怖いです


と言うわけで、deinterleave の採用が決まりました
102デフォルトの名無しさん:2012/01/30(月) 23:28:27.47
分割統治アルゴリズムは divide and conquer だけど、
このアルゴリズムを使っているプログラム内の
分割部分を divide 処理、統治部分を conquer 処理とか言ったりするの?
103デフォルトの名無しさん:2012/01/31(火) 00:56:34.39
分割統治は昔よく聞いたが、分割統治アルゴリズムは初めて聞いた。
結論から言うと言わないと思う。

だって分割部分とか統治部分とか、そもそもそんなものないでしょ。

だって分割統治ってコーディングの技法
104デフォルトの名無しさん:2012/01/31(火) 06:20:14.45
>>99
angleByRate, angleRatio
105デフォルトの名無しさん:2012/01/31(火) 06:23:05.50
>>103
クイックソートって知ってる?
106デフォルトの名無しさん:2012/01/31(火) 07:18:22.15
107デフォルトの名無しさん:2012/01/31(火) 07:24:36.22
108デフォルトの名無しさん:2012/01/31(火) 08:07:51.78
>>103
お前の出す結論にまるで意味がない事はわかったからもういいよ
109デフォルトの名無しさん:2012/01/31(火) 20:12:18.60
人に罵詈雑言浴びせるならテメエがまず回答者の質問に答えてみろよ。
下衆な奴だなほんと。

その「分割統治アルゴリズム」っていうのは、分割統治を使ってるアルゴリズム、
という以上の意味ないでしょ。

コード上の処理としては分割する部分も統治する部分も、そんなものはない。
なぜなら分割統治とは、コーディングの手法に過ぎないからだ。
(問題を)分割統治するのはプログラマであってプログラムじゃない。
110デフォルトの名無しさん:2012/01/31(火) 20:16:55.15
過ちて改めざる是を過ちと謂う
111デフォルトの名無しさん:2012/01/31(火) 20:19:11.12
>>110
お前がな。
だからどう過ちか言ってみろ。
112デフォルトの名無しさん:2012/01/31(火) 20:20:50.51
お前がなって何が?
113デフォルトの名無しさん:2012/01/31(火) 20:23:25.78
>>109
コーディングの手法じゃなくて問題解決の手法だよ。
アルゴリズムってのはコーディング以前に考えておくものなんだよ。
114デフォルトの名無しさん:2012/01/31(火) 20:29:33.64
>>113
では「分割部分」と「統治部分」を含むアルゴリズムの話を具体的にしてみてください。
まあ無理しなくていいよ。

こんな馬鹿、そもそも分割統治の意味が分かってないとしか思えない。
115デフォルトの名無しさん:2012/01/31(火) 20:35:20.09
「分割部分」と「統治部分」があるって言ってないんだが
俺は君に一方的に馬鹿呼ばわりされただけ
誰彼かまわず攻撃してるだけなんだろうが
とりあえず訂正してもらおうか
116102:2012/01/31(火) 20:41:50.75
Haskell でプログラムしているんだけど

A という型の値に c :: A -> B という計算を行って
B という型の値が得られるとする

この時、A という型と B という型、および c という計算によっては、
f :: A -> [A']、c' :: A' -> B'、g :: [B'] -> B
という計算を用意することができて、c' を並列処理できる場合がある

自分の今まで作ってきたプログラムソースを色々分析したところ、
何となく分割統治がある種のパターンとして抽出できそうな感じがしてきた

まだ分析途中だけど、型クラス化する実験を始めている
(失敗に終わる可能性ももちろんある)
もし型クラス化できれば、型をそのインスタンスにすることで、
c' の計算を並列化した方が速いのか、直列化した方が速いのか、
LAN経由でマシン間で同時計算するとどうなるのかなどの実験が、
いちいち個別のプログラムソースの内部深くを弄らなくても簡単にできるようになる

で、c' の関数名は compute に決定したんだけど、
f の関数名と g の関数名をどうしようか考えてた

安直に divide and conquer の divide と conquer をそのまま使おうかと思ったけど、
divide はともかく、やっぱり conquer はおかしいかな

長くなりましたが、こういう経緯です
117デフォルトの名無しさん:2012/01/31(火) 21:06:12.57
fはdivideでいいけど、conquerに相当するのはc'或いはcだな。
分割した個々を「統治」するとみるか、個々を統治することで全体としても「統治」するとみるか。
118デフォルトの名無しさん:2012/01/31(火) 21:10:22.17
>>115
ならさっきから何を言ってるんだよ。
っていうか、どんだけ鳥頭?
>>102-103
119デフォルトの名無しさん:2012/01/31(火) 21:15:46.55
新たな罵詈雑言来ました
120102:2012/01/31(火) 21:27:56.98
>>117
なるほど、そういう見方もあるのか
と言うか、それが分割統治の意味なのか

確かに分割統合じゃなく分割統治なんですよね
今までとくに深く考えず統治=統合で考えてた

では改めて、f は divide にして、c' はとりあえず compute にしておく
(Aを計算してBを得るのが目的なので、conquer ではやはりちょっとね・・・)

で、g に相当する部分は何が良いかな?
抽象度の高い関数なので、具体的に狭い意味を表す名前は避けたいのですが、
integrate 辺りが無難かな

aggregate って、どちらかと言うと、かつ集めてくるイメージですよね
121デフォルトの名無しさん:2012/01/31(火) 21:34:15.22
mergeとか。
122デフォルトの名無しさん:2012/01/31(火) 21:36:17.49
いやだから分割統治ってそういう意味じゃないってば....

もともとプログラマが問題(=目的のプログラム)を小さな処理に分割して制服する、
ってだけの意味だから、統治という言葉に違和感を感じるのは当たり前。
123デフォルトの名無しさん:2012/01/31(火) 21:45:57.67
>>120
「統治」が使われてるのは政治用語の訳をそのままもってきただけだからね
「(問題の)克服」と思っておけばいいよ
124102:2012/01/31(火) 21:50:09.67
>>121
あぁ、merge は良いね
divide や compute と同じくらい短いし


>>122 >>123
そうだったんですね
勉強になります
125デフォルトの名無しさん:2012/01/31(火) 21:51:21.74
古代ローマの戦略の方は"divide and rule"だけどね
126デフォルトの名無しさん:2012/01/31(火) 21:54:07.03
127102:2012/01/31(火) 22:50:03.27
>>121 にいただいた案を使って、
分割して統治したものを最後に統合する関数は merge にしました

みなさん、ありがとうございました
128デフォルトの名無しさん:2012/01/31(火) 23:13:42.12
>>125
also known as divide and conquer と書いてあるではないか。
129デフォルトの名無しさん:2012/01/31(火) 23:16:45.50
そもそも impera ( imperare 命令する/指揮する/支配する の命令形)の
英訳なわけで、英訳時点での訳の揺れを気にしてもしょうがないよ。
130デフォルトの名無しさん:2012/01/31(火) 23:54:31.45
>>110
うむ
131デフォルトの名無しさん:2012/01/31(火) 23:56:56.49
>>114
( ´,_ゝ`)ハイハイ かわいそうに
132デフォルトの名無しさん:2012/02/04(土) 21:31:02.37
衝突検知用の分割空間を一般的になんという?
8分木などの具体的な実装を意識させない名前
133デフォルトの名無しさん:2012/02/04(土) 21:43:06.00
パーティション
134デフォルトの名無しさん:2012/02/04(土) 21:47:10.92
英語版のwikipediaのoctreeの項ではsubdivisionってなってるね。
8分木って言葉は今日初めて聞いたから全然自信はないがw
135デフォルトの名無しさん:2012/02/04(土) 21:53:06.05
divided space
partial space
partitioned space
136デフォルトの名無しさん:2012/02/05(日) 00:44:09.29
物理エンジン参考にすればいいじゃない
137デフォルトの名無しさん:2012/02/05(日) 17:17:09.48
broad_phaseのこと?
138デフォルトの名無しさん:2012/02/08(水) 23:58:52.76
競馬ゲーム作ってます
用語どこかにのってませんか
139デフォルトの名無しさん:2012/02/09(木) 07:15:31.16
「競馬入門」でググってみる知恵もないか?
140デフォルトの名無しさん:2012/02/09(木) 08:33:13.63
はい
141デフォルトの名無しさん:2012/02/09(木) 10:37:27.66
英語できない人
どんな変数名の付け方してるか教えてくれよん
142デフォルトの名無しさん:2012/02/09(木) 11:14:55.91
ここで相談する
143デフォルトの名無しさん:2012/02/09(木) 11:26:28.69
でもわざわざ一回一回ここで相談しに来たら時間いくらあっても足りないよ!
どういう用途なのか説明も大変ですしおすし
144デフォルトの名無しさん:2012/02/09(木) 11:38:01.10
英語できるようになる
145デフォルトの名無しさん:2012/02/09(木) 11:39:08.59
その発想は無かった
解決しました
146デフォルトの名無しさん:2012/02/10(金) 04:19:57.33
・英語的に完璧に正しいが、日本人にはあまり馴染みのない単語や用法
・英語的には完璧とは言えない(通じるレベル)だが、日本人でも意味を連想できる単語や用法。

ちょっと迷う時がある。
前にスレで聞いたときは前者の方が良いという意見が出てた気がするが、
海外の人にソースを見せたり、外国人PGと一緒に作業したりしないのなら、後者もアリかもしれない。
147デフォルトの名無しさん:2012/02/10(金) 07:15:46.25
>>146
それでいい
148デフォルトの名無しさん:2012/02/11(土) 20:19:39.12
関数名お願いします
クラスの中のメゾットなのですが
そのクラスは「コールバックを管理する」クラスです。
そして、そのメゾットの機能は
「自分のクラスから『コールバックの実行』の機能を持つメゾットを取り除いたクラス(オブジェクト)を返す」
というものです
149デフォルトの名無しさん:2012/02/11(土) 20:21:35.94
×メゾット
○メソッド
150デフォルトの名無しさん:2012/02/11(土) 20:26:18.21
もともとイタリアで食べられてきた麦類の料理に東洋(中東)から伝播した米が融合した料理である。
イタリアでは下記の料理法で調理した米料理のみを指すが、フランスではピラフの別名として用いられてきた。
151デフォルトの名無しさん:2012/02/11(土) 20:28:05.49
メソッドなんか作らずに継承関係にしてスーパークラスとして扱えばいいだけじゃ
どうしてもメソッドにするならgetBase
152デフォルトの名無しさん:2012/02/11(土) 20:31:21.24
スーパークラスというか、普通は適当なインターフェイスにキャストした自分を
返すようにするんだろうね。

どっちにしろ、>>148だけの内容で名前付けろとか無理筋過ぎるけど。
153デフォルトの名無しさん:2012/02/11(土) 20:33:03.79
ありがとうございます
一応付属的な機能ですので、
継承関係は作りませんでした
154デフォルトの名無しさん:2012/02/11(土) 20:39:37.12
logger.writeだと面倒だから
log.writeにしちゃったんだけど
やっぱり変?
155デフォルトの名無しさん:2012/02/11(土) 20:39:42.74
>>148
返すのは単なるコールバックのコレクション?
実行機能を除いて残った管理機能には何がある?
156デフォルトの名無しさん:2012/02/11(土) 20:41:31.39
>>154
変じゃないよ
157デフォルトの名無しさん:2012/02/12(日) 00:39:31.96
>>154
log.writtenが正しい
158デフォルトの名無しさん:2012/02/12(日) 01:47:13.29
コールバックとハンドラとイベントの違いとは
159デフォルトの名無しさん:2012/02/12(日) 03:31:59.67
・コールバック(関数)
 プログラムをシステム側とユーザ側の2つに分けるとき、
 システム側に呼ばれる、ユーザ側の関数のこと

・(イベント)ハンドラ
 イベントを受信する関数

・イベント
 何らかの現象が発生したことを示す
 発生したことをイベントハンドラなどに伝えることを「イベントの送信」、
 イベントハンドラがイベントを受け取ることを「イベントの受信」といい、
 これらを活用することをイベントドリブンという
160デフォルトの名無しさん:2012/02/12(日) 19:40:46.14
class IHoge { // ry
};
class HogeBase : public IHoge { // ry
};
class HogeX : public HogeBase { // ry
};
class HogeY : public HogeBase { // ry
};

上のように派生クラスでよく使う共通機能を〜Baseと名付けているのですが
同じような目的で、しかし継承ではなく集約での利用を前提にしたクラスがあります

class Hoge??? { // ry
};
class HogeX : public IHoge {
Hoge??? ??????;
// ry
};
class HogeY : public IHoge {
Hoge??? ??????;
// ry
};

継承をしていないのでBaseという名前を変えたいのですが
なにか適切でシンプルな名前はありますか?
161デフォルトの名無しさん:2012/02/12(日) 19:47:12.95
>>159
HogeEngine とかいろいろ考えられる。Driverとかいろいろあるやん
162デフォルトの名無しさん:2012/02/12(日) 19:53:55.05
a = "aaa;bbb,ccc"
b = f(a, ";"); // b = "aaa", a = "bbb,ccc"
b = f(a, ","); // b = "bbb", a = "ccc"
b = f(a, 0); // b = "ccc", a = ""

というセパレータを指定して頭を引っこ抜くお手軽関数ってなんて名前がいいですか
163デフォルトの名無しさん:2012/02/12(日) 20:12:11.35
>>162
例えば、配列の先頭の要素を取り外して返すようなものはshiftという名前でperlやrubyにある。
また、文字列から一部分を取り出す(だけ。非破壊)コマンドとしてはcutというのがある。
164デフォルトの名無しさん:2012/02/12(日) 20:14:00.81
>>162
汎用性が低そうだから、その関数を使うところでの文脈に沿って決めたら良いよ
165デフォルトの名無しさん:2012/02/12(日) 20:25:06.10
見た感じ strtok(_r) の亜種のように見えるな。
166デフォルトの名無しさん:2012/02/12(日) 23:31:27.28
>>162
俺が名付けたのだが strtok()
167デフォルトの名無しさん:2012/02/13(月) 07:38:37.02
動的(dynamic)の略 dyn はよく見ますが、
静的(static)の略は何でしょうか?
168デフォルトの名無しさん:2012/02/13(月) 10:00:15.31
staでいいんじゃね?
169デフォルトの名無しさん:2012/02/13(月) 11:35:18.64
dyn
stc
170デフォルトの名無しさん:2012/02/13(月) 11:57:38.41
interceptorってコールバックの一種ですか?
171デフォルトの名無しさん:2012/02/13(月) 22:28:06.92
>>159
なるほど。。。
172デフォルトの名無しさん:2012/02/14(火) 01:41:06.52
ミサイル要撃機の一種
173デフォルトの名無しさん:2012/02/14(火) 08:05:48.72
犬の名前じゃなかったっけ?
174デフォルトの名無しさん:2012/02/14(火) 08:24:43.44
わかりました
175デフォルトの名無しさん:2012/02/14(火) 08:25:35.50
>>173
性能的に考えると、あなた本体じゃないですかー
176デフォルトの名無しさん:2012/02/14(火) 09:30:32.76
ただの黒装束姿では汚い忍者系といったところだが愛犬を連れているという設定が備わることで遠目で見ると人格者に見える
177デフォルトの名無しさん:2012/02/14(火) 18:27:45.28
ラムダで済ませるようなSTLの関数オブジェクトの名前にいつも悩む
178デフォルトの名無しさん:2012/02/14(火) 18:54:38.64
>>168,169
1単語の略称に a e i o u 辺りを普通は入れないという話を小耳に挟んだので、
stc を使うことにします。

ありがとうございました。
179デフォルトの名無しさん:2012/02/14(火) 19:17:39.64
スタックと読んでしまいそうだ
180デフォルトの名無しさん:2012/02/14(火) 19:25:21.07
スタティック(静的)と読むのが自然である文脈でしか使わないので問題ないです。
181デフォルトの名無しさん:2012/02/14(火) 21:44:29.93
スタティック・メーン?
182デフォルトの名無しさん:2012/02/18(土) 19:25:36.83
http://iup.2ch-library.com/i/i0568311-1329560000.jpg
シューティングゲーム作ろうとして、画像のようなクラス設計をしたのですが、
CProxyに当たる部分の名前が激烈ダサイ気がして夜も眠れません。
どなたか妥当な名前を付けてあげてください。

STGがイメージしにくい場合はCCharacterを「ガチャピン」に、CStatePlayer/Enemy/Bulletを
「空手出来る人」「バイク乗れる人」「ダイビングできる人」に読み替えてください。
183デフォルトの名無しさん:2012/02/19(日) 01:36:22.75
抽象クラスCProxyが具体的に何を行うクラスなのか分からない
184デフォルトの名無しさん:2012/02/19(日) 04:11:38.08
CProxyはタスクにわたすパラメータみたいなもの?
185デフォルトの名無しさん:2012/02/19(日) 11:02:08.29
派生クラスへのアクセスをカプセル化したいんじゃねーの?
インターフェースにしないのがなんでかわからんが
186デフォルトの名無しさん:2012/02/19(日) 11:08:19.40
まず、プロクシってのは使う側に意識させないのが普通じゃねーの?w
あるインタフェースに対して、プロクシになってる実装と、そうでないのとは作る側の仕込み。
一人でやってる場合は自前ライブラリ(または単にクラス群)を作る側と、使う側で考えてくれ。
187デフォルトの名無しさん:2012/02/19(日) 13:09:35.44
?とりあえず、CProxyの具体的な使用方法を教えてくれ
CProxyの具体的な説明が「派生クラスの代理人」だというのであれば、命名はCProxyで合ってると思うんだが
188デフォルトの名無しさん:2012/02/19(日) 15:07:21.42
しかも頭にCつけてんのが狂ってる。MFCでもないのになぜマネをする?
JavaのSwingならJ、rubyのcソースコードではrb_。それぞれ由来があるからつけてるんだぞ?
189デフォルトの名無しさん:2012/02/19(日) 15:09:48.59
インターフェースでは妥協してIをつける
統一感無いから普通のクラスではCをつける
190デフォルトの名無しさん:2012/02/19(日) 15:17:43.20
Cつけるか付けないかとか、スタイルが統一されてさえいればどうでもよくね?
191デフォルトの名無しさん:2012/02/19(日) 15:26:13.29
また>>1すら読めない文盲が暴れてるのか
192デフォルトの名無しさん:2012/02/19(日) 15:28:44.94
まぁいいじゃないか釣られんなよ
193デフォルトの名無しさん:2012/02/19(日) 15:33:23.79
とにかく、>>182で名前決めろっていうのはやっぱりちょっと無理があるよな。

俺がゲーム作ったことないからそう思うだけかと思って黙ってたが、
やっぱりそうじゃないんだな。
194デフォルトの名無しさん:2012/02/19(日) 15:35:44.11
maskの反対って何? unmask除いて。
ある範囲だけを使う時、
今はonly(Range r)などとしてるが…。
195デフォルトの名無しさん:2012/02/19(日) 15:41:28.56
>>194
なんかmaskの意味を誤解してるような気がする....

例えばサブネットマスクの意味を考えれ貰えば分かると思うが、
普通は「ある範囲だけ」っていうのこそがmaskの意味そのものじゃないの?
196デフォルトの名無しさん:2012/02/19(日) 15:46:35.15
【動詞】 【他動詞】

1 〈…を〉仮面でおおう[隠す].

用例        
The robbers masked their faces with stockings. 強盗は顔をストッキングで隠していた.

2 〔+目(+前+(代)名)〕〈感情などを〉〔…で〕隠す,紛らす 〔with,behind〕.

用例        
He masked his anger with [behind] a smile. 彼は怒りを笑いで紛らした.
197デフォルトの名無しさん:2012/02/19(日) 15:48:39.21
動詞だと隠すっていう意味だろうから、exposeあたり?
198194:2012/02/19(日) 16:12:30.70
>>195
ビットマスクは名詞でかつ、使う時論理積になるのが想像つくからそうなのかも。

>>197
良い名前キタコレ! MaxOSXのあの機能ってそういう意味だったのかw
しかし良い名前ではあるが、「そこだけ使う」っていう感がちょっと少ない気も。
199デフォルトの名無しさん:2012/02/19(日) 16:16:04.03
完全素人なんでよくわからんけど、jQueryにはmaskとexposeっていうペアで使うようなメソッドがあるっぽい。
200デフォルトの名無しさん:2012/02/19(日) 16:17:09.34
extract
filter
201デフォルトの名無しさん:2012/02/19(日) 16:17:51.60
>>199
勉強になるなぁ! 実績があるなら問題なし。>>197氏、ごっつぁんです!
202デフォルトの名無しさん:2012/02/19(日) 16:20:10.21
エクスポゼは英語じゃなかったような....
って、だから「そこだけ使う」のがまさにmaskするってことなんだけど...

なんか質問者が誤解してるみたいんなんで余談になるけど、
NMI = non maskable interruptなんて用語があるように、maskの反対は
「マスクしない」という否定による表現でしかいいようがない気がする。
203デフォルトの名無しさん:2012/02/19(日) 16:22:28.43
>>194
204デフォルトの名無しさん:2012/02/19(日) 16:22:42.85
>>194
くし   字、間違ったわ
205デフォルトの名無しさん:2012/02/19(日) 16:27:27.77
NMIは、マスクできない割り込みだろ。
206デフォルトの名無しさん:2012/02/19(日) 18:22:22.59
アクサンが付いたのは「エクスポゼ」で、フランス語の
動詞exposer(エクスポゼ。動詞の末尾のrは読まない)の過去分詞形だけど、
英語にも普通に1050年ほど前に輸入されて、expose(エクスポウズ)になっている。
意味は「晒す」など。
207デフォルトの名無しさん:2012/02/19(日) 18:23:21.80
ぐは、繰り上がり間違えた。950年弱だった。
208デフォルトの名無しさん:2012/02/22(水) 21:39:03.69
キーが衝突することをなんて表現すればいい?
たとえば、A,B,Cのキーが既に使われているのにまたAが追加されようとした時とか。
209デフォルトの名無しさん:2012/02/22(水) 21:42:22.60
MDCでconflictが使われていることを確認できたので事故解決。失礼しました。
210デフォルトの名無しさん:2012/02/22(水) 21:43:41.75
collision
211デフォルトの名無しさん:2012/02/22(水) 22:04:05.28
クリティカルヒット
212デフォルトの名無しさん:2012/02/22(水) 22:13:55.90
hash collisionとか言うよね。
213デフォルトの名無しさん:2012/02/22(水) 23:27:02.59
ダブルブッキング
214デフォルトの名無しさん:2012/02/22(水) 23:30:17.98
クッキングパパ
215デフォルトの名無しさん:2012/02/23(木) 01:02:36.02
conflict : 競合
collision: 衝突
216デフォルトの名無しさん:2012/02/23(木) 01:18:28.87
race condition
217デフォルトの名無しさん:2012/02/23(木) 07:18:51.27
conflict って競合というよりは対立だと思ってた
互いに正反対の主張が衝突して All or Nothing みたいな

競合っていうと、競合他社のようなシェアを奪い合うみたいに、
普通は All or Nothing の状態にはならないような感じを受ける
218デフォルトの名無しさん:2012/02/23(木) 11:43:24.39
どっちでもいいよ
PGは猿じゃないんだからhash関連の文脈ってわかってりゃ競合でも衝突でも通じるわ
219デフォルトの名無しさん:2012/02/23(木) 11:51:28.09
conflictは競合じゃないね
220デフォルトの名無しさん:2012/02/23(木) 15:20:19.12
コーンフレークがどうしたって?
221デフォルトの名無しさん:2012/02/23(木) 18:54:24.34
コンフリクト例
 svn conflict:ソースの同じ箇所を複数人が修正して自動的なマージに失敗、人間によるマージが必要
 dll conflict:ロードした複数のDLLで関数名などが被ってる
コリジョン例
 packet collision:同じタイミングでデータが来た
 hash collision:異なるデータが同じハッシュになった

コンフリクトは意味的な競合で、どうするか人が選択したりする
コリジョンはもっと直接的な競合(衝突)で、運次第で起きるときは起きる


という感覚だけど、もちろん合ってる保証は無い
222デフォルトの名無しさん:2012/02/23(木) 19:29:11.55
>>208
already exists
223デフォルトの名無しさん:2012/02/23(木) 20:07:47.31
duplicate key
224デフォルトの名無しさん:2012/02/23(木) 21:40:45.67
>>208
# useradd -u 99 aaa
useradd: UID 99 is not unique
225デフォルトの名無しさん:2012/02/23(木) 23:57:17.25
>>213
>>216
どっちか使っていいよ
226デフォルトの名無しさん:2012/02/27(月) 12:29:56.06
引数でパラメータを受け取って通信仕様に従って制御用の文字列を返す
逆に、返信された制御文字列から必要なパラメータを切り出す

この1対のメソッド名をどうしたらいいでしょうか?
227デフォルトの名無しさん:2012/02/27(月) 12:39:02.60
encode/decode
228デフォルトの名無しさん:2012/02/27(月) 12:46:15.40
制御文字列 <- ParamsToCode(パラメータ1, パラメータ2)
CodeToParams(制御文字列, パラメータ1, パラメータ2, ...)

制御文字列 <- 通信仕様::CodeFromParams();
通信仕様::CodeToParams(制御文字列, パラメータ1, パラメータ2, ...)
229デフォルトの名無しさん:2012/02/27(月) 12:52:31.29
compose
parse/analyze
230デフォルトの名無しさん:2012/02/27(月) 13:50:59.31
>>227-229
encode/decodeだと暗号化とか圧縮、文字コード変換みたいな意味合いに思ってたけど有りみたいですね

parseは考えたのですが対になる物はCompseでよかったのか・・・
231デフォルトの名無しさん:2012/02/27(月) 13:54:27.12
formedString/params
232デフォルトの名無しさん:2012/02/27(月) 14:19:26.45
単純にくっつける/ばらすならDateTime構造体にならってToString/parseとかどうかな
233デフォルトの名無しさん:2012/02/27(月) 21:31:38.16
encode/decode 意外あり得ない

せいぜいinterpretくらい
234デフォルトの名無しさん:2012/02/28(火) 01:31:05.86
前後の空白を許すっていうのをなんとかableみたいに表現できない?
normalizeみたいな動詞でもいいんだけど、簡単な単語が分からない。
235デフォルトの名無しさん:2012/02/28(火) 01:45:29.73
前後の空白を許す事とnormalizeの関連が不明
236デフォルトの名無しさん:2012/02/28(火) 01:48:39.18
関連はないんじゃないの?
237デフォルトの名無しさん:2012/02/28(火) 01:50:03.06
YouMayStartOrEndWithSpace
238デフォルトの名無しさん:2012/02/28(火) 01:52:42.96
何の名前?
プロパティ?
メソッド?
239デフォルトの名無しさん:2012/02/28(火) 02:00:56.72
marginok とか?marginableだと連結しちゃいそう
240デフォルトの名無しさん:2012/02/28(火) 02:02:11.62
leading or trailing space is acceptable
241デフォルトの名無しさん:2012/02/28(火) 02:03:46.82
何の前後?
単語?
242デフォルトの名無しさん:2012/02/28(火) 02:09:44.68
前後の空白を取り除く処理を行うかどうかのオプション?
243デフォルトの名無しさん:2012/02/28(火) 02:26:00.91
ありがとうございます。
>>242
頻繁に正規表現を編集する機会がありまして、
その中でも前後の空白を許可するように書き換える、という処理が多かったのです。
たとえば、/a/ => /\s*a\s*/ という感じです。

>>240
その表現が主流みたいですね。利用させていただきました。ありがとうございました。
244デフォルトの名無しさん:2012/02/28(火) 02:45:19.34
失せろゴミ
245デフォルトの名無しさん:2012/02/28(火) 03:40:16.56
>>240
parse()とかの説明に出てきそうな文章だな
246デフォルトの名無しさん:2012/02/28(火) 08:40:43.68
componentって辞書で見るとちょっと広義だなーと思うんだが
あんま使わないほうがいいかな?
247デフォルトの名無しさん:2012/02/28(火) 09:54:03.98
>>243
文字列側の操作になるけど、Rubyでは、strip Qtでは、trimmed だな。
248デフォルトの名無しさん:2012/02/28(火) 11:06:40.91
trimmedだとスペースは取っ払った状態だから、逆のuntrimmedか ..?

untrimmed {形} 刈り込んでない、手入れしてない
untrimmed board 耳付き板
(英辞郎)
249デフォルトの名無しさん:2012/02/28(火) 11:20:18.90
allowWhitespaces
allowsWhitespaces
250デフォルトの名無しさん:2012/02/28(火) 13:15:18.68
AllowSandwichedByWhiteSpace
251デフォルトの名無しさん:2012/02/28(火) 19:44:47.68
なんか辞書使うの下手な奴多いなw

>>234
WordSpacingとか。
「分かち書き」の和訳を調べると一番簡潔なのがこれ。
252デフォルトの名無しさん:2012/02/28(火) 20:05:37.14
>>251
質問はたぶん「分かち書き」そのものじゃなくて、
それが「可能」、それを「許す」「認める」という意味を含めた英単語だと思う
253デフォルトの名無しさん:2012/02/28(火) 20:38:04.48
辞書以前の問題だな
254デフォルトの名無しさん:2012/02/28(火) 20:57:42.65
>>252
このスレの性格を考えれば、質問者は「前後の空白を許すかどうか」を表す
bool値の名前を求めているんだろうと解釈するのが普通。

その意味でおかしくない名前を提案したつもり。
異議があればどうぞ。
255デフォルトの名無しさん:2012/02/28(火) 21:00:33.93
>>254
WordSpacingだと前後の空白だけじゃなくて間の空白とか余計なものまで許しちゃってる。
256デフォルトの名無しさん:2012/02/28(火) 21:02:36.28
は?
257デフォルトの名無しさん:2012/02/28(火) 22:36:22.94
>>256
「分かち書き」の意味の中に、語と語の間の空白以外にも、
文節と文節の間に空白(空行)を書くこと「も」 含まれています

もし「分かち書き」の英訳が word spacing であるならば、
[文節間の空白 = 余計なもの] まで許しはしないだろうか

という意味のレスだと思われます


ただ、Wikipedia で word spacing を調べると分かりますが
http://en.wikipedia.org/wiki/Word_spacing)、
本当に [WordSpacing = 分かち書き] であるかどうかはさておき、
word spacing と言えば単語間の空白部分だけを指しており、
文節間の空白などとは明確に区別されていますね
258デフォルトの名無しさん:2012/02/28(火) 22:44:42.17
つうか、word-spacingってcssでは単語間の空白のサイズをピクセル単位とかで指定するプロパティだよね。
だいぶ雰囲気違うんじゃね?
259デフォルトの名無しさん:2012/02/28(火) 22:47:26.96
そもそも分かち書きは英語にない概念なんだから、word spacingは意訳でしょ。
もちろんイコールじゃないよ。
それはそもそも質問者が求めているものじゃないんだから当たり前だけど。

俺はただこういう情報の検索方法もあるよと言いたかっただけ。
260デフォルトの名無しさん:2012/02/28(火) 23:04:00.34
形態素解析の論文なんかでは word segmentation て言ったりしてるヨーダ。
261デフォルトの名無しさん:2012/02/28(火) 23:14:19.42
>>259
> 俺はただこういう情報の検索方法もあるよと言いたかっただけ。

その意図が >>251 のレスでみんなにちゃんと伝わったという自信はあるか

冒頭 「書使うの下手な奴多いなw」 と小馬鹿にしてる感じなんだが
262デフォルトの名無しさん:2012/02/29(水) 13:04:09.20
autoTrim でいいんじゃね
263デフォルトの名無しさん:2012/02/29(水) 19:50:36.23
>>243
本当の問題はなんだい? スペースを許さない仕様って何を許すんだい?
264デフォルトの名無しさん:2012/02/29(水) 19:53:36.19
既にあるコード中の正規表現を書き換えるプログラムを作ってるんじゃないの?
265デフォルトの名無しさん:2012/03/02(金) 12:26:54.79
WindowsのAPIやクラスライブラリなどでは、
FileNameだとファイル名、FilePathやPathNameだとフルパス名を意味するのが一般的ようですが、
"..\\Hoge\\Hoge.doc"のようなファイルの相対パスだと明示したい場合、
どういう名前が考えられますか?

FilePathRやFilePathRelativeしか思いつかず、NameやPathに置き換わる名前があるとよいのですが。
266デフォルトの名無しさん:2012/03/02(金) 12:54:00.94
> FilePathやPathNameだとフルパス名を意味するのが一般的ようですが

まずここの認識が違うのでは?

FilePath を指定するヶ所ではたいてい
絶対パスでも相対パスでもどちらでも認識するのが普通だと思いますが
(相対パスが入力されたら内部で絶対パスに変換するなど)
267デフォルトの名無しさん:2012/03/02(金) 12:57:28.18
それは言わない約束でしょ♪
268デフォルトの名無しさん:2012/03/02(金) 13:12:19.08
>>266
よくよく考えてみると、GetModuleFileNameとかは
FileNameと言ってるくせにフルパス名を返してきますわ。
269デフォルトの名無しさん:2012/03/02(金) 13:35:42.90
boostだとrelative_path
270デフォルトの名無しさん:2012/03/02(金) 14:27:45.73
基本的に正常系の場合にのみ実行される処理において、
あるフラグが立てられた場合に限り異常系でも処理をするときのフラグの名前。
フラグはアプリ起動前に設定し、終了まで変更されることはありません。

とりあえずFORCE_FLGとしてるけど、もっといいのないでしょうか。
271デフォルトの名無しさん:2012/03/02(金) 19:35:29.40
IGNORE_XXX_ANOMALY
272デフォルトの名無しさん:2012/03/02(金) 19:52:20.80
正常系と異常系の違いは何?
273デフォルトの名無しさん:2012/03/03(土) 03:17:58.13
continueOnError
274デフォルトの名無しさん:2012/03/03(土) 08:09:48.38
処理 = Hoge として

::alwaysHoge
Context::alwaysHoge
Hogeler::alwaysPerform
Hogeler::alwaysPerforms
275デフォルトの名無しさん:2012/03/03(土) 10:03:21.75
270です。
FORCE_HOGE_ON_ERRORにしました。
# HOGEは処理名称
ありがとうございました。

276デフォルトの名無しさん:2012/03/03(土) 14:38:46.71
>>275
変なセンスだなあ。
それだと、「エラーの時はHOGEを強制する」の意味になるけど分かってる?

「雨天決行」と、「雨が降った時に必ず〜をする」は全然別の意味。
277デフォルトの名無しさん:2012/03/03(土) 15:25:38.54
「エラーが起きたときでもHogeを行う」んじゃなくて、そのフラグが立っている時は「必ずHogeを行う」んでしょ?
だとしたら always 〜 をオススメしたいんだけどなぁ

if (!error || error && FORCE_HOGE_ON_ERROR) { Hoge(); }
if (!error || FORCE_HOGE_ON_ERROR) { Hoge(); }
if (alwaysHoge || !error) { Hoge(); }
278デフォルトの名無しさん:2012/03/04(日) 00:11:38.84
そのフラグがどういう時に立つかを考えて命名できないの?
279デフォルトの名無しさん:2012/03/04(日) 00:54:22.15
何かの数を返す関数の場合、馬鹿正直に
getNumberOfHoges()
とすると長くていやなので
getHogeCount()
ってやっちゃうんですけど英語的にどうなんでしょうか?
280デフォルトの名無しさん:2012/03/04(日) 01:06:05.80
Javaの標準にあるくらいだからいいんじゃないの?

http://docs.oracle.com/javase/7/docs/api/java/awt/Container.html#getComponentCount()
281デフォルトの名無しさん:2012/03/04(日) 02:05:58.64
最近面白い質問来ないな
282デフォルトの名無しさん:2012/03/04(日) 06:33:40.64
左様でございますか
283デフォルトの名無しさん:2012/03/04(日) 17:06:45.40
うん
284デフォルトの名無しさん:2012/03/05(月) 04:01:46.63
nullを""に変換するgetterの名前よろしく。
285デフォルトの名無しさん:2012/03/05(月) 04:20:10.61
それgetterじゃないよ
286デフォルトの名無しさん:2012/03/05(月) 04:23:08.52
エスパーすると、
何らかの文字列を取得する、もしくは有効かどうか判定する際に、空文字列とNULLを同一視する関数?
287デフォルトの名無しさん:2012/03/05(月) 04:32:18.98
/*
* xxxがnullの場合に空文字列を返す旨はコメントに書く
*/
string getXXX()
{
  if(this.xxx == null)
     return "";
  return this.xxx;
}
288デフォルトの名無しさん:2012/03/05(月) 04:50:56.60
とりあえずgetXXXNotNull()という名前を使ってますが気持ち悪いんです。
289デフォルトの名無しさん:2012/03/05(月) 05:00:25.98
>>287でFA
290デフォルトの名無しさん:2012/03/05(月) 05:17:47.81
getXXX()というのはすでに存在しているんです。
291デフォルトの名無しさん:2012/03/05(月) 05:20:02.88
じゃあヌルを避ける意味を考えてgetYYY()にするまで
292デフォルトの名無しさん:2012/03/05(月) 07:08:44.78
getXXXSafety
293デフォルトの名無しさん:2012/03/05(月) 07:34:43.71
getXxxOrEmptyString
294デフォルトの名無しさん:2012/03/05(月) 08:11:32.36
文字列を返すって意味にすればいいやん
295デフォルトの名無しさん:2012/03/05(月) 08:31:50.50
toString()w
296デフォルトの名無しさん:2012/03/05(月) 08:58:23.07
つかそれだけなら関数にしなくていいだろ
297デフォルトの名無しさん:2012/03/05(月) 09:08:05.10
string Hoge::toString()

機能説明: Hoge の文字列表現を取得する
 この関数は Hoge が null であれば空文字列を返す

string Hoge::GetPiyoAsString()

機能説明: Piyo の文字列表現を取得する
 この関数は Piyo が null であれば空文字列を返す
298デフォルトの名無しさん:2012/03/05(月) 10:51:49.35
与えられた文字列が与えられた長さ以内かを判定するメソッドの名前。
boolean foo(string arg, int length)

半角文字を1とした場合に全角文字は2でカウントします。
半角とはUnicodeでInBlockLatinにマッチするもの、全角はそれ以外です。
299デフォルトの名無しさん:2012/03/05(月) 11:01:10.00
isLess()
ちと広義すぎるか
300デフォルトの名無しさん:2012/03/05(月) 11:02:26.01
>>298
設計に口出しするのはご法度だろうけどどうしても言いたい。
そんな不自由なメソッド作ってはいけない。

// 半角文字を1とした場合に全角文字は2でカウント
int nbyte(string s)

みたいなもんを作っておいて、

(nbyte(arg) <= len)や(len <= nbyte(arg))や、
(nbyte(arg) < len)や(len < nbyte(arg))や、
(nbyte(arg) == len)や(len != nbyte(arg))として使ったほうがよっぽど柔軟。
これ以外にも用途見えてくるっしょ?
301デフォルトの名無しさん:2012/03/05(月) 11:11:37.29
既にそうやって使ってるなかで、沢山出てくるパターンに名前をつけて可読性を上げたいんじゃないのかしら。
302デフォルトの名無しさん:2012/03/05(月) 11:21:10.72
可読性を上げたい?冗談じゃない。
「以内」なんてもんを英語で表現して後ろに二個引数渡すより、
「<=」の記号を使ったほうがよっぽど可読性は上。

「以内」という意味を隠して、抽象化した名前にするんなら意味はあるだろうけど。
check_length_cho-doii-kado-ka(s, len)みたいなのだとね。
303298:2012/03/05(月) 11:34:05.99
>>300,302
いいたいことは非常によくわかります。
わたしも同じ提案をしましたが却下されました。
ベタ移植するから元にない関数は作るなと。

元がCOBOLだからなのか関数名がKSP10142みたいなコードになっていて意味不明すぎる…
304デフォルトの名無しさん:2012/03/05(月) 11:43:18.57
>>302
>「以内」という意味を隠して、抽象化した名前にするんなら意味はあるだろうけど。

いやだから、同じ設計に口だすならそっちだろうと。
305デフォルトの名無しさん:2012/03/05(月) 12:15:35.25
>>303
なるほどね…。KSP10142みたいな名前に比べりゃ、何でもマシだよねw
かといって英語で「以下」を表現するとなると…。
is_less_than_arglen_or_equal_to_arglen(s, len)みたいな?
306デフォルトの名無しさん:2012/03/05(月) 12:17:29.87
>>298
length_is_not_over(string arg, int limit)
307デフォルトの名無しさん:2012/03/05(月) 12:38:03.13
bool string_length_less_equals(string, length)
bool string::LengthLessEquals(string, length) ※クラスメソッド
308デフォルトの名無しさん:2012/03/05(月) 20:53:42.86
>>298
IDEが使える言語向けっぽいから
validateLength(string target, int maxLength)
とかで良いんじゃない?

一応他の候補
isWithinMaxLength
isNotLongerThan
isLengthLTE

あと、ベタ移植だっていうのならまんまKSP10142でも良いんじゃないの?w
いやマジで。
309デフォルトの名無しさん:2012/03/05(月) 23:34:29.99
>>298
goodString(arg, length)
healthyString(arg, length)
310デフォルトの名無しさん:2012/03/05(月) 23:45:51.68
isStringLengthEqualToOrShorterThan
311298:2012/03/06(火) 09:19:52.16
みなさんたくさんの候補ありがとうございました。
徹夜で電子化されてない手書き7,000ページほどの仕様書を読み切ったところです。
# どうでもいい話ですが7,000ページの手書き資料なのに修正した跡が一つも無し。
# 間違ったら全部書き直していたのか??
# さらに作成者が全部同じで筆跡も同一人物っぽい。この人化け物かっ。

この関数は紙帳票に印字される項目に対して
情報が入力された際と印字する際にチェックとして使われていました。
使用用途で考えると308さんのvalidateというのがしっくりきたのでvalidateなんとかーという名前にします。
312デフォルトの名無しさん:2012/03/06(火) 09:25:49.68
手書き7000pって・・・そんな化物いるんだ
313デフォルトの名無しさん:2012/03/06(火) 09:28:38.26
写経に慣れてるお坊さんじゃねw
314デフォルトの名無しさん:2012/03/06(火) 10:18:12.29
サンプルでもライブラリでもスニペットでもなく
ただ実プロジェクトからコピペしたような汎用性のないコード(やテキスト全般)の断片ってなんて言えばいいですか。
とりあえずコピー、収集しておいて参考にする程度のもの。
scrap?
315デフォルトの名無しさん:2012/03/06(火) 10:30:01.92
snippet
fragment
scratch
316デフォルトの名無しさん:2012/03/06(火) 10:31:19.43
>スニペットでもなく

見落としてたが、その判断基準は何だ?w
317デフォルトの名無しさん:2012/03/06(火) 15:29:07.62
piece of code
318デフォルトの名無しさん:2012/03/06(火) 18:43:16.77
>>295-297 1つ魔法を覚えました。ありがとうございます。
319デフォルトの名無しさん:2012/03/06(火) 18:50:28.62
複数のブール値を持つクラスを定義する
class bool3 { bool a, b, c; }

@ return a & b & c
A return a | b | c
B return a ^ b ^ c

bool型を返す@・A・Bそれぞれの関数の名前を教えてちょ
ただし、変数は3つとは限らない(bool10、bool20ということも可能だろうということ!)
320デフォルトの名無しさん:2012/03/06(火) 18:54:17.51
return (^q^);
321デフォルトの名無しさん:2012/03/06(火) 18:55:59.47
common lisp だとそういうのは、
(logand a b c)
(logior a b c)
(logxor a b c)

322デフォルトの名無しさん:2012/03/06(火) 19:44:03.69
bool3.and()
bool3.or()
bool3.xor()
323デフォルトの名無しさん:2012/03/06(火) 19:44:17.60
DBから取り出したhogeというカラムのStringなデータで、そのデータはカンマが入っています。
このデータをカンマ区切りでArrayに変換する関数名はなにがいいでしょうか?
convertStringToArrayはString型をArray型に単純に変換するってわけではないので違うと思うので。
convertHogeToOtherFormatとか考えましたがotherってなんだよとかなんかネーミングおかしくね?とか、
そもそも英語あってんの?って感じなので、どなたかお願いします。
324デフォルトの名無しさん:2012/03/06(火) 19:48:15.46
>データはカンマが入っています
>このデータをカンマ区切りでArrayに変換
ごめん、意味がわからない。
325デフォルトの名無しさん:2012/03/06(火) 19:48:46.97
convertCsvToArrayList(String value)
convertCommaSeparatedStringToArrayList(String string)
326デフォルトの名無しさん:2012/03/06(火) 19:57:20.87
split
327323:2012/03/06(火) 20:01:54.52
>>324
"aaa,bbb,ccc"

×{"aaa,bbb,ccc"}
◯{"aaa","bbb","ccc"}
ってことです。

>>325
ありがとうございます。
ちなみにカンマだけではなく第二パラメータで区切り文字を指定する時は、
どうしたらいいでしょうか?
ところで非オブジェクト指向のコレクションのない言語なのですが、
ArrayListのListってつけてもだいじょぶですか?
328323:2012/03/06(火) 20:03:10.89
>>326
あーー
そうですね。splitかも。
ありがとうございます。
split使います。
329デフォルトの名無しさん:2012/03/06(火) 20:29:04.94
Javaだと、
 String[]   split(String regex)
 String[]   split(String regex, int limit) 
この文字列を、指定された正規表現に一致する位置で分割します。 

Rubyだと、
split([sep[, limit]])
文字列を sep で指定されたパターンによって分割して配列に格納します。
330デフォルトの名無しさん:2012/03/06(火) 20:29:14.43
区切り文字を指定したいなら delimiter
331デフォルトの名無しさん:2012/03/06(火) 21:22:42.37
>>322
それ現状の名前だわ

>>321
その命名って logical and|or|xor の略なのかな
元々 getLogicalAnd とかいう名前にしていて、今は>>322にしてあるんだけど、
もっとこう・・・まさにこれという名前はないだろうか
結構よく見る演算だけど、この演算自体の名前はないのかな
332デフォルトの名無しさん:2012/03/06(火) 21:26:27.18
足し算ならsumがあるからいいけどね。
333デフォルトの名無しさん:2012/03/06(火) 21:58:18.59
>>331
っていうか、そもそもインスタンスメソッドな時点で変だよw
BooleanとかLogicOperationクラスの、可変長の引数を取るクラスメソッドで
実装した方がいいと思うよ。

その上で>>322のようなシンプルな名前でいい。
334デフォルトの名無しさん:2012/03/06(火) 23:27:37.41
>>319
all()
any()
odd()
335デフォルトの名無しさん:2012/03/07(水) 00:32:48.67
最近面白い質問来ないな
336デフォルトの名無しさん:2012/03/07(水) 01:05:22.73
計算するがcalculate,computeなので
calcAnd
calcOr
calcXor
とか?
337デフォルトの名無しさん:2012/03/07(水) 02:05:37.31
cumulative(累積)で「キュームなんとか」
cumuAnd
cumuOr
cumuXor
338デフォルトの名無しさん:2012/03/07(水) 06:34:45.85
>>333
Value3という3つの値の並列演算を行うクラスがあって、このクラス同士の比較演算を行った際にBool3で値が返されるようになっている
Bool3 Value3::Equals(Value3, Value3); ※クラスメソッド
bool Bool3::LogicalXor(); ※インスタンスメソッド

Value3 a, b;
if (Value3::Equals(a, b).LogicalXor()) { ... }

>>334
おぉ、かなりいい感じだと思った
何か元ネタがあったりしますか?

>>336
Calc〜やCalculate〜系はもっと規模の大きい演算を行って、それを返す関数に使いたいかな
339デフォルトの名無しさん:2012/03/07(水) 06:42:36.23
340デフォルトの名無しさん:2012/03/08(木) 07:05:24.41
>>339
おー、all()が何かと思ったら最新仕様のものだったか
>>334の案を使わせてもらうよ、ありがとう
341デフォルトの名無しさん:2012/03/12(月) 12:19:55.33
0-5みたいな範囲指定に使う文字ってなんて呼べばいい?
ハイフンとか文字の名前じゃなくて、その役割から命名したいから、
たとえば、a,b のカンマなら separator とか delimiter みたいな感じで。
342デフォルトの名無しさん:2012/03/12(月) 12:36:35.08
range
span
343デフォルトの名無しさん:2012/03/12(月) 12:42:52.97
range operator じゃね?
344341:2012/03/12(月) 12:44:10.97
そうなんです。でも普通に delimiter みたいに表現できないかな、と思って質問しました。
やっぱり operator を付けるしか無いですかね?
345デフォルトの名無しさん:2012/03/12(月) 12:44:46.26
to
346デフォルトの名無しさん:2012/03/12(月) 20:09:33.49
rangeop
347デフォルトの名無しさん:2012/03/12(月) 20:55:59.98
むしろhyphenatorとかでいいと思うんだけど。
hyphenを辞書で引いた感じでは
348デフォルトの名無しさん:2012/03/12(月) 21:08:15.95
hyphenationて文字数の多い単語が分割されるときのアレでは。

で、範囲を表すのはこれかも。
http://en.wikipedia.org/wiki/Dash#En_dash
349デフォルトの名無しさん:2012/03/12(月) 21:23:16.96
range indicator
350デフォルトの名無しさん:2012/03/12(月) 23:28:03.28
pubic static double heyHoCoooon(int x, int y);
351デフォルトの名無しさん:2012/03/13(火) 19:10:28.96
造語だけど
coverager
352デフォルトの名無しさん:2012/03/13(火) 23:12:19.00
クソすぎ
353デフォルトの名無しさん:2012/03/14(水) 17:35:23.01
ホームページにURLと同じ構造のディレクトリを作るメソッド名はなんにすればいい
354片山博文MZボット ◆0lBZNi.Q7evd :2012/03/14(水) 17:37:47.82
EnsurePath
355デフォルトの名無しさん:2012/03/14(水) 17:39:27.57
MakeDirectory
356デフォルトの名無しさん:2012/03/14(水) 17:43:41.92
FromURL
357デフォルトの名無しさん:2012/03/15(木) 09:47:17.93
make index
358デフォルトの名無しさん:2012/03/16(金) 05:55:31.50
変数hogeのデフォルト値って、HOGE_DEFAULT? DEFAULT_HOGE?
359デフォルトの名無しさん:2012/03/16(金) 05:59:44.25
お好きに
360デフォルトの名無しさん:2012/03/16(金) 06:27:06.72
メソッド名は動詞+名詞が基本ですよね?
ソケットにヘッダーを送るメソッドで
sentHeaderよりheaderSentのほうがしっくり来るんですが
どっちがいいですか?
361デフォルトの名無しさん:2012/03/16(金) 06:45:49.03
動詞は原形
目的語は引数
362デフォルトの名無しさん:2012/03/16(金) 07:16:46.06
もし個人でプログラムしているのなら、
しっくり来る方を使わず違和感のある方に合わせるなんて本末転倒だよ
363デフォルトの名無しさん:2012/03/16(金) 08:54:39.33
>>360
sentHeaderだとヘッダそのものを保持する変数、もしくはそれを返すメソッドに自分は見える
364デフォルトの名無しさん:2012/03/16(金) 08:59:00.55
どこかよそに送り付けたヘッダー情報を保持している変数みたいだな。
> sent header
365デフォルトの名無しさん:2012/03/16(金) 09:42:54.40
sentって過去形/過去分詞だよ
366デフォルトの名無しさん:2012/03/16(金) 10:08:47.96
bool messageSented; とかやりそうな勢い
367デフォルトの名無しさん:2012/03/16(金) 10:14:03.00
他人の感覚求めて質問してるのに個人の狂った感覚を尊重するのもいかがなものかと
368デフォルトの名無しさん:2012/03/16(金) 10:30:11.76
sentHeaderなら過去分詞+名詞なので全体として名詞として機能する→変数
sendHeaderなら動詞+名詞→メソッド
headerSendならおそらくheader.send()のイメージでオブジェクト志向的なメソッド
369デフォルトの名無しさん:2012/03/16(金) 10:37:02.75
class Sender
{
void send( Header header ) { ... }
}

class Data
{
Header header;
Body body;
void sendHeader(){ ... }
void sendBody(){ ... }
}
370デフォルトの名無しさん:2012/03/16(金) 10:38:25.88
class Header
{
void send(){ ... }
}
371デフォルトの名無しさん:2012/03/16(金) 14:16:06.92
@ Hoge.SentHeader : ヘッダーが送信されたさいに呼ばれるイベントハンドラ
A Hoge.SendHeader : Header を 送信する関数
B headerSend : Header というモジュールに属する(何かを)送信する関数
C headerSent : Header というモジュールに属する、送信されたさいに呼ばれるイベントハンドラ
Header.Send : Bに同様
Header.Sent : Cに同様

・・だと感じる
372デフォルトの名無しさん:2012/03/16(金) 14:49:23.28
>>371
headerSentって、送られたヘッダっていう変数名っぽく聞こえませんか?
ところで、put、set、cutみたいな手頃な動詞は活用が一緒だからこまるね。
373デフォルトの名無しさん:2012/03/16(金) 14:54:00.24
>>360
send(header)
374デフォルトの名無しさん:2012/03/16(金) 15:12:03.77
メソッドの話しならやっぱHeadオブジェクト作るのが正道でしょ
なんだか良くわからない巨大で延々居座り続ける複雑なオブジェクトを考え無しにつくっちゃうから「長い名前メソッド」問題が出てくるわけで
375デフォルトの名無しさん:2012/03/16(金) 15:17:38.47
>>372
変数として宣言されてるか、関数として宣言されているかによる
変数として宣言されているのであれば、確かに送ったヘッダと理解できるが、
変数の名前に、「動詞の形容詞的活用」とか言ったか? これを使うのはあまり人気がない
Header (that is) Sent ←これね
376デフォルトの名無しさん:2012/03/16(金) 21:58:20.57
>>372
lastSetValueとか settableValueで誤魔化したことある
377360:2012/03/16(金) 22:05:04.68
たくさんのレスありがとうございます!
いやーお恥ずかしい(ノ´∀`*)
sentじゃなくてsendですね。
これからみなさんのアドバイスを読み返してどれがいいか考えてみます。
378デフォルトの名無しさん:2012/03/17(土) 15:07:38.42
コマンドラインの引数から値のセットと引数をチェックする関数の名前は何がいいですか
379デフォルトの名無しさん:2012/03/17(土) 15:17:09.99
parse args
380デフォルトの名無しさん:2012/03/17(土) 18:23:37.78
checkArgs
381デフォルトの名無しさん:2012/03/19(月) 14:35:16.36
Getopt……は、違うか
382デフォルトの名無しさん:2012/03/19(月) 16:51:04.74
まぁ、文字列から何かを作るのであれば、Parseなんちゃらが主流だろうな
383デフォルトの名無しさん:2012/03/22(木) 13:20:16.07
getoptも悪くはないけど
その名前使うなら使い方もそれっぽくしておいて欲しい所
384デフォルトの名無しさん:2012/03/23(金) 02:57:09.39
GetOptPpoi()とかで誤魔化すしかないな
385デフォルトの名無しさん:2012/03/23(金) 05:10:43.50
GetOppaiだと...?
386デフォルトの名無しさん:2012/03/23(金) 18:01:16.55
Windowsで、
\\server\hoge...
みたいなパス表記はUNCという名前でいいみたいですが

::{GUID}\{GUID}

みたいなやつの正式名称ってなんて言うんでしょうか
387デフォルトの名無しさん:2012/03/23(金) 20:24:07.04
volume GUID path ?
388デフォルトの名無しさん:2012/03/23(金) 20:46:29.28
世界最古の土器

1988年、青森県の大平山元遺跡で見つかった土器が、世界最古の土器という事になっています。
1万6500年前(縄文時代前)のものと言われています。
これは、中国や他の国で発見されているものと比較して、群を抜いて古いものです。
発掘がすすめば、さらに古い土器が発見されるかもしれません。


世界最古の木造建築

奈良の「法隆寺」の建築物群。国宝にも指定されています。

法隆寺は、推古天皇や聖徳太子によって建立されたと言われています。日本最古の木造建築として日本の国宝に指定されているだけでなく、世界最古の木造建築としても認知されています。
また、日本を代表する木材「ヒノキ」で造られており、1993年12月には、日本で初めて世界文化遺産に登録されました。


世界最古の王室

現存する世界で一番長い歴史を有する世界最古の王室「天皇家」
海外では歴史や伝統に重い価値を置いています。

世界での天皇家の地位は絶大です。

世界の権力図を示すとこんな感じ。
天皇陛下≧ローマ法王>英国女王>アメリカ大統領etc>日本国首相etc

ローマ教皇と同等かやや上回るか。

世界2トップのうちの一人です。
これは日本の宝として大切にしないといけませんね。

389デフォルトの名無しさん:2012/03/23(金) 20:58:04.02
コピペ王に、俺はなる!まで読んだ。
390デフォルトの名無しさん:2012/03/27(火) 21:47:01.50
URLのファイルのパス取得するメソッド名は何がいい
391390:2012/03/27(火) 21:48:14.23
間違えた
URLのファイルのパスの部分を取得するメソッド名は何がいい
392デフォルトの名無しさん:2012/03/27(火) 21:49:43.99
具体例を
393デフォルトの名無しさん:2012/03/27(火) 22:09:48.43
URLのファイルのパスの部分って何?
394デフォルトの名無しさん:2012/03/27(火) 22:38:10.12
scheme://server:port/ここの/部分の/こと.じゃね

extractPathFromURL
395デフォルトの名無しさん:2012/03/27(火) 23:12:52.28
>>391
RFC1738 3.3. HTTPの項目を見るとURLの構造がhttp://<host>:<port>/<path>?<searchpart>となってるので、
getPathでいいような気がする。
396デフォルトの名無しさん:2012/03/27(火) 23:16:12.00
string extractPath(string url);
"@r@n"という文字列表現<=>Char(13)+Char(10)という実際の文字コード列
の相互変換関数を手書きするとして名前は
何escape/unescapeっていうんですか。ascii?
日本語で
※訳
"エスケープシーケンスを含む文字列からエスケープされた文字列へ変換する、または逆変換する関数の名前を教えてください
〜escape/〜unescapeと命名するべきでしょうか?
ascii_escape/ascii_escapeなどという命名はどうでしょうか?
「実際の文字コード列」ってのはは、
エスケープ方法に関わらずアスキーなんじゃないの?
それをエスケープ方法の名前にするのはへんてこじゃないかね。
C#で7zを利用した圧縮解凍ソフトを作ろうと思っているんだけど
7zを利用を楽にするラッパークラス名をどうしようか迷ってます
402片山博文MZボット ◆0lBZNi.Q7evd :2012/03/31(土) 14:49:15.12
>>401 Easy7zかWrap7zで
C#ならラップしてる対象そのものの名前でいいでしょ。
しかしクラス名?
普通欲しいのはライブラリや名前空間の名前じゃないかと思うんだけど。
Lucky7 でいいじゃん
7zでいいじゃん
>>403
そうじゃなくて、識別子の頭に数字を使えない C# の仕様で、
適切な名前の付け方はどんなのがある? という趣旨かと
(もう答えは出てるが)

C# は UTF の ascii の範囲外の文字なら数字でも頭にできたんだっけ?
そんな趣旨か?
しかし、"seven"の綴りをいちいち人に尋ねないと分からない人間がいるとも思えんけど。
SevenZipの類でいいだろ
本家本元も使ってるし
>>407
プログラムソース内に SevenZ と書かれているよりも、
7z と書かれていた方が 「圧倒的に」 読みやすい
そうでもない
逆か
SevenZ は圧倒的に読み難い、と個人的には感じる

まぁ私なら Archiver クラスの引数に
Algorithm7z クラスのポインタを渡す感じの作りをする
それもない
おまえ個人の感想なんか聞いてねえ
>>409
そんなことは分かってるってだから。
何が言いたいのか良く分からん。

そもそも7z=seven zipなんだからC#なら素直にSevenZipでいい。
>>403はそういう意味。

ついでに言えば、この程度の長さの識別子で可読性云々言ってる人間は論外。
プログラム書いたことあるのか。
>>414
すまん、よく考えたら生まれて一度も書いたことなかったわ
ちょっと書いてみる
>>401です
なんかすごいスレが伸びてる
そのままSevenZipにしょうと思います

自分も>>411の感じで作ろうと思ってます
7zで解凍できないタイプの場合、別のライブラリと取り替えたいので
Archiverクラスってのを作って一括しようかなと
417デフォルトの名無しさん:2012/04/18(水) 22:48:18.07
C++で、「テンプレート」を表すクラスがあって(CHogeTemplate)、
そのクラスのインスタンスを作る場合、
CHogeTemplate template;
みたいに書くと、templateが予約語なので使えません。

CHogeTemplate temp;
だと、テンポラリみたいになってしまいます。

templateに対する変数名用の略語って、なにか一般的なものはあるのでしょうか?
418デフォルトの名無しさん:2012/04/18(水) 22:58:25.05
メンバ変数ならmHogeTemplate、ローカルならhtとかで何も問題ないのでは?
でもそもそも“「テンプレート」を表すクラス”そのものが妙に聞こえる
419デフォルトの名無しさん:2012/04/18(水) 23:11:17.03
>>417
俺も、そもそも論として疑問が多々あるが、それらはひとまず置いておいて、

たとえば tmpl とかはどうだ?
420デフォルトの名無しさん:2012/04/19(木) 00:10:22.28
なんかお寺みたいです
421デフォルトの名無しさん:2012/04/19(木) 00:15:44.67
お寺みたいと言われても、template の略として普通に使われているのだが
422デフォルトの名無しさん:2012/04/19(木) 00:16:12.24
ローカルならtでもtplでも。
もっとスコープが広い変数ならなんか形容詞が要るだろうし。
423デフォルトの名無しさん:2012/04/19(木) 00:23:50.93
固めるテンプル吸わせるテンプルって最近見ないな
424デフォルトの名無しさん:2012/04/19(木) 09:17:01.63
自分ならtplにするかな
425デフォルトの名無しさん:2012/04/19(木) 09:17:36.56
tenpureito
deok
426417:2012/04/19(木) 22:00:36.16
>>418-425
みなさんありがとうございます。

テンプレートと言っても、クラスのテンプレートとは全く関係なく、
Officeやメールソフトなどにあるようなテンプレートを表すクラスです。

MFCなどを見てみたら、CDialogTemplateなんていうクラスがありましたが、
ポインタとかハンドルとかに対しては「pTemplate」とか「hTemplate」とかやっていて、
実体を作る場所ではとたんに「dt」とか「dlgt」とか書いていました。
なんかMFCの開発者も、同じように悩んだような書きかたです。
こんな感じでいいものなんですね。

「tmpl」というのも、ググったらたくさん出てきました。
ありがとうございます。
427デフォルトの名無しさん:2012/04/20(金) 02:18:46.84
>tmpl
何故かテンプラだのテンプルだの呼ばれてるw
428デフォルトの名無しさん:2012/04/22(日) 17:37:53.37
template_ だな。
429デフォルトの名無しさん:2012/04/24(火) 08:08:30.07
よく使う自作関数をひとまとまりしたクラスをつくろうと思うのですが
どういう名前がいいでしょうか?
主にシステム内で使用するために返り値を最適化した標準関数の拡張や、
データの変換などを行うものがあります。
全部static修飾子をつけることになると思うのですが、
MyLibとかちょっとダサイなと思ったのでなんかいい名前ないでしょうか?
430デフォルトの名無しさん:2012/04/24(火) 09:19:11.64
helper, utils
431デフォルトの名無しさん:2012/04/24(火) 09:51:51.36
>>429
そんなゴミ溜めみたいなダサいクラスはその名前で間違いない。
432デフォルトの名無しさん:2012/04/24(火) 18:56:13.76
namespace 自分の名前
static partial class Helper
433デフォルトの名無しさん:2012/04/25(水) 23:39:08.05
割と本気で MyUtility でいいと思う
しかし、俺なら my_utilities とかいう名前空間を作って、そこに雑多な自作関数を全部ブチ込みます
434デフォルトの名無しさん:2012/04/25(水) 23:54:27.76
もっと中二的な名前付けてあげてよ
435デフォルトの名無しさん:2012/04/25(水) 23:56:47.81
まあ、クラス名はMyXXXみたいなダサい名前にしておいた方が無難ではあるね。
名前のバッティングなんてそうそうあるもんじゃないけど。

ただ一つのクラスに全部詰め込むと後で後悔するだろうね。
俺はMyMathとかMyTextとかMyFileIOとか分けた方がいいと思う。
436デフォルトの名無しさん:2012/04/26(木) 00:50:39.36
MurasameMath
TyrhungText
FruntingFileIO
437デフォルトの名無しさん:2012/04/26(木) 11:59:38.25
とりあえず全部突っ込んどいてあとで後悔して後方互換を保ちつつエイリアスを作る
ってのが俺ですね
438デフォルトの名無しさん:2012/04/26(木) 13:30:25.23
右寄せとか左寄せ、中央とかを総じてなんて呼ぶのでしょうか?
439デフォルトの名無しさん:2012/04/26(木) 13:34:51.24
align(ment)
440デフォルトの名無しさん:2012/04/26(木) 13:39:12.32
>>439
ありがとうございます
441デフォルトの名無しさん:2012/04/30(月) 10:51:38.11
>>434
MyExtremelyUsefulLibyrary

略して MEUL
442デフォルトの名無しさん:2012/04/30(月) 11:55:43.51
Bokutが考えた
Sugoi
Library
443デフォルトの名無しさん:2012/05/10(木) 11:10:45.76
システムハンガリアンが禁止されている環境で、
一時的に変数の型を変えたい時は、どういう命名をしてますか?

もちろん、十分に短い名前ってのもアリですが。
444デフォルトの名無しさん:2012/05/10(木) 12:02:47.95
>>443
hoge.toInt
hoge.toLong
hoge.toString
445デフォルトの名無しさん:2012/05/10(木) 12:03:51.91
>>443 hoge as int/long/string...
446デフォルトの名無しさん:2012/05/10(木) 12:50:22.46
tempなんちゃら
447デフォルトの名無しさん:2012/05/10(木) 13:25:03.44
ありがと。

>>444
型変換くらいならコストも高くないし、変換後の一時変数を持たないってのも確かにアリか…

>>445
すまない、分からなかった。
VBかしら? 元のhogeとどう共存するのか分からないけど、その辺は大丈夫なのかな。

>>446
ほんとに一瞬使うだけなら、それでもいいのかな。型変換したって情報は残らないけど。
448デフォルトの名無しさん:2012/05/11(金) 04:13:27.13
正直、禁止されていてもローカルスコープでは使う
449445:2012/05/11(金) 08:58:39.87
>>447
命名規則にあわせて hogeAsInt や hoge_as_int にして採用してもらうつもりで書いた。
450デフォルトの名無しさん:2012/05/11(金) 10:36:30.91
変数宣言じゃなくて、そういうことかw
451デフォルトの名無しさん:2012/05/11(金) 12:23:04.14
>>449
これいいな
asのおかげで元になるhogeがあるのがわかる
452デフォルトの名無しさん:2012/05/11(金) 12:29:14.18
でもhogeと同値である保証がないなら
毎回変換したほうがバグは少ないかもね
453デフォルトの名無しさん:2012/05/12(土) 09:06:55.49
ハァ?
454デフォルトの名無しさん:2012/05/12(土) 12:09:41.50
DBの列名もここで相談してOK?
455デフォルトの名無しさん:2012/05/12(土) 12:38:08.61
>>452
保証がない変数使って、バグがどうしたって?
456デフォルトの名無しさん:2012/05/12(土) 13:07:08.38
>>454
過去に何度もあった
457デフォルトの名無しさん:2012/05/12(土) 15:16:26.44
その変数が「名前が似てるだけのただのコピー」だと理解してないやつが触ったら
どんなコードに書き換えられるかわからんぞって話

わかんねぇだろうなぁ
458デフォルトの名無しさん:2012/05/12(土) 15:21:51.46
いいよ別にそんなことを議論スレじゃないから
459デフォルトの名無しさん:2012/05/12(土) 15:29:13.12
>>457
> どんなコードに書き換えられるかわからんぞって話

馬鹿が触ればあたりまえ。
まあ、俺の周りには >>457 みたいな馬鹿は居ないからいいけど。
460デフォルトの名無しさん:2012/05/12(土) 16:04:52.78
スレッドセーフとか考えたこともなさそうなお仲間だな
461デフォルトの名無しさん:2012/05/12(土) 16:13:43.28
>>460 が一番難しいと思ってる言葉 = スレッドセーフ (w
462デフォルトの名無しさん:2012/05/12(土) 16:15:17.58
あのな
値をコピーしたあとで別の「スレッド」に元データ書き換えられたらどうするんだっていってんだよ

おまえらほんとレベル低いな
463デフォルトの名無しさん:2012/05/12(土) 16:18:01.88
それスレッドセーフと関係ないし。

お前が言ってるのは、

> 値をコピーしたあとで別の「サブルーチン」で元データ書き換えられたらどうするんだっていってんだよ

と同じ。

馬鹿すぎ。
464デフォルトの名無しさん:2012/05/12(土) 23:07:39.00
>>462 その問題は「毎回変換」したら解決するものじゃないよね。
465デフォルトの名無しさん:2012/05/13(日) 21:37:28.84
class HogeHolder {
 int hoge

 void Do() {
  VerifyString(IntToString(this->hoge)) // @
  LogOutputString(IntToString(this->hoge)) // A
  DrawString(IntToString(this->hoge)) // B
 }
}

条件: 関数@・A・Bの引数として同じ値を渡す
イベント: 途中でthis->hogeが別スレッドに書き換えられる
イベントの発生により、条件が保てなくなる

void Do() {
 Thread.Lock()
 const string sHoge(IntToString(this->hoge)
 Thread.Unlock()

 VerifyString(IntToString(sHoge))
 LogOutputString(IntToString(sHoge))
 DrawString(IntToString(sHoge))
}

こうすることでイベントが発生しても条件が保てる
で、上記の変数sHogeの命名規則が今の課題
466デフォルトの名無しさん:2012/05/13(日) 21:46:05.33
修正: 引数としてthis->hogeのコピーを渡すだろうし、Thread.Lock()とかは余計だった

>>452
>>1
あとスレタイ
467デフォルトの名無しさん:2012/05/14(月) 00:02:02.37
あ、まだ間違えてる。
二つ目のDo関数は

void Do() {
 // Thread.Lock()
 const string sHoge(IntToString(this->hoge)
 // Thread.Unlock()

 VerifyString(sHoge)
 LogOutputString(sHoge)
 DrawString(sHoge)
}

だな
468デフォルトの名無しさん:2012/05/29(火) 22:19:13.58
MVCでいうところの「Controller」に、別のわかりやすい名前をつけたいんですが、
なにかいい名前あるでしょうか。
なお今考えているのはWeb用のMVCであり、GUI用のMVCではないです。
現在の候補:
・RequestHandler (長すぎ)
・Page (どちらかというと「Controller」じゃなくて「View」のことですよね)
・Resource (「Controller」よりわかりにくいのでは?)
469デフォルトの名無しさん:2012/05/29(火) 22:54:49.07
命名以前に、
>RequestHandler (長すぎ)
この感覚を矯正しないと話にならない気がする
470デフォルトの名無しさん:2012/05/29(火) 23:01:43.79
で、でた〜wwwwww質問に答えず説教始め奴wwwwww
471デフォルトの名無しさん:2012/05/29(火) 23:31:11.56
>>470

>>469 は質問に答えてると思うが。

この程度なら全然長すぎてはいないから使っていいよ、
と暗に言っているように俺には聞こえる。
472デフォルトの名無しさん:2012/05/29(火) 23:47:12.92
>>469
RequestHandlerのような長いのを使うならControllerのままでいいです。
わかりにくさも同じようなものだし。
で、いい案はお持ちでしょうか。
473デフォルトの名無しさん:2012/05/29(火) 23:56:33.64
>>471
というか、この程度で長いと感じる人が相手だと、名前の提案は事実上不可能に近いよね。

別に親でも教師でも何でもないから説教はしないけど、こういう普通じゃない感覚に固執するなら
まともな人には相手にされないと思うけどな。
474デフォルトの名無しさん:2012/05/30(水) 00:06:24.29
って言うか単に Handler じゃいかんの?

何も情報がない状態で Handler 単体なら意味が分らないけど、
M に相当するものと、V に相当するものとの対比で Handler を捉えるわけで、
まして Web という文脈の中なんだから、どういう役割のものか
Handler という名前から容易に想像つくでしょ。
475デフォルトの名無しさん:2012/05/30(水) 01:19:34.41
>>473
じゃあ長い名前でいいので、お持ちの案を教えてもらえないでしょうか。
それをきっかけに、他の人が短い名前を思いつくこともあるでしょう。
よろしくお願いします。

>>474
いえ、Webアプリケーションの中だけでも
・FileHandler
・EventHandler
・SessionHandler
などいろんなハンドラがありえます。
ローカル変数で handler というのはありですが、クラス名で Handler は混乱のもとです。
476デフォルトの名無しさん:2012/05/30(水) 01:35:49.40
どうせreadとwriteしかないんだからパッケージの名前なんて付けずにグローバル空間で。
477デフォルトの名無しさん:2012/05/30(水) 02:01:09.54
RequestHandler
478デフォルトの名無しさん:2012/05/30(水) 03:22:19.98
Inflater
479デフォルトの名無しさん:2012/05/30(水) 07:26:14.44
>>475
SessionHandler は良いのに RequestHandler は長いのか・・・

480デフォルトの名無しさん:2012/05/30(水) 11:15:12.71
わかんない
481デフォルトの名無しさん:2012/05/30(水) 14:05:51.21
わかるまで考えろ
わかるまでサビ残だからな
482デフォルトの名無しさん:2012/05/30(水) 14:12:18.85
このスレはベリーロングロング識別子派の巣窟だから
古典UNIX/C派は黙って観察するだけにしとくべき
483デフォルトの名無しさん:2012/05/30(水) 14:52:15.98
>>479
SessionHandlerは長くないとは誰もいってないぞ。単に、そういう名前があるといってるだけ。読解力大丈夫か?
484デフォルトの名無しさん:2012/05/30(水) 15:09:05.26
↑馬鹿
485デフォルトの名無しさん:2012/05/30(水) 19:13:36.24
>>468
そもそも Controller が分りにくいと感じる原因は何?
(Handler がダメな理由は納得した)

これも、**Controler って色々あるの?
486デフォルトの名無しさん:2012/05/31(木) 22:40:50.30
もういいんじゃね?

一応、案は提示したんだし、どう見てもコミュ障みたいだし。
487デフォルトの名無しさん:2012/06/01(金) 18:24:21.49
わかんなかった
488デフォルトの名無しさん:2012/06/02(土) 02:22:09.09
池沼じゃね
489デフォルトの名無しさん:2012/06/06(水) 01:22:30.91
対戦ゲームで、プレイヤーの意思決定ロジック部を抽出したものの
名前は何がいいでしょう。StrategyパターンのStrategyに相当すると思います。
これを変更することで、人間がGUIを介して選択を行うプレイヤーやコンピュータ
がいろいろな計算方法で選択を行うプレイヤーを作れるようにしたい。

まんまStrategyだとGUIで人間が決めるやつの居心地が悪い気がしています。
それも含められるような名前を希望します。
490デフォルトの名無しさん:2012/06/06(水) 01:34:54.04
Player
HumanPlayer
ComputerPlayer
491デフォルトの名無しさん:2012/06/06(水) 01:39:51.70
↑に賛同
492デフォルトの名無しさん:2012/06/06(水) 01:39:53.69
「プレイヤーの意思決定ロジック部を抽出したもの」にPlayerという
名前を付けたらプレイヤーそのものはどうなってしまうんだ。
493デフォルトの名無しさん:2012/06/06(水) 01:41:42.86
プレイヤーそのものって何?
どういうコードが書かれるの?
494デフォルトの名無しさん:2012/06/06(水) 01:47:08.78
Brain
Human
CPU
495デフォルトの名無しさん:2012/06/06(水) 01:47:33.62
Strategyパターンということなので

humanPlayer = player.set意思決定(GUIで決める)
comPlayer1 = player.set意思決定(難易度:易の思考ルーチン)
comPlayer2 = player.set意思決定(難易度:激強の思考ルーチン)

みたいなの。
496デフォルトの名無しさん:2012/06/06(水) 01:49:50.39
あ、setterもあるかもしれんけど、

humanPlayer = new Player(GUIで決める)
comPlayer1 = new Player(難易度:易の思考ルーチン)
comPlayer2 = new Player(難易度:激強の思考ルーチン)

だ…
497デフォルトの名無しさん:2012/06/06(水) 02:00:04.89
humanPlayer = new HumanPlayer();
computerPlayer = new ComputerPlayer();

IPlayer player;
if(condition)
  player = humanPlayer;
else
  player = computerPlayer;
player.determinAction();
498デフォルトの名無しさん:2012/06/06(水) 02:11:43.00
player.determineAction();
499デフォルトの名無しさん:2012/06/06(水) 15:19:44.80
>>489
EngineとかBrainとかAgentとか?
Playerでもいいと思うけどね。人間の場合はHumanPlayer、コンピュータならComputerPlayerとかAutoPlayerとか。
500デフォルトの名無しさん:2012/06/06(水) 15:31:00.44
こういうところでPlayerを使うプログラムはしばしば見かけるよ
Playerのもっと相応しい使い所が他に有って取っておく必要があるなら他のにすればいいけど
501デフォルトの名無しさん:2012/06/06(水) 16:46:50.55
>>493
プレイヤー本人なのか、それともプレイヤーが操作するゲームトークン(プレイヤーキャラクター)なのか、
って違いかなあと認識した
502デフォルトの名無しさん:2012/06/06(水) 19:06:22.67
結局>>500
503デフォルトの名無しさん:2012/06/06(水) 22:28:14.94
まあ、そもそも戦略の切り替えとプレイヤーの切り替えは別のロジックのはずで、
それをごっちゃにしている>>489の話はちょっとおかしいと思う。

プレーヤーが状態(例えば将棋の持ち駒とか)を持つゲームを考える。
この時、>>489の考え方で作ると、ゲームの途中で指し手を人間からCPUに切り替える
ことがやりにくい。(できないことはないが)

オセロのようにプレーヤーが状態をもたないゲームの場合は、プレーヤーの側は
他から依存されない(メソッドを呼ばれない)のだからそもそもインターフェイスを
揃える必用がないような...
504デフォルトの名無しさん:2012/06/06(水) 22:45:10.60
オセロも将棋もプレーヤーが状態を持つかどうかは設計次第でどうにでもなる
どちらでも実現可能
505デフォルトの名無しさん:2012/06/06(水) 22:52:38.27
どういう読解力....
506デフォルトの名無しさん:2012/06/06(水) 22:53:04.10
ACharacter
- hp : int
- mp : int
- ownerPlayer : *APlayer

APlayer
- possessedCharacters : *Character[]

Player -> APlayer
- settings : ?

AIPlayer -> APlayer
- intelligenceLevel : int
- aimingCharacter : *ACharacter
507デフォルトの名無しさん:2012/06/06(水) 22:53:04.57
持ち駒は盤面の状態であって
プレーヤーに持たせたりなんかしない方がいい。
508デフォルトの名無しさん:2012/06/06(水) 22:54:28.51
そもそも例えが変
509デフォルトの名無しさん:2012/06/06(水) 22:56:17.50
だからどんな読解力だよ。
話のキモはプレーヤーが状態を持つかどうかの区別ではない。

それと、あるゲームがプレーヤーに状態を持たせずに実装可能であることは、
どんなゲームでもプレーヤーに状態を持たせずに実装可能、あるいはそれが最適な
実装方法であることを意味しない。
510デフォルトの名無しさん:2012/06/06(水) 22:59:47.88
設計力が乏しいからだな。
変な例を盛り込んでも論点をずらすだけ。
511デフォルトの名無しさん:2012/06/06(水) 23:05:45.61
506だけど、Character と Player に分けてみたよ
Character その対戦者が*ゲーム上で*持っているものを集めたクラス
Player はその対戦者の意思決定ロジック
APlayer から派生した2つのクラス Player と AiPlayer は、自分の所持しているCharacterを操作する
クラス名が Character であることが正しいかはそのゲームによるが、
Player がそれを操作するロジックであることは、名前から予想できるっしょ
512デフォルトの名無しさん:2012/06/06(水) 23:14:32.68
>>503
インターフェースを揃えた方が簡潔に書ける
他から依存もされるしメソッドも呼ばれるし
この手法はオセロでも有用
513デフォルトの名無しさん:2012/06/07(木) 01:41:25.30
Commander/Operator
514デフォルトの名無しさん:2012/06/07(木) 09:41:49.16
>>503の読解力がヤバイ
>>489は最初から最後までstrategyの切り替えの話しかしてないのに
515デフォルトの名無しさん:2012/06/07(木) 10:01:53.41
深読みして自爆するタイプって職場に3割ぐらいいる
516デフォルトの名無しさん:2012/06/07(木) 20:17:26.03
>>514
馬鹿だろお前
517デフォルトの名無しさん:2012/06/07(木) 21:22:07.63
そう悔しがるなゴミ
518デフォルトの名無しさん:2012/06/08(金) 16:15:29.30
E:\dirA\dirB\public_html\img\img.jpeg
の時、
E:\dirA\dirB
public_html\img
上記2つはどう記すべきですか?
parent_path ?
root_img_path ?
よろしくお願いします。

趣味で小さいツールを作り始めましたが、後で
ソースコード見てみると変数の名前が意味不明過ぎて…。
519デフォルトの名無しさん:2012/06/08(金) 16:21:47.97
パスの使い道は何?
520デフォルトの名無しさん:2012/06/08(金) 16:38:39.77
>>519 即レスありがとうございます。
E:\dirA\dirB は後で別な場所に動かしてもいいように、です。
D\dirC\dirD\dirE などに。

public_html\img も同様に
my_travel_1\img のようにです
521デフォルトの名無しさん:2012/06/08(金) 16:48:55.62
DocumentRootの上のディレクトリか
なんでそこで切るの?
522デフォルトの名無しさん:2012/06/08(金) 16:49:13.65
〜PathFirstPart
〜PathSecondPart
523デフォルトの名無しさん:2012/06/08(金) 16:52:12.77
E:\dirA\dirB\public_html

D\dirC\dirD\dirE\public_html
とか
E:\dirA\dirB\public_html

E:\dirA\dirB\my_travel_1
じゃだめなの?
524デフォルトの名無しさん:2012/06/08(金) 17:06:30.00
前半はウェブサーバのdocument rootとは違うんだろうけど
そのプログラムにとってはルートディレクトリの一種ではあるな
root directory
image directory
単純にこんなのでいいんじゃないか
525デフォルトの名無しさん:2012/06/08(金) 17:12:24.55
>>521
ここで区切ったほうが書きやすくなるかな、くらいな
理由です。

>>522
これわかり易くていいですね。

>>523
文字列が埋め込まれているのがなんとなく
気になりまして。でもそれなら定数でいいですね。

>>524
シンプルでカッコイイですね。使わせてください。


なんかよくわかってない奴が紛れ込んでしまって
すみませんでした。
レスいただいた方、ありがとうございました。
526デフォルトの名無しさん:2012/06/10(日) 10:18:32.50
ディレクトリとパスややいな。.NETだと、
Path.GetDirectoryName,Directory.GetParent
うーん
527デフォルトの名無しさん:2012/06/13(水) 07:50:50.97
プログラム入門用のサンプルを作らなきゃならなくなって、
極簡単な食券販売機をシミュレートするプログラムを作る事になった。

で、下記のデータの変数名を考えてるんだが、いまひとつ良い名前が思い浮かばない。
一応自分で考えた案も併記したんだけど、おかしくないかな?

・自分の財布にあるお金(myMoney)
・購入した食券のリスト(myTicket)
・販売機に投入されている自分のお金(enteredMoney)

あと、釣り銭レバーは change lever でいいの?
528デフォルトの名無しさん:2012/06/13(水) 09:18:02.75
pay(paid)かと思ったけど、これだと最終的に払った合計金額になっちゃうのかな
repaymentがユーザの払い戻し行動でrefund leverが釣り銭レバーとか
529デフォルトの名無しさん:2012/06/13(水) 12:13:45.99
「〜円のお預かり」に相当するのは deposit

自動販売機の保守マニュアルがあった。参考になるかも。
http://www.vendnetusa.com/Conlux/CCM5G_Series/CCM5G_Series_Manual/
530527:2012/06/13(水) 20:57:21.17
>>582
> pay(paid)かと思ったけど、これだと最終的に払った合計金額になっちゃうのかな

ODE見ると、pay には仕事や商品の「対価」として支払うイメージや、
合計金額というイメージが付いてる感じだった。

あと、ごめん、言い忘れてた。
販売機に投入されている自分のお金とかは変数なので、基本は「名詞」で考える。
まぁ形容詞もぎりぎりOKだから、品詞的には paid もOKだけど。

>>529
> 「〜円のお預かり」に相当するのは deposit

なるほど。

> 自動販売機の保守マニュアルがあった。
なんというピンポイントのマニュアルが公開されてるんだw
大いに参考になる、>>528 の後半の提案も含めて調べてみるよ。

ふたりとも、ありがと。
531527:2012/06/13(水) 20:58:47.52
すまん、マニュアルに興奮して安価ミスった
前半は >>528 へのレスね
532デフォルトの名無しさん:2012/06/15(金) 18:08:25.83
均等な幅の隙間でいくつかの図形が並べてある状態で
その、「幅の隙間」をなんといいますか?
533デフォルトの名無しさん:2012/06/15(金) 18:18:30.28
Margin
Padding
534デフォルトの名無しさん:2012/06/15(金) 18:28:13.97
ありがとうございます
535デフォルトの名無しさん:2012/06/15(金) 18:38:12.93
interval……は、ちょっと違うか
536デフォルトの名無しさん:2012/06/15(金) 19:05:07.48
幅の隙間って日本語でどういう意味?
537デフォルトの名無しさん:2012/06/15(金) 19:12:03.37
すみません隙間です
538デフォルトの名無しさん:2012/06/15(金) 19:50:10.94
gap
539デフォルトの名無しさん:2012/06/16(土) 03:20:11.99
540デフォルトの名無しさん:2012/06/16(土) 03:45:52.90
均等に並べてその隙間を指すならピッチになるんじゃね?
541デフォルトの名無しさん:2012/06/16(土) 03:46:33.69
・・・いやピッチは重心間の距離か
542デフォルトの名無しさん:2012/06/16(土) 06:19:05.67
>>540
隙間は均等だけど、図形が均等とは言ってないので pitch はちょっと違う気がする。
543デフォルトの名無しさん:2012/06/16(土) 08:30:29.93
■<->▲<->★<->●

↑の <-> の箇所なら gap でいいと思う

544デフォルトの名無しさん:2012/06/16(土) 13:34:07.75
HTMLのTABLEなんかを参考にまず概念を整理した方がいいだろうね。

まず図形を包含する最小の矩形領域MinRectと、MinRectを包含するMinRectより大きな
矩形領域CellRectを考える。

この時、CellRectとMinRectの同じ辺の間の距離がPadding。
CellRect1とCellRect2の間の「隙間」の距離がGapとかSpacing。

だからPaddingは上下左右の4つの値を持つ。
Gapは水平垂直の2つだけ。

こんな感じだと思う。
545デフォルトの名無しさん:2012/06/16(土) 13:44:13.77
Javaのレイアウトマネージャの用語も参考になるかもね。
546デフォルトの名無しさん:2012/06/16(土) 14:29:35.36
>>544
分かりやすい説明ありがとうございます!
CellRect間をイメージしておりました
Gapを利用したいと思います。
547デフォルトの名無しさん:2012/06/16(土) 14:34:38.38
どういたしまして
548デフォルトの名無しさん:2012/06/24(日) 03:16:44.68
フォームに特定の文字列を入力すると、その文字列を解釈して対応した処理(コマンド)が実行されるプログラムがあります。
実行の際、ユーザは引数(オプション設定)を与えることが出来るとします。

それぞれのコマンドは
 【1】オプションが必須
 【2】オプションを指定してはいけない
 【3】どっちでもいい(指定してなければデフォルト扱い)
の、どれであるかを列挙型(enum)で保持したいと考えています。

この時、【1】〜【3】の状態を表す名前、
およびこの状態を保持する変数名をお願いします。

ちなみに【1】は OPTION_NECESSARY、変数は optionRule にしようかなあと考えています。
549デフォルトの名無しさん:2012/06/24(日) 04:00:34.55
necessary
required
acceptable
unacceptable
forbidden
optional
acceptability
550デフォルトの名無しさん:2012/06/24(日) 05:56:55.13
optionType
optionStyle
551デフォルトの名無しさん:2012/06/24(日) 08:34:24.82
>>549-550
ありがとう
列挙型の方はrequired、forbidden、acceptableで、変数名はoptionStyleでやってみる!
552デフォルトの名無しさん:2012/06/25(月) 17:27:46.83
朝昼夜の総称をなんと呼ぶのでしょうか?
553デフォルトの名無しさん:2012/06/25(月) 18:56:26.92
>>552
day
エスパーするとtime zone, またはtime slot
554デフォルトの名無しさん:2012/06/25(月) 19:01:37.08
日本語では何と言ってる?
どういう場面で使う言葉?
555デフォルトの名無しさん:2012/06/25(月) 19:08:09.76
period
556デフォルトの名無しさん:2012/06/25(月) 19:08:57.10
「時間帯」じゃねぇの
557デフォルトの名無しさん:2012/06/26(火) 02:11:24.00
欲しいのは春夏秋冬に対する「季節」みたいな言葉ではないかとエスパー
558デフォルトの名無しさん:2012/06/26(火) 02:17:30.38
day portion とか day part とか day section とかかねぇ。
コンテキストは何だろう。勤務シフト管理とか?
559デフォルトの名無しさん:2012/06/26(火) 02:31:44.94
560デフォルトの名無しさん:2012/06/26(火) 02:39:24.21
"(a) day"
561デフォルトの名無しさん:2012/07/01(日) 02:16:20.09
C言語で「ポインタの配列からNULLな要素を切り詰めて先頭方向へ移動する」関数って何て名前が良いでしょうか
仮に func() という名前だとすると、例えば

MyStruct *ary[] = { ptr1, ptr2, NULL, ptr3, ptr4, NULL, ptr5, NULL };
func(ary, 8);

とすれば ary[] の中身が { ptr1, ptr2, ptr3, ptr4, ptr5, NULL, NULL, NULL } になるような関数です。
562デフォルトの名無しさん:2012/07/01(日) 04:39:06.46
zeroPaddingならぬnullPadding
563デフォルトの名無しさん:2012/07/01(日) 05:28:46.46
reduceArray
564デフォルトの名無しさん:2012/07/01(日) 06:16:37.76
整理する、と捉えてOrganizeとか
565デフォルトの名無しさん:2012/07/01(日) 07:04:30.81
move/shift non null (element to left)
gather/collect non null
566uy:2012/07/01(日) 07:19:55.26
eliteGomikuz
567デフォルトの名無しさん:2012/07/01(日) 07:55:14.40
remove(ary, NULL)
568デフォルトの名無しさん:2012/07/01(日) 12:41:45.06
>>567
NULL を取り除くわけではないだろ

align (FORWARD, ary)
569デフォルトの名無しさん:2012/07/01(日) 13:45:25.67
normalize
(「ノーマルな状態」を定義しておいて、それに準ずる形式にすること)
570デフォルトの名無しさん:2012/07/01(日) 14:08:17.83
>>561
CompactArray, DefragArray, PackArray, CompressArray
今の時代ならDefragが一番話が早いかも
571561:2012/07/01(日) 18:43:42.62
色んな案をありがとうございます、どれも参考になりました
用途としては散らかした配列を整理するためのものなので
organize,normalizeなどでも良かったのですが
それはそれで他の用途に使いそうな名前なので、処理内容のほうに近い名前を選びました
572デフォルトの名無しさん:2012/07/01(日) 19:00:53.51
処理内容の方に近い名前ってどれだよ
573デフォルトの名無しさん:2012/07/01(日) 19:35:02.95
どれでもいいだろ
突っ込んでやるなよ
574デフォルトの名無しさん:2012/07/01(日) 22:15:50.79
配列が散らかってしまう状況が読めない
575デフォルトの名無しさん:2012/07/01(日) 22:28:32.77
GCではよくあること
576デフォルトの名無しさん:2012/07/01(日) 22:30:29.98
そうなんだ
577デフォルトの名無しさん:2012/07/01(日) 23:45:53.33
>>574
散らかると言うか、穴だらけになるという方があってると思う。

配列要素の参照先が不要になって削除された場合、その配列要素もいらなくなるけど、
いちいち詰めたりしてたら大変だから、とりあえず null にしといて、適当な時期を見計
らって、一気に詰める処理を行うことはままある。
578デフォルトの名無しさん:2012/07/02(月) 13:37:26.54
>>561
sqlならvacuum
windowsならデフラグ
その他 rebuild, sort, pack, cleanup, compress, reallocation, reposition
579デフォルトの名無しさん:2012/07/02(月) 20:21:29.32
思いつくものがことごとく、空いた分を取り除いてしまうニュアンスがあって提案できんかった。
580デフォルトの名無しさん:2012/07/02(月) 21:18:24.54
>>579
提案できんかった報告はどうでもいいが、今まで提案された中で
空いた分を取り除いてしまうニュアンスを含むものがあるのなら、
指摘した方がいいのではないか?
581デフォルトの名無しさん:2012/07/02(月) 22:38:16.54
むしろもういいってw
これ以上何を議論しようっての
582デフォルトの名無しさん:2012/07/02(月) 22:40:09.42
>>579の今後の人生
583デフォルトの名無しさん:2012/07/03(火) 02:56:04.22
584デフォルトの名無しさん:2012/07/03(火) 09:55:07.21
fill forward
585デフォルトの名無しさん:2012/07/05(木) 11:23:06.83
sortNullsAndOthers
586デフォルトの名無しさん:2012/07/21(土) 23:32:06.33
測定機のプログラムで、
int voltage;//電圧を2V単位で代入する
と書きました。私は、電圧が2Vのときvoltage=1,4Vのとき2,...になるという意味で書いたのですが、
別の人に、「2Vのとき2,4Vのときは4で、1や3のような値は代入してはいけない」という意味にとられてしまいました。

どんな変数名やコメントにすれば誤解されにくいかアイデアはありませんか?
587デフォルトの名無しさん:2012/07/21(土) 23:41:54.38
>>586
voltage2x
588デフォルトの名無しさん:2012/07/21(土) 23:42:05.11
素直に
int voltage_code; // 2V ⇒ 1, 4V ⇒ 2, ... とする。
と書いておけばいいのでは?

ちなみに、「電圧を ... 代入する」って書いてあるんだから、俺もその別の人と同じ解釈する。
589デフォルトの名無しさん:2012/07/21(土) 23:43:03.17
>>586
 int voltage; // 電圧(2V単位, 1=2V, 2=4V, ...)
590デフォルトの名無しさん:2012/07/21(土) 23:45:39.20
>電圧が2Vのときvoltage=1,4Vのとき2,...になる

まだ意味不明なんだが
591デフォルトの名無しさん:2012/07/21(土) 23:46:21.53
ああ>>589見てわかった
592デフォルトの名無しさん:2012/07/21(土) 23:50:35.43
int voltage: //電圧。実際の電圧値の半分の値で持つ。
593デフォルトの名無しさん:2012/07/22(日) 00:14:24.29
>>586
アセンブラでゴリゴリに特定ハード向けに最適化されたコードを書いてるならともかく、
Cで書くようなコードなら変数にそんなミスリーディングな意味付けをすべきでない。

変数名がvoltageなら素直に電圧の値を表すべき。

偶数のみとか{2, 4, 10, 12}みたいに選択可能な値が限られるのなら、
セッターにするかenumを使う。
594デフォルトの名無しさん:2012/07/22(日) 12:00:48.75
bool値の名前に動詞を使うときは三単現にするという指針のようなものがありますが
https://github.com/search?q=%22usesCache%22&repo=&langOverride=&start_value=1&type=Code&language=JavaScript
↑「usesCache」で検索してもヒットするのは「use」ばかりです。
これってどう考えたらいいんでしょう?useは例外とかあるんですかね??
595デフォルトの名無しさん:2012/07/22(日) 12:05:54.66
> bool値の名前に動詞を使うときは三単現にするという指針

まずこの理由というか根拠が分らんな。
どういう意味が込められてるんだろ。
596デフォルトの名無しさん:2012/07/22(日) 12:20:16.50
>>593
> アセンブラでゴリゴリに特定ハード向けに最適化されたコードを書いてるならともかく、
> Cで書くようなコードなら変数にそんなミスリーディングな意味付けをすべきでない。

Cで特定ハード向けのコード書く仕事もあるんですよ。

まあ、C かも知れない状況で、セッターとか勧める人みたいだから、
自分の周りしか見えてないんだろうな。

て言うか、

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

ぐらい読め。
597デフォルトの名無しさん:2012/07/22(日) 12:20:37.39
>>595

bool値の変数名について書かれたサイトなどでは良く書かれていることなのですが
例えば以下のサイトではこうなっています。

http://www.okapiproject.com/java/java_codeconventions/jcc_naming.htm

2.9.4.boolean 変数を返すメソッド
boolean 変数を返すメソッドについては、「is + 形容詞」「can + 動詞」「has + 過去分詞」
「三単現(三人称単数現在)動詞」「三単現動詞 + 名詞」のいずれかの名称をつけます。
特に動詞は三単現以外の動詞は利用してはいけません。
また、true の場合がどちらであるか判別しやすい名前にするために通常は true の場合を名称にします。
598594:2012/07/22(日) 12:26:48.36
>>595
>> bool値の名前に動詞を使うときは三単現にするという指針
>
>まずこの理由というか根拠が分らんな。
>どういう意味が込められてるんだろ。

要は答えがyes/noの疑問文の形にしておけばtrue/falseの2値しか持たないことが主張できて良いという考え方だと思います。
で、動詞の場合はDoesで始めると冗長なのでそこは抜いて三単現動詞で始めると。
だけどuseはuseなのがさっぱり分からないので答えを求めて書き込みました。
599デフォルトの名無しさん:2012/07/22(日) 13:24:57.51
javaの命名規則なのになんでJavascriptで検索してんの?
600デフォルトの名無しさん:2012/07/22(日) 13:28:40.36
しかし変数やコメントだらけだな
メソッドが見当たらん
601デフォルトの名無しさん:2012/07/22(日) 13:33:25.06
useなんちゃらって変数や引数によく使われるけど
命名規則にあやふやな人がその勢いでメソッド名にまで使ってるだけじゃね
602594:2012/07/22(日) 13:35:19.69
>>599
このboolの話はべつにjavaに限った話じゃなく
googleで検索して出てきたやつがそれだっただけです。
603デフォルトの名無しさん:2012/07/22(日) 13:37:13.11
英語を母国語としている人達がどういう考えで
命名規則に「Boolean に動詞の原形はダメ、もしするなら三単現動詞」
という規則を入れているのか知りたかったのだが

boolean "third person singular" "naming convention" OR "naming rules"

これでググってもなかなかヒットしないな
604デフォルトの名無しさん:2012/07/22(日) 13:38:42.96
>>601
確かにそれもあるでしょうね。
でも他の単語、例えばhaveでhaveCache・hasCacheと検索しても
圧倒的にhasです。
https://github.com/search?q=%22haveCache%22&repo=&langOverride=&start_value=1&type=Code&language=JavaScript
605デフォルトの名無しさん:2012/07/22(日) 13:39:30.36
>>602
別にJavaに限らなくてもいいけど
その規則の元で書かれてないコードから探したって無意味じゃん
606594:2012/07/22(日) 13:43:34.63
607デフォルトの名無しさん:2012/07/22(日) 13:45:17.24
圧倒的つっても検索結果はコメントだらけなんだが
608デフォルトの名無しさん:2012/07/22(日) 13:47:42.67
なんかしらんが>>599でクスッときたw
前後関係読んでないけど、みょうにツボってしまったw
609デフォルトの名無しさん:2012/07/22(日) 13:48:11.63
>>607
usesCacheって使われてないからそのコメント部分がヒットしちゃってるってことですね
610デフォルトの名無しさん:2012/07/22(日) 13:49:46.63
Javaでも変数・引数・コメントだらけだな
メソッドがなかなか見つからん
これでどうやって判断したの?
611デフォルトの名無しさん:2012/07/22(日) 13:51:30.54
>>596
>まあ、C かも知れない状況で、セッターとか勧める人みたいだから、
>自分の周りしか見えてないんだろうな。

純Cでも構造体の値のセットのために噛ます関数や
別モジュールのグローバルやstaticの変数を弄るために存在する関数を
OOPみたくセッターと呼ぶ人はいるよ
612デフォルトの名無しさん:2012/07/22(日) 13:53:58.11
>>609
useCacheでも一緒
613594:2012/07/22(日) 13:54:55.18
↓のが分かりやすいですね
http://code.ohloh.net/search?s=%22usesCache%22&browser=Default
http://code.ohloh.net/search?s=%22useCache%22&browser=Default
usesだと64件、useだと10777件ですね。
614デフォルトの名無しさん:2012/07/22(日) 14:00:27.71
usesだと10件でuseだと86件か
615デフォルトの名無しさん:2012/07/22(日) 14:01:07.58
>>594 >>597
なぜその記事を書いた本人にまず質問しなのでしょうか?

[本サイトへのご意見、ご感想] のところに

> 本サイトに関することであれば、何でも OK です!
>
> ・コンテンツの感想
> ・コンテンツに間違いを見つけた
> ・コンテンツの内容に疑問がある
> ・こんな記事が読みたい
>
> などについてお問い合わせください。

と書いてあります。
今回の件はまさしく 「コンテンツの内容に疑問がある」 ではないでしょうか。
もしかしたら use(あるいはその他にもあるか)は例外かもしれないのですから。

もう質問した後で、返事がなかなか来ないからここで質問したというのでしたら、
ごめんなさい、余計な事でした。
616デフォルトの名無しさん:2012/07/22(日) 14:04:44.78
>>615
まあそれも一つなんでしょうけども、同様に書いてあるところは無数になります。
というよりuseのことに書いてあるところが見つからないのでここで聞いてみた次第なのですが。
617デフォルトの名無しさん:2012/07/22(日) 14:07:09.76
>>616
同様に書いてあるところが無数にあるのでしたら、
いくつかランダムにピックアップして著者(管理者)に訊いた方が、
より確実な情報が得られると思いますが、どうでしょうか。
618デフォルトの名無しさん:2012/07/22(日) 14:12:21.04
>>596
本当に変数の値を1/2にするコスト(整数だから1回右に算術シフトするだけ)
すら惜しむ必要があるのならCを使うのは矛盾してる。
馬鹿かお前。
619594:2012/07/22(日) 14:20:05.51
>>617
useうんぬんについて書いているサイトがあるならそれもごもっともなんですけどね。

どなたかこの件について知っている方がいればレスをお願いいたします。
別に急ぎでもないし、前からずっと疑問に思っていたことなので。
620デフォルトの名無しさん:2012/07/22(日) 14:23:24.24
QTだと逆に三単現使うなって規則があるな
621デフォルトの名無しさん:2012/07/22(日) 14:29:13.22
命令的なニュアンスで書いてるんでしょ
622デフォルトの名無しさん:2012/07/22(日) 14:30:58.23
関数(メソッド)名でのuseCacheとusesCacheは異る物を示すことに注意すること。
useCacheはキャッシュを使用するように要求する(bool引数でon/off切替えのケースもあり)
usesCacheはキャッシュを使用状態にあるのかを問い合わせる。
でも、大抵の場合どちらも使わない。(引数名ならよくある)

何故か。
それはキャッシュ無しバージョンのクラスを作って、それにキャッシュ機能をもつクラスをかぶせるよう作るからである。
623uy:2012/07/22(日) 14:33:21.35
おっと、名前欄忘れてた
624デフォルトの名無しさん:2012/07/22(日) 14:35:25.01
hasChild は意味的に「子ノードを持っているか?」となりますが
useCache は「キャッシュを使うか?」じゃなくて「キャッシュを使え」というニュアンスが込められているように感じます。
625622:2012/07/22(日) 14:37:04.34
>>623 名前欄以前にお前要らないから。帰れ。
626デフォルトの名無しさん:2012/07/22(日) 14:39:27.92
>>624
いや意味不明なんですがw
恐らくそんな邪推するような深い意味なんてない。
たまたま現状の分布がそうなってるだけ。

要するに「キャッシュを使うかどうか」を表す値が必要になるような分野では
三単元でbool値を表す作法が一般的な言語はあまり使われないんだろう。
627デフォルトの名無しさん:2012/07/22(日) 14:46:15.48
後ろに続く単語が何であれusesにならないんですよね。なぜか。
http://code.ohloh.net/search?s=%22useIE%22&browser=Default
例えばIEを使っているかどうかというbool値でuseIEだと25件、これがusesIEだと0件になります。
628デフォルトの名無しさん:2012/07/22(日) 14:55:10.33
>>626
>要するに「キャッシュを使うかどうか」を表す値が必要になるような分野では
>三単元でbool値を表す作法が一般的な言語はあまり使われないんだろう。

そうとも言えないと思うのが、javaに限定しても14対1642でuseCacheなんですよ。
http://code.ohloh.net/search?s=%22usesCache%22&fl=Java
629デフォルトの名無しさん:2012/07/22(日) 15:01:38.67
>>619
ですから、>>597 であなたが示したサイトの管理者に、
「Boolean 値の動詞は三単現動詞を使うと書いてありますが、
use の場合も三単現動詞を使うのですか? ネット上に実例が見当たらないです。
これは例外なのですか?」 と質問すればいいと思うのですが。

言っておきますが、ここで質問する事じゃないと言ってるわけではありませんよ。
ここで質問しつつ、解答に時間がかかってもいいのでしたら、
命名規則を書いたサイト管理者にも訊いてみた方が良いのでは? と言っています。
先に管理者からの結果が得られれば、ここに報告すればいいですし。
(もちろん管理者に許可を得てからですが)

かたくなに拒む理由がよく分らない。
630デフォルトの名無しさん:2012/07/22(日) 15:08:26.20
>>629
確かにおっしゃる通りですね。
建前ばかり言ってても仕方ないのでぶっちゃけて言うと2chだと気軽に聞けても
サイト管理者に聞くというのが億劫、というのが本音です。
でもここで答えが得られずまたこの先ももやもやするということになったら考えます。
どうもありがとうございます。
631デフォルトの名無しさん:2012/07/22(日) 15:11:14.33
useXXXってのは今では単なる習慣だし。
もともとは命令形から来たものだけど。
632デフォルトの名無しさん:2012/07/22(日) 15:41:21.41
>>628
確かに奇妙だね。
あえて理由を推測すると、

 - usesCacheよりuseCacheの方が1文字短い

 - それでいて、useCacheでも十分意味が通じる。

こんなとこ?
633デフォルトの名無しさん:2012/07/22(日) 15:43:41.06
>>611
> OOPみたくセッターと呼ぶ人はいるよ

で、それが何の前提もない状況で伝わるとでも?

もう少し、人とコミュニケーションとれるように努力しようよ。
634デフォルトの名無しさん:2012/07/22(日) 15:43:42.04
>>631
命令形というのはたとえば"getSize"のようなことですかね。
こういう関数の名前では命令形で原形というのはわかるのですが
useCascheなりuseIE、というのでは三単現のsが付けて他の動詞と同様に統一した方が
ああbool値なんだなというの分かりやすいと思うんですよね。
635デフォルトの名無しさん:2012/07/22(日) 15:45:12.03
>>628
Javaに限定するならなんでメソッドに限定しないの?
636デフォルトの名無しさん:2012/07/22(日) 15:45:47.65
>>634
だから習慣
637デフォルトの名無しさん:2012/07/22(日) 15:47:47.69
そういや過去スレでget/set論争もあったな
638デフォルトの名無しさん:2012/07/22(日) 15:54:56.13
俺も昔、同じことで困っていたな

○ContainsHoge(Hogeを含んでいれば)
?UsesHoge(Hogeを使用するのであれば)
?UseHoge(Hogeを使用するのであれば)

C++でもC#でもJavaでもUseを使っているものが大多数だが、俺は単純にルールを守るために Uses を使う

三単現使うっつーのはObjective-Cのコーディング規約でもあるぞ
これはgoogleでも使われている
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html#//apple_ref/doc/uid/20001282-BCIGIJJF
639デフォルトの名無しさん:2012/07/22(日) 15:57:10.22
>>635
今更ですがよく使う言語はCなんです。
で、変数の命名規則のことを調べてたら上記の指針を見つけてこれはいいなと
思っていたのですが、確かTwitterでuseはなんでusesにならないんだとつぶやいている人が
いて、それ以来何故なんだろうと疑問に思っていました。
で、さっきそれについて情報を探していたらこのスレッドを見つけたので書き込んだ次第です。

>>636
ではbool値の変数で他にも例外となる変数はあったりします?
useだけ付けないという習慣ですか?
640デフォルトの名無しさん:2012/07/22(日) 16:03:02.49
Javaでも規則になってるのはメソッドだけなのに
なんで変数含めた命名規則にJavaを持ち出すの?
641デフォルトの名無しさん:2012/07/22(日) 16:08:23.72
>>639
例外じゃなくて
もともと規則が無いところに存在する習慣
642デフォルトの名無しさん:2012/07/22(日) 16:08:53.53
>>598
疑問文じゃなくて、 if (obj.isXXX) ... て書いた時に条件部が現在形のふつうの文になるように
決まってるんだろ。
643デフォルトの名無しさん:2012/07/22(日) 16:12:21.21
>>640
すみません、それは引用ミスでした。
javaではメソッド名&変数名のどちらもbooleanの場合は↓のようになります。

http://www.okapiproject.com/java/java_codeconventions/jcc_naming.htm

2.9.4.boolean 変数を返すメソッド
boolean 変数を返すメソッドについては、「is + 形容詞」「can + 動詞」「has + 過去分詞」
「三単現(三人称単数現在)動詞」「三単現動詞 + 名詞」のいずれかの名称をつけます。
特に動詞は三単現以外の動詞は利用してはいけません。
また、true の場合がどちらであるか判別しやすい名前にするために通常は true の場合を名称にします。

2.10.1.boolean 変数名
boolean 型の変数名については boolean 変数を返すメソッドの命名規則(2.9.3)に準ずるものとします。
644デフォルトの名無しさん:2012/07/22(日) 16:13:31.56
>>642
何言ってんの?w
645デフォルトの名無しさん:2012/07/22(日) 16:14:37.78
useほど頻度は多くないけどshowとかenableとかforceとかmakeなんかも
動詞の原形の変数名がbool値を持つ例が有る
646デフォルトの名無しさん:2012/07/22(日) 16:16:56.36
>>643
>命名規則(2.9.3)に準ずる
と書いてるのになんで2.9.4を引用してるの?
647デフォルトの名無しさん:2012/07/22(日) 16:19:18.53
>>646
どうでもいいことで絡むなって馬鹿が
648デフォルトの名無しさん:2012/07/22(日) 16:20:05.12
>>647
失せろゴミ
649デフォルトの名無しさん:2012/07/22(日) 16:20:55.92
>>boolean 型の変数名については boolean 変数を返すメソッドの命名規則(2.9.3)に準ずるものとします。
メソッド名 IsEmpty に対応する変数名は isEmpty なのか
(変数名は empty は)いかんの?

っつーかbool型のメソッド名に対応する変数名も俺は論議した方がいいと思う
650デフォルトの名無しさん:2012/07/22(日) 16:22:09.48
>>646
多分そこはサイトの誤記です。

http://www.okapiproject.com/java/java_codeconventions/jcc_naming.htm

2.9.3.属性の取得・設定メソッド
一般的に「ゲッター、セッター」「アクセサメソッド」と呼ばれている JavaBeans の構成要素となるメソッドです。取得メソッドでは先頭に get をつけ、設定メソッドでは set をつけたものとします。通例として取得メソッドには引数はなく、設定メソッドに引数を持ちます。
651デフォルトの名無しさん:2012/07/22(日) 16:24:52.16
やっぱり「習慣」で済む話だな
Javaみたいに標準的な規約の無いCならなおさら
652デフォルトの名無しさん:2012/07/22(日) 16:25:46.30
>>638
>俺も昔、同じことで困っていたな

おお、同志ですか。ありがとうございます

>○ContainsHoge(Hogeを含んでいれば)
>?UsesHoge(Hogeを使用するのであれば)
>?UseHoge(Hogeを使用するのであれば)
>
>C++でもC#でもJavaでもUseを使っているものが大多数だが、俺は単純にルールを守るために Uses を使う

いまのところはそれがいいかなと自分では思っています。
例外作るとややこしいですし。

>三単現使うっつーのはObjective-Cのコーディング規約でもあるぞ
>これはgoogleでも使われている
>https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html#//apple_ref/doc/uid/20001282-BCIGIJJF

英語ですねw
後で見てみます。
今回のこの件も英語で情報を探せば見つかるんでしょうね、多分。
653デフォルトの名無しさん:2012/07/22(日) 16:29:22.85
>>644
http://stackoverflow.com/questions/10819664/why-equals-method-is-third-person-singular

ここに似たような意味(英文として無理がない、気持ちよい)の返答がある。
654デフォルトの名無しさん:2012/07/22(日) 16:29:33.01
>>652
多分ね、次はイベントハンドラ関連の命名方法で迷うことになる
655デフォルトの名無しさん:2012/07/22(日) 16:42:55.30
命名規則について気にし出したのはリーダブルコードという最近の本を読んだからです。
この本に”ブール値の変数名は、頭にis, has, can, shouldなどをつけて分かりやすくすることが多い”
と書かれており、は〜なるほどなとググってみたのがきっかけです。
(これについて本に書かれている情報は結構少ない、約1ページ)

ちなみに今読み返してみたらコード例に
bool use_ssl = true;
とやはりuseが使われていました。
656デフォルトの名無しさん:2012/07/22(日) 16:44:29.70
>>653
厚かましいお願いですが、ざっくりで構わないんで要約して頂けませんでしょうか?
657デフォルトの名無しさん:2012/07/22(日) 16:50:26.87
消防か?そんくらい読めよ
658デフォルトの名無しさん:2012/07/22(日) 17:02:15.42
>>656
[質問]
equals ってなんで三単現動詞なの?

[回答]
Equals は引数を取って Boolean 値を返すんだよ。
で、一般な的には次のように使うんだ。
if(a.Equals(b)) {}
意味的に分りやすいよね、美しいよね。


>>642 のように「ふつうの文になるように」という事を意図するのは、
>>644 が笑い飛ばすほどおかしな事ではないと思う。
659デフォルトの名無しさん:2012/07/22(日) 17:25:55.44
>>644 は、単なるアホでしょ。
660デフォルトの名無しさん:2012/07/22(日) 17:40:51.49
644って質問者では
661594:2012/07/22(日) 18:06:00.37
>>660
違います。
荒れて話が流れてしまうようなことはしたくありません。
何でここってID出ないんですかね。
662594:2012/07/22(日) 18:11:05.04
>>658
ありがとうございます。

Cでも(というか何の言語でも)この命名規則がいいなと思うのは
コードが文章を書いている風になって読む人(未来の自分を含む)に優しいからですね。
663デフォルトの名無しさん:2012/07/22(日) 18:14:08.04
動詞の主語を関数名に入れたり、あるいは引数に入れなきゃならない場合もあるけど、
そういう時に三単現にするべきかどうか迷う。

foo.equals(bar) じゃなくて、 equalsFoo(bar) とか equals(foo,bar) みたいなやつ。
664デフォルトの名無しさん:2012/07/22(日) 18:17:14.68
>>662
母語の人にとっては読みやすいらしいよ。
自分みたいに、せいぜい頑張れば読める程度の人間だと、そこまでメリットを感じないけど。
665デフォルトの名無しさん:2012/07/22(日) 18:19:09.65
もはや日本語プログラミングはネタみたいなもんだしな
666デフォルトの名無しさん:2012/07/22(日) 18:26:30.71
>>660
笑いながら質問するのか。

それはそれで、アホと言われてもしょうがないだろ。
667デフォルトの名無しさん:2012/07/22(日) 18:28:18.26
>>659
どこがどうアホか言ってみな。

ついでに、なぜ三単現のsを使うかって話をしてる時にisXXXがどうとかトンチンカンなことをいってる
>>642の意味もね。
668デフォルトの名無しさん:2012/07/22(日) 18:29:50.11
>>663
それだったらequalsFooの三単現に一票ですね。
基本は三単現でいいと思うんです。

ややこしいのがuseが例外なのか何なのか?
他にも例外はあるのか?
あと変化しない動詞(http://cosmos.nobody.jp/grammar/irregular_verbs_list_AAA.html
の場合はちょっと分かりにくいなということです。
まあそういう単語は避けて類義語を使うようにした方がいいんでしょうね。
669デフォルトの名無しさん:2012/07/22(日) 18:30:22.05
スレの流れも追えない「アホ」出現 (w
670デフォルトの名無しさん:2012/07/22(日) 18:33:10.94
>>667 isも三単現だし、594-は「〜のs」なんて限定してないし
671デフォルトの名無しさん:2012/07/22(日) 18:41:02.50
>>668
変化が特殊なのはともかく、変化しないのは困るよなー。

例えばsetDataという名前があったとして、どう考えても「データをセットする」にしか読み取れず、
「データがセットされているか」や「セットされたデータそのもの」は別の名前にしなきゃならないだろうから。
672671:2012/07/22(日) 18:43:05.70
あ、ごめんちょっと寝ぼけてた
673デフォルトの名無しさん:2012/07/22(日) 18:46:05.09
>>671
そうですね。
違う単語を使うか、あるいはhasSetData(has + 動詞)とかがいいんですかね。
674デフォルトの名無しさん:2012/07/22(日) 18:50:21.58
>>670
なるほどwwww
>>642が何言ってるか今頃分かったよw
すまんかった
675デフォルトの名無しさん:2012/07/22(日) 19:08:42.81
ゲームの「リザルト画面」って英語では何て表現するのでしょうか?
result screen だとリザルト用に普段のスクリーンとは全く別のスクリーンがあるみたいな感じがして何か違う気がするんですが…
676デフォルトの名無しさん:2012/07/22(日) 19:16:26.74
677デフォルトの名無しさん:2012/07/22(日) 19:26:54.83
>>645
>useほど頻度は多くないけどshowとかenableとかforceとかmakeなんかも
>動詞の原形の変数名がbool値を持つ例が有る

ほんとですね。
"boolean showResult"で検索してみたら
http://code.ohloh.net/search?s=%22boolean%20showResult%22&browser=Default&filterChecked=false
s付きだと0件、原形だと80件ですね。
678デフォルトの名無しさん:2012/07/22(日) 19:41:48.50
http://code.ohloh.net/search?s=%22boolean%20enableCache%22&browser=Default&filterChecked=false
"boolean enableCache"だとs付き0件で、原形81件

こんなに例外があるならやっぱりその例外になるルールが知りたいところです。
679デフォルトの名無しさん:2012/07/22(日) 19:50:53.00
ゲッター系のメソッドに限り三単現なんじゃないの。
680デフォルトの名無しさん:2012/07/22(日) 19:52:54.33
>>661
そう思うんだったら常に酉かコテ付けろよ
681デフォルトの名無しさん:2012/07/22(日) 20:00:05.89
別の規則が作られたところでも使い続けてるから例外になってるけど
もともと例外でも何でもなくそれだけ広く使われてきた慣習と言うこと
どういうルールがあるかと言えば慣習に合致するものとしか言い様が無い
682デフォルトの名無しさん:2012/07/22(日) 20:12:06.75
そりゃ慣習知らないようじゃ分析もできないわな
ただでさえ英語もわかってないのに
683594:2012/07/22(日) 21:21:33.28
>>681
慣習というならソースをお願いします。
参考にしたいので。
684594:2012/07/22(日) 21:27:06.93
それとuse以外の例外リストのようなのもあればお願いいたします。
685デフォルトの名無しさん:2012/07/22(日) 21:29:01.22
>>680
すみません。専ブラ入れてないので何度か名前入れ忘れてますね。
ごめんなさい。
686594:2012/07/22(日) 21:29:54.88
言ってるそばから。。。
687デフォルトの名無しさん:2012/07/22(日) 21:42:46.33
>>683
広く使われてる事実を目の前に何のソースが欲しいのか
慣習でなければ何だよ
688デフォルトの名無しさん:2012/07/22(日) 21:47:08.00
別の規約に基づいてる可能性がある、とかじゃね
689デフォルトの名無しさん:2012/07/22(日) 21:55:22.65
ちゃかす訳ではなく真面目な話、英語圏の掲示板で聞いてこいよ
http://stackoverflow.com/

もう 2ch で聞いてもらちがあかない段階だと思うぞ
690594:2012/07/22(日) 22:12:21.85
>>689
確かに。そんな感じですね。

仮に慣習化されてるなら”ただしuseは○○のため除く”というようなことが
文言として文章化されてて当然だと思って聞いてみたけど無駄みたいですし。

とはいえ英語圏で聞けるなら2chで聞いてないんですが。
まあしばらくこのスレ見てるので何か知ってる人がいらしたら
よろしくお願いします。
691デフォルトの名無しさん:2012/07/22(日) 22:22:12.16
情報もらっておいて相変わらず舐め腐った態度だな。
692594:2012/07/22(日) 22:27:58.92
今更気付いたか低能
693デフォルトの名無しさん:2012/07/22(日) 22:29:55.54
>>692
死ね
694594:2012/07/22(日) 22:30:47.74
>>691
あなたから情報もらいましたっけ?慣習ってやつ??
どうもしっくりこないんですよね、それ。
695594:2012/07/22(日) 22:33:28.99
意味ないと思うけど692は私じゃないですので。
一応書いておきます。
低脳とか馬鹿とかそういう言葉を人に使いません。
イヤミを言いたくなることはあっても。
696デフォルトの名無しさん:2012/07/22(日) 22:37:20.08
慣習でないなら何?
697デフォルトの名無しさん:2012/07/22(日) 22:40:24.21
>>695
いいから死ね
698594:2012/07/22(日) 22:49:52.60
>>696
それが知りたいから書き込んでるんですよ。
慣習なら慣習でいいんですけど、use以外にどういうのがあるんです?
699デフォルトの名無しさん:2012/07/22(日) 22:51:44.56
>>698
死ね
700デフォルトの名無しさん:2012/07/22(日) 22:53:24.04
show
701デフォルトの名無しさん:2012/07/22(日) 22:53:59.39
>>695
いっても無駄ほっとけって。

useの場合だけ原型を使うなんて習慣はないでしょ。
現にusesとかusingを使ってる人もいる。

>>628のリンク先を見ると、useCacheという名前は変数名として使われている例が多い。
三単現を使うそもそもの動機が>>642の言うとおりのものなら、この場合三単現を使う理由はないわけだし。
702デフォルトの名無しさん:2012/07/22(日) 22:58:44.20
useの場合だけ原形を使う習慣があると誰か言ってたのか。
703デフォルトの名無しさん:2012/07/22(日) 23:00:34.76
そんな慣習ねーだろ
自分の作りだした幻想に反論してんじゃねーよ
704594:2012/07/22(日) 23:03:34.35
>>702
631,636,641,651,681,687,696さんあたりが「習慣」「慣習」の一点張りですね。
705594:2012/07/22(日) 23:05:07.49
useの場合だけ、とは特に名言してないか。
706594:2012/07/22(日) 23:18:04.42
ヤフーニュースの
http://headlines.yahoo.co.jp/hl?a=20120721-00008750-techcr-sci
を読んで知ったのが
http://code.ohloh.net/
のコード検索サービスです。

この検索サービスで調べる限りbool値にusesではなく圧倒的に原形のuseを使っていています。

逆に"bool containsKey"で検索してみると4対2011でs付きの方が多いんです。
http://code.ohloh.net/search?s=%22bool%20containsKey%22&browser=Default
707594:2012/07/22(日) 23:22:38.57
そして645に書かれているshow/enable/force/makeもuseと同様の傾向があるようです。
これらについて情報をお持ちの方がいらっしゃいましたらよろしくお願いいたします。
708デフォルトの名無しさん:2012/07/22(日) 23:32:08.58
>>706
だから、しつこいようだがメソッドの名前と変数の名前の違いということで
一応説明がつくんじゃないの?
709デフォルトの名無しさん:2012/07/23(月) 01:02:57.66
単にそのオブジェクトの状態、状況を表すものなら、
「そのオブジェクトは〜か?」って感じで、主語より三単現になるが、

指示されたことを単にフラグとして持ってるものなら、
特に主語付きでもないので(あるとしたらそれを指示した貴方自身)、原形を使ってる

とか妄想
710デフォルトの名無しさん:2012/07/23(月) 01:20:02.35
特に、動作を表す動詞については
その現在形を使うことは、日ごろの習慣をあらわすことになるので
使うのに疑問を持つのかもしれん。
711デフォルトの名無しさん:2012/07/23(月) 03:14:28.04
>>676
意外とscreenって意味広いんですね、タイトル画面もtitle screenみたいですし。
「screen=モニタの表示部分」みたいなイメージ持っちゃってましたが、杞憂でした。
712デフォルトの名無しさん:2012/07/23(月) 06:19:37.97
>>701=アホ
713594:2012/07/23(月) 08:06:23.75
>>708
すみません、どういうことなんでしょう?
javaの命名規則に従うならメソッドも変数名も同じく動詞で始める場合は
三単現になるという理解ですから、その2つで違いがあるというのがよくわかりません。

>>709
そのときの主語等の状況で原形になるというのはちょっとありそうなんですが
useの場合は大体どんな状況でも原形で使われてそうなんですよ。

>>710
そうかもしれないけど、原形の割合が多すぎるのがどうも気になりますね。
714594:2012/07/23(月) 08:14:16.75
>>701
>>>628のリンク先を見ると、useCacheという名前は変数名として使われている例が多い。
>三単現を使うそもそもの動機が>>642の言うとおりのものなら、この場合三単現を使う理由はないわけだし。

動機ってのはif文にしたとき文章に近くなる、ってやつですよね。
if does hoge なら原形のままでいいと思うんですが、bool値命名のルールではdoesはいちいちつけないため
if hoges と三人称単数現在にする、と。だからuseも三単現になるべきだと思うんですが。
715デフォルトの名無しさん:2012/07/23(月) 10:44:25.09
>>683
ソースがあったら つまり
>>690
文言として文章化されて たら、もう規則じゃないの?
ないから慣習だとおもうよ
716デフォルトの名無しさん:2012/07/23(月) 12:53:48.26
>>714
use の事は私もまだ分らないから言及しないが、

> bool値命名のルールではdoesはいちいちつけないため
> if hoges と三人称単数現在にする

if文にしたとき文章に近くなる事を考えるなら、理由が違うだろ。

訳してほしいとのことだったから暇を見て >>658 に訳したわけだが、読んでないのか?
(依頼は君じゃなかったっけ?)

Equal なら if(a.Equals(b)) となるから Equals だ。
if AAA equals BBB, ...

does を省略したから Equals になってるわけじゃなく、元々 does は不要だ。
does を付けたら無駄に強調されてしまうだろ(強調の do + 動詞の原型)。
717594:2012/07/23(月) 18:52:45.73
>>716
>if文にしたとき文章に近くなる事を考えるなら、理由が違うだろ。
>
>訳してほしいとのことだったから暇を見て >>658 に訳したわけだが、読んでないのか?
>(依頼は君じゃなかったっけ?)

私です。拝読しました。ありがとうございます。

>Equal なら if(a.Equals(b)) となるから Equals だ。
>if AAA equals BBB, ...
>
>does を省略したから Equals になってるわけじゃなく、元々 does は不要だ。
>does を付けたら無駄に強調されてしまうだろ(強調の do + 動詞の原型)。

その通りですね。私があほでした。
通常のきちんとした英文だとdoesが必要という意味のわからない勘違いを
していました。すみません。。
718594:2012/07/23(月) 19:31:09.34
結構しっくり来るbool値での原形/三単現の選択法にたどり着いたように思うので書いておきます。

それは「しろ」を付けて命令文にして意味が通るか?
・通れば→原形
・通らない→三単現

例えば
use cache なら、cacheをuseしろ(=使え) → ○ → 原形
use ssl ならsslをuseしろ → ○ → 原形
show result ならresultをshowしろ → ○ → 原形
contain key ならkeyをcontainしろ → × → 三単現
delete node ならnodeをdeleteしろ → ○ → 原形
have childならchildをhaveしろ → × → 三単現

こんな感じです。どうでしょうか?
719594:2012/07/23(月) 19:36:06.62
なのでtrimやbeautifyといった動詞も原形になるっぽいですね。
720デフォルトの名無しさん:2012/07/23(月) 19:41:56.11
これまで出た意見を無視して突然まとめに入りました
皆様、お疲れ様でした
721デフォルトの名無しさん:2012/07/23(月) 19:45:52.51
ほうほう

ところで、RPGのキャラクターを示すクラス「Character」のメソッドとして、そのキャラクターにアイテムを使わせるメソッドを用意したいんだが、
メソッドの名前はどうしたらいいんだ?

俺なら UseItem() と命名するだろうが、これはbool値を返すメソッドに見られてしまうのだろうかるのだろうか
722デフォルトの名無しさん:2012/07/23(月) 19:51:41.60
have childならchildをhaveしろ → × → 三単現

ttp://dictionary.goo.ne.jp/leaf/ej3/39157/m0u/
の13とか22とか…
723デフォルトの名無しさん:2012/07/23(月) 19:55:01.21
>>721
そんなのシグニチャなりコメントなり見ればいいだろ
724594:2012/07/23(月) 19:57:27.58
>>720
気分を害したようなら謝りますが、無視しているつもりはないです。

まとめじゃなくてこうじゃないかなと思いついて検索してみたところ
こうじゃないかなと思って書きました。
725デフォルトの名無しさん:2012/07/23(月) 19:59:04.50
結局>>631が正解か
726デフォルトの名無しさん:2012/07/23(月) 19:59:56.31
>>621にも有った
727デフォルトの名無しさん:2012/07/23(月) 20:02:12.65
>>622もだな
728デフォルトの名無しさん:2012/07/23(月) 20:17:36.12
何か気づいたような口振りだけど何も新しい事出て来てないよね。
729デフォルトの名無しさん:2012/07/23(月) 20:20:27.26
>>718
contain は命令形としても使えますよ
730594:2012/07/23(月) 20:21:17.06
>>725-727
私が書いたのが正解なのかは分かりませんが同じ意見ということになりますね。
731デフォルトの名無しさん:2012/07/23(月) 20:21:53.38
意味が通るかどうかじゃなくて意図と合致するかだね。
732デフォルトの名無しさん:2012/07/23(月) 20:24:05.95
>>729
たしかにそうですね。

だけどcontain_keyっていう変数がキーを含めろって意味には
ならないと思いますがどうですか?
733デフォルトの名無しさん:2012/07/23(月) 20:24:49.81
なるよ
734594:2012/07/23(月) 20:25:00.82
>>731
たしかに。

732は私です。
735デフォルトの名無しさん:2012/07/23(月) 20:28:42.95
英語勉強したら?
736デフォルトの名無しさん:2012/07/23(月) 20:30:18.63
>>728
useは原形でいいとして、動詞で始めるbool値を作るときに
どうするのかという指針に>>718はなり得るんじゃないかとおもうんですが。
737デフォルトの名無しさん:2012/07/23(月) 20:30:54.17
>>732
変数なら命令ならないと思うが、関数ならなると思う。

同様に、use_cache という変数ならならないと思うが、関数ならなると思う。
738594:2012/07/23(月) 20:31:05.29
>>735
はは、それはその通りですね。
739594:2012/07/23(月) 20:35:44.80
>>737
変数でもuse_cacheという関数の引数などで
キャッシュを使えという意味でおかしくないと思うんですが、どうでしょう?
740デフォルトの名無しさん:2012/07/23(月) 20:38:21.08
>>739
君がそれで納得するならそれでいいのでは。
741デフォルトの名無しさん:2012/07/23(月) 20:42:54.24
>>739
日本語がやや曖昧だな。

その文で use_cache というのは変数だな?
その文の中の「関数」というのは例えばどういう関数だ?
その関数と use_cache 変数をどう組み合わせて使う事を想定している?

contain_key という変数がキーを含めろという意味で使える関数は作れないのか?
作れるけど違和感があるという意味か?
742デフォルトの名無しさん:2012/07/23(月) 21:03:23.77
use_cache(bool)
743デフォルトの名無しさん:2012/07/23(月) 21:12:30.40
>>742>>594 ではないよな?

紛らわしいから、できる事なら他の人が勝手に答えないでほしいんだが
744デフォルトの名無しさん:2012/07/23(月) 21:14:12.13
そいつはすまん
745デフォルトの名無しさん:2012/07/23(月) 21:25:16.21
>>714 (というか594の人)
なんか話が通じてないと思うんだけど、俺がいいたいのは要するに変数名については
bool値を表すものであっても三単現を使う理由がないということ。
三単現を使う積極的な理由があるのはメソッド名のみ。

useCacheのヒット数がusesCacheより多いのは、useCacheという名前が変数名として
多く使われているからであって、必ずしもメソッド名としてusesCacheより好まれているからではなさそう。>>628

変数名については三単現を使う積極的理由がないのは、メソッド名の場合は

hoge.usesCache()
は、
Hoge uses cache.

という命題(命題という表現を使った意味はよく考えて欲しい)を表す英文として読み下せるのに対し、
変数名の場合はそうはいかないから。

しつこいけど、習慣だって意見は眉唾だと俺は思うなやっぱり。
命令云々は正直もっと怪しい。
746デフォルトの名無しさん:2012/07/23(月) 21:31:05.66
強制的な規則が無ければ自動的に習慣って事になる
747549 ◆oNDwwYxU8552 :2012/07/23(月) 21:31:49.83
>>743
トリップつけます
748 ◆oNDwwYxU8552 :2012/07/23(月) 21:36:51.78
>>741
>>>739
>その文で use_cache というのは変数だな?
>その文の中の「関数」というのは例えばどういう関数だ?
>その関数と use_cache 変数をどう組み合わせて使う事を想定している?

ネット上からデータを取得する関数で、use_cacheがtrueの場合は
一度目はネットから、二度目以降はキャッシュから値を読むというような感じですかね。

>contain_key という変数がキーを含めろという意味で使える関数は作れないのか?
>作れるけど違和感があるという意味か?

作れると思います。
ただ実際のプログラムで使うときはキーを含んでいるかどうかというbool値として
contains_keyという名前になると私は思います。
749 ◆oNDwwYxU8552 :2012/07/23(月) 21:38:32.40
日本語がおかしいですね、すみません。

作れると思います。
ただ実際のプログラムで使うときはキーを含んでいるかどうかというbool値として
contains_keyという名前を使うんじゃないかと私は思います。
750デフォルトの名無しさん:2012/07/23(月) 21:44:08.57
普通はcontainでなくadd、storeあたりを使うし。
751デフォルトの名無しさん:2012/07/23(月) 21:58:36.02
キーを含んでますか?という問い合わせ用途ならcontains_keyでいいけど
キーを持っとけ、というフラグ的な用途だったらcontain_keyだろ。
752デフォルトの名無しさん:2012/07/23(月) 22:02:27.72
うん
containsとは根本的に使いどころが違う
753741:2012/07/23(月) 22:03:42.29
>>748
関数と変数がどう繋がるのか意味が分らなかったが、今分った。
>>748 で言っている「変数」というのは関数の「仮引数」の事か。

それなら、contain も命令形で使えなくはないぞ。
例えば何か情報をパッキングする場合に、
ヘッダ情報も含めるかどうかを示す Boolean 型引数を持つ関数。

void packHoge (Hoge info, bool contain_header) { ・・・ }

プログラマから見て命令形というニュアンスを含むと考えて問題なくないか?

使えなくはないという煮え切らない態度なのは、自分自身は習慣で使わないからだ。
普段は >>750 辺りを使う。

ただ、contain を使ったとしても違和感なく命令形として意味は通じる。
>>718 の理由ではやや曖昧さが残るのではないか。
754 ◆oNDwwYxU8552 :2012/07/23(月) 22:05:05.27
>>745
命題って

http://dictionary.goo.ne.jp/leaf/jn2/216735/m0u/%E5%91%BD%E9%A1%8C/
数学で、真偽の判断の対象となる文章または式。定理または問題。

っていうような理解でいいですか?
755741:2012/07/23(月) 22:09:37.38
あぁ、すまん。

仮引数じゃなくても、メンバ変数の話でも通じるか。
というか終始メンバ変数の話だったか・・・

まぁそれでも同じ事で、contain を命令文にして意図と合致する場合もあり得ると思う。
756デフォルトの名無しさん:2012/07/23(月) 22:11:27.62
booleanなら無条件で三単現を徹底するとシステムハンガリアンになるな。
757デフォルトの名無しさん:2012/07/23(月) 22:13:37.94
>>754
はい。
758 ◆oNDwwYxU8552 :2012/07/23(月) 22:27:03.81
>>745
だめだ、難しくて何度読んでもわからない。。。
759 ◆oNDwwYxU8552 :2012/07/23(月) 22:33:48.16
>>753
曖昧さうんぬんは同意ですね。

>>731
のおっしゃるように意図と合致するかどうか、ではどうですか?
760デフォルトの名無しさん:2012/07/23(月) 22:38:01.80
言葉を使うのに意図と合致してるか見定めるのは当たり前
761 ◆oNDwwYxU8552 :2012/07/23(月) 22:48:09.13
似たような話がのっているのを見つけたので貼っておきます。

http://piro.sakura.ne.jp/latest/blosxom/topics/2008-10-08_naming.htm
Latest topics > メソッド名は三人称単数形にするべきかどうか
762741:2012/07/23(月) 23:16:49.37
>>759
俺には、

>>748
> ネット上からデータを取得する関数で、use_cacheがtrueの場合は
> 一度目はネットから、二度目以降はキャッシュから値を読むというような感じですかね。

これが意図と合致していて、

>>753
> 例えば何か情報をパッキングする場合に、
> ヘッダ情報も含めるかどうかを示す Boolean 型引数
> contain_header

これが意図と合致していない、とはっきり言える根拠が見当たらない。
763デフォルトの名無しさん:2012/07/23(月) 23:30:20.08
>>753
> ヘッダ情報も含めるかどうかを示す Boolean 型引数を持つ関数。 
> void packHoge (Hoge info, bool contain_header) { ・・・ } 

つbool with_header
764デフォルトの名無しさん:2012/07/23(月) 23:35:04.31
言い換えができる事は問題じゃない
765デフォルトの名無しさん:2012/07/23(月) 23:37:00.72
>>758
単純な話だと思うけど俺の説明が悪いのかなw

The skly is blue. (true)
The sea is purple. (false)
A turtle flies. (false)

こういう風に、それが正しいかどうか(true/false)言及できる文を命題と言うんだけど、
メソッドの場合は三単現を使うことでこのような命題を表す英文に読み替えができるようになる。

例えばif(hoge.usesCache())のhoge.usesCache()は"Hoge uses cache."
と読み替えが出来る。

変数名の場合、仮に三単現を使っても
if(usesCache)
これには主語にあたる部分がないからそういう読み替えはできない。
だから変数名の場合は三単現を使う積極的な理由がない。
766デフォルトの名無しさん:2012/07/23(月) 23:43:09.82
a contains bがaを主語とした文章としてそのまま読めるのが肝なんだろうな。
変数名であったり、関数contains(a, b)じゃあうまみがゼロだな。
767デフォルトの名無しさん:2012/07/24(火) 01:11:28.66
>>765
変数の場合に三単現にする積極的な理由はないけれど、
変数と関数で命名法則を変える理由もないってところかw
768 ◆oNDwwYxU8552 :2012/07/24(火) 01:17:27.10
>>762

>>>753
>> 例えば何か情報をパッキングする場合に、
>> ヘッダ情報も含めるかどうかを示す Boolean 型引数
>> contain_header
>
>これが意図と合致していない、とはっきり言える根拠が見当たらない。

うん、たしかにこれも合致してると思います。
やっぱり曖昧さが残るってことですねえ。
769 ◆oNDwwYxU8552 :2012/07/24(火) 01:37:48.30
>>765
どうも丁寧に説明頂きありがとうございます。
なんとなく理解できました。
770デフォルトの名無しさん:2012/07/24(火) 01:40:03.88
どういたしまして。
771 ◆oNDwwYxU8552 :2012/07/24(火) 01:42:06.11
>>718
はイマイチってことで無かったことにして

http://piro.sakura.ne.jp/latest/blosxom/topics/2008-10-08_naming.htm
での説明が結構しっくり来たので引用します。
772 ◆oNDwwYxU8552 :2012/07/24(火) 01:43:10.93
なんとなくだけど、何かをする系のメソッドを使った文、例えばparentNode.appendChild(newChild)だったら、これに対応する英文というのは Hey, you "parentNode"! Append "newChild" to yourself as a child! みたいな「命令文」で、
773 ◆oNDwwYxU8552 :2012/07/24(火) 01:44:11.17
<続き>

状態を尋ねる系のメソッドを使った文、例えばsomeNode.hasChildNodes()だったら、対応する英文は He "someNode" has some child nodes. みたいな「普通の文」なんじゃないのかなー、と思ってる。
774 ◆oNDwwYxU8552 :2012/07/24(火) 01:45:51.75
<続き>

逆に言うと、これらの英文を思い浮かべてコードを書くと、自然に、普通のメソッドは原形で状態を尋ねる系のメソッドは三人称単数形になるんじゃないのか、と。He "someNode" have some child nodes. とは書かないし。
775 ◆oNDwwYxU8552 :2012/07/24(火) 02:24:57.72
引用は以上です。規制により分割しました、読みにくくてすみません。
776デフォルトの名無しさん:2012/07/24(火) 03:05:28.38
命令文による解釈:

Hey, Satshi! Get a pokemon!

Satoshi {
void getPokemon();
}

あるいは戻り値はゲットできたかどうかのbooleanか
777デフォルトの名無しさん:2012/07/27(金) 23:16:31.14
Aクラス内で利用している Player クラスのインスタンス名は player で、
Player クラス内には isRunning という
player が走っているかどうかの Boolean 値を調査するメソッドがあります。

例えば A クラスでは以下のように記述して調査します。

 if(player.isRunning()){
  …
 }

ここで、A クラスを利用する Bクラスから、
A クラス内 player が走っているかどうかの調査を行いたいとします。
A クラスにはなんという名前のメソッド名を用意するのがよいでしょうか。

現在は checkPlayerIsRunning というメソッド名にとりあえずしています。

 function checkPlayerIsRunning():Boolean{
  return player.isRunning();
 }

英語難しいです。
778デフォルトの名無しさん:2012/07/27(金) 23:21:09.60
素直にisPlayerRunningで良いのでは?

っていうか、それ以前にBからもplayerの存在を意識する必要があるのなら
playerそのものを晒せば話が早いかと
779デフォルトの名無しさん:2012/07/27(金) 23:42:23.06
>>778
ありがとうございます。
メソッド名は言われてみるとなるほど!と思いました。
player を晒す、という方法も、確かにその通りだと気づけました。
どうもありがとうございました!
780デフォルトの名無しさん:2012/07/27(金) 23:59:34.01
>>777-778
player is running だろ。なんで入れ替わるんだよ。
781デフォルトの名無しさん:2012/07/28(土) 02:41:05.20
A.isPlayerRunning
782デフォルトの名無しさん:2012/07/28(土) 02:42:41.59
ただの煽りたいだけのアホはスルーで
783デフォルトの名無しさん:2012/07/28(土) 02:53:28.15
get player is running

getPlayer().isRunning();
getPlayerIsRunning();
784デフォルトの名無しさん:2012/07/28(土) 02:56:17.72
なつだねえ
785デフォルトの名無しさん:2012/07/28(土) 09:21:03.18
if( A._no_pureiyaa_ga_ranningu()) {...}
786デフォルトの名無しさん:2012/07/28(土) 10:58:52.19
>>777
意味がわかんない
787デフォルトの名無しさん:2012/07/28(土) 11:22:48.49
確かに意味がとりにくい文章ではあるが、理解できないのはさすがに馬鹿すぎ。。
788デフォルトの名無しさん:2012/07/28(土) 12:10:17.71
馬鹿なのでまったく分からなかったね
789デフォルトの名無しさん:2012/07/28(土) 17:42:43.21
A.IsPlayerRunning()で合ってるよ
790デフォルトの名無しさん:2012/07/28(土) 18:32:10.01
A_PlayerIsRunning( ) だと思うが…
791790:2012/07/28(土) 18:32:53.45
もしくは PlayerAIsRunning( ) の方がいいかな。
792デフォルトの名無しさん:2012/07/28(土) 19:57:33.61
A.player.isRunning();
793デフォルトの名無しさん:2012/07/28(土) 20:16:21.77
あぁ、そういう時期だったか

>>777
〜しているかどうかを示す関数の命名規則として「Is なんたら」を採用しているのであれば、「A.IsPlayerRunning」で正しい
if文の意味が通るようにしたいのであれば「if (A.PlayerIsRunning)」にすればいい
英語のコードではどちらも見かけるが、俺なら前者を使用する

一応書いておくけど、>>791 は意味が通っていないからな
794デフォルトの名無しさん:2012/07/28(土) 20:19:17.41
A.getPrayerStatus() == RUNNING
795デフォルトの名無しさん:2012/07/28(土) 20:31:46.69
短めに A.getActivity()
796デフォルトの名無しさん:2012/07/28(土) 20:44:04.73
>>794
祈ってどうするよ (w
797デフォルトの名無しさん:2012/07/28(土) 21:25:05.54
>>796
一晩たったらコードが完成しているという救済(?)があるとかw
798デフォルトの名無しさん:2012/07/28(土) 21:35:37.33
ささやき-詠唱-祈り-念じろ!

*player は まいそうされます*
799デフォルトの名無しさん:2012/07/28(土) 21:41:12.99
>>797
>一晩たったらコードが完成しているという救済(?)があるとかw

そんなご利益があるなら、毎日でも祈りますがな (w
800デフォルトの名無しさん:2012/07/28(土) 23:49:19.50
>>784
きめえよお前
801デフォルトの名無しさん:2012/07/29(日) 01:26:34.65
春だなぁ
802デフォルトの名無しさん:2012/07/29(日) 01:27:29.59
いや冬だ
803デフォルトの名無しさん:2012/07/29(日) 13:06:32.21
ビットパターンを操作するときの定数名をお願いします。C系の列挙型とかは使わずに
完全にビット演算子だけを使う場合の。
例えば、1バイトのbit7-5がxxx、bit4-0がyyyを表すとき、
yyyは a & 0x1f
xxxは (a & 0xe0) >> 5
?で取れますが、マジックナンバーに定数をつけたいのです。
804デフォルトの名無しさん:2012/07/29(日) 13:34:18.11
え?
805デフォルトの名無しさん:2012/07/29(日) 13:40:02.43
(a & XXX_MASK) >> XXX_SHIFT みたいな?
806デフォルトの名無しさん:2012/07/29(日) 13:40:50.03
>>803
俺なら「そのビットは何に使うのか」の用途から名付ける。
まあ、本当にマジでビットの位置以外の意味が全くもってないのなら
(例えば「ビット操作」という演算そのもののテストプログラムとかならそうだろう)
BITMASK_7_5とか付けちゃうだろうけどさ。
807デフォルトの名無しさん:2012/07/29(日) 14:58:35.86
>>803
ケースバイケースじゃないでしょうか。
可読性を重視するなら、
RGB_RED, RGB_GREEN, RGB_BLUE 方式

十分小さなプログラムで簡潔さを優先しても問題が小さいのなら
RED, GREEN, BLUE 方式

ただのリテラルではなく、ビットマスクであることを名前に盛り込みたい欲求に駆られるかもしれないが、
それは諦めた方がいいと思う。

っていうか、ビットフィールドを使うのが一番簡単。
808デフォルトの名無しさん:2012/07/29(日) 15:54:19.19
C言語じゃないのでビットフィールドないんですよね。
>>806
名前はあるフォーマットのファイルを読むので、既にその仕様書で決まってます。
>>805のXXXMask,XXXShift方式でいこうかな。


809デフォルトの名無しさん:2012/07/29(日) 15:56:10.61
mask, shift だと位置情報が重複してるから、汎用処理を作るなら width, shift ってのもアリ。
810デフォルトの名無しさん:2012/07/29(日) 16:05:21.44
ちなみに、1bit幅ようはフラグもまじってたり、いやーーー。
811デフォルトの名無しさん:2012/07/29(日) 17:33:29.05
>>808
C じゃないらしいのでマクロもないのかな。
マクロとかインラインあるなら (無くても、処理速度が問題にならないなら普通の関数で)

/* XXX の取得 */
#define XXX(x) (((x) & 0xe0) >> 5)

みたいにすればいいかも。
812デフォルトの名無しさん:2012/07/29(日) 17:40:43.48
>>810
参考にLinuxのファイルシステムのヘッダファイルより

/*
* Mount flags
*/
#define EXT4_MOUNT_GRPID 0x00004 /* Create files with directory's group */
#define EXT4_MOUNT_DEBUG 0x00008 /* Some debugging messages */
#define EXT4_MOUNT_ERRORS_CONT 0x00010 /* Continue on errors */
#define EXT4_MOUNT_ERRORS_RO 0x00020 /* Remount fs ro on errors */
#define EXT4_MOUNT_ERRORS_PANIC 0x00040 /* Panic on errors */
#define EXT4_MOUNT_ERRORS_MASK 0x00070


マスクの組み立てもいくつかあった

#define BTRFS_BACKREF_REV_MAX 256
#define BTRFS_BACKREF_REV_SHIFT 56
#define BTRFS_BACKREF_REV_MASK (((u64)BTRFS_BACKREF_REV_MAX - 1) << BTRFS_BACKREF_REV_SHIFT)

#define EXT4_EPOCH_BITS 2
#define EXT4_EPOCH_MASK ((1 << EXT4_EPOCH_BITS) - 1)
#define EXT4_NSEC_MASK (~0UL << EXT4_EPOCH_BITS)


他の表現もあるかも知れない
813デフォルトの名無しさん:2012/07/29(日) 18:04:43.90
>>811
インラインはありますので、定数名をつけないで、マジックナンバーを
インラインに閉じ込めるのも手ですね。
>>812
おお、ありがとうございます。参考になります
814デフォルトの名無しさん:2012/08/02(木) 16:35:18.21
どなたか、「環境マップ用の頂点シェーダ」の命令を格納する文字列へのポインタの変数名をお願い致します
815デフォルトの名無しさん:2012/08/02(木) 17:57:01.68
>>814
vsprogEnvMap
vscodeEnvMap
vsEnvMap
816デフォルトの名無しさん:2012/08/02(木) 18:40:43.37
>>815
ありがとうございます。
817デフォルトの名無しさん:2012/08/02(木) 22:41:40.24
横向きなら0縦向きなら1という変数はなんて名前がいいでしょうか?
画像の横か縦かで処理を変えるもので
横向きなら横のピクセルを元にある計算を行い
縦向きなら縦のピクセルを元にある計算を行うというようなものです
818817:2012/08/02(木) 22:42:18.67
一応age
819デフォルトの名無しさん:2012/08/02(木) 22:47:06.78
isVertical
820デフォルトの名無しさん:2012/08/02(木) 22:51:05.24
androidではportrait
821817:2012/08/02(木) 22:51:13.19
ありがとうございます
確かに0と1ならisVerticalでよさそうですね
後学のために1と2ではどうでしょうか?
822817:2012/08/02(木) 22:52:36.19
ありがとうございます
portraitに縦なんて意味があったとは知りませんでした
参考になります
823デフォルトの名無しさん:2012/08/02(木) 22:58:07.68
>>821
むしろ、可能なら列挙型を使え。
C++11なら

enum class orientation_t { PORTRAIT, LANDSCAPE };
orientation_t orientation = ( width > height )? orientation_t::LANDSCAPE: orientation_t::PORTRAIT;

あたりだな。
824817:2012/08/02(木) 23:28:35.61
>>823
言葉は知ってますが列挙型のない言語で概念はわかりません
C言語も触ったことがないので
昔オブジェクトのようなものとチラっと言われたような気がしますがよく覚えてなかったり・・・
後で詳しく調べてみます

他にdirectionとかaxisとか思い浮かびましたがセンスないですかね
825デフォルトの名無しさん:2012/08/02(木) 23:29:12.59
大昔のBASICじゃないんだからマジックナンバーとか勘弁して欲しいねw
命名以前の問題だよ

あと一応言っとくけど、>>820のいうportrait/landscapeは長方形の向きという
感じの意味なので、スキャンの方向みたいなことを表現するのには使えないよ。
826デフォルトの名無しさん:2012/08/02(木) 23:31:34.98
1と2にする目的は何?
827デフォルトの名無しさん:2012/08/02(木) 23:58:07.82
そのうち斜めとか色々増えるのを考慮してみたいな
828デフォルトの名無しさん:2012/08/03(金) 01:02:28.79
肖像画と風景画だもんな。
829デフォルトの名無しさん:2012/08/03(金) 02:34:38.92
複数の状態を持たせるなら、directionでも良い気がするな。
830デフォルトの名無しさん:2012/08/04(土) 07:09:17.46
最初はどうかと思ったが、axisもアリだな
831デフォルトの名無しさん:2012/08/04(土) 12:40:30.07
>>830

>>817 のニュアンスを込めるなら、axis は良くないと思う。

ODE で axis を調べてみると、向きや方向といった意味は一切ない。
何かを測るための「軸となる直線」とか、
何かを分ける「軸となる直線」などの意味しかない。
832デフォルトの名無しさん:2012/08/04(土) 12:55:25.43
ちょっぴりエスパーすると
rotateQlockwise (変数の値×90度回転する)
833デフォルトの名無しさん:2012/08/04(土) 13:00:09.81
Qlockwise?
834832:2012/08/04(土) 13:01:45.05
clockwiseだったw
いや、それでもおかしいか。rotationでもいいかも。
835デフォルトの名無しさん:2012/08/04(土) 13:16:37.75
じゃさらにエスパーすると
vectorとかacceleratorがきっといいよ
836デフォルトの名無しさん:2012/08/04(土) 14:49:14.31
long yoko0tate1;
837デフォルトの名無しさん:2012/08/06(月) 00:41:25.91
.netで変数名やメソッド名に
アンダーバーを途中につけてもいい?
ManyUnko_MasiMasi()みたいな
838デフォルトの名無しさん:2012/08/06(月) 00:53:05.28
コード規約の問題
839デフォルトの名無しさん:2012/08/06(月) 01:03:49.82
だめ
840デフォルトの名無しさん:2012/08/06(月) 01:26:26.30
>>837
クラスもenumも名前空間も使える言語でそんなことをする必要性がむしろないと思うけど。
841デフォルトの名無しさん:2012/08/06(月) 08:41:16.99
最近はあんまり見かけないけど、get_wild_and_tough( ) みたいな名前の場合もあるしなあ。
842デフォルトの名無しさん:2012/08/06(月) 09:55:50.97
懐かしいな
843デフォルトの名無しさん:2012/08/07(火) 12:01:21.05
でも自動生成されるメソッドについてるよね。
Button1_Clickみたいな
844デフォルトの名無しさん:2012/08/07(火) 16:32:15.65
一応こういうルールはある
http://msdn.microsoft.com/ja-jp/library/ms182245.aspx
845デフォルトの名無しさん:2012/08/07(火) 21:57:22.63
C#のイベントハンドラは"コントロール_イベント名"という命名規則がある
846デフォルトの名無しさん:2012/08/08(水) 06:13:06.27
ソースは?
847デフォルトの名無しさん:2012/08/08(水) 07:59:46.13
オリバー!
848デフォルトの名無しさん:2012/08/08(水) 09:22:03.13
ごめん、aspの話だったわ
849デフォルトの名無しさん:2012/08/08(水) 09:40:44.38
ofだったかをアンダースコアに置き換えてる例を見たことがあるなあ。
確かにスッキリはしてたんだけど、どうなんだろう。
850デフォルトの名無しさん:2012/08/08(水) 12:28:54.40
スッキリしてたのなら、何も問題ないのでは?
851デフォルトの名無しさん:2012/08/08(水) 19:32:25.90
別の意味でスッキリはしてなさそうだが
852デフォルトの名無しさん:2012/08/08(水) 20:20:33.36
どんな意味?
853デフォルトの名無しさん:2012/08/09(木) 01:38:25.68
テーブルのカラム名で何かいいのをお願いします。

データを文字順(国語辞典方式)で並び替えるための文字列の名前を考えてください。

一応今まで使ってたのは、
string_for_order
とかですが、いまいちしっくりこないです。
854デフォルトの名無しさん:2012/08/09(木) 04:38:10.66
「何の」順か書いてないせいじゃないかね。
dictOrderString ってのは...何か垢抜けない感じがする
855デフォルトの名無しさん:2012/08/09(木) 06:04:15.44
読みの順ってことじゃないかな
yomi で
856デフォルトの名無しさん:2012/08/09(木) 06:19:10.18
>データを文字順(国語辞典方式)で並び替えるための文字列

この文字列ってデータそのものとは別に存在するのか
データそのものからも順番は決定できるけど
並べ替えはそっちの文字列をもとにするって事?
857デフォルトの名無しさん:2012/08/09(木) 07:56:30.50
sortTableInDictionaryOrder
858デフォルトの名無しさん:2012/08/09(木) 08:01:12.22
sortByKana
859853:2012/08/09(木) 10:50:24.55
>>854
そうですね。
その、「何の」っていうのが「国語辞典の順番にレコードをソートするための」
になってしまうので、なかなかしっくりする言葉が見つからないんです。

>>855
読みのデータはすでにご指摘の通り、yomi というフィールドがあります。

>>856
データの代表的なラベルとして name があって、これは日本語と英数字、一部記号で構成されています。
そのデータを、英数字とカタカナのみで表現したのが yomi です。

国語辞典順に並べるためには、 yomi をさらに別の変換を施して保存したものを使います。
変換方式は割愛させていただきますが、とにかく yomi とは別の文字列で通常はユーザーには見せないデータです。

>>857-858
ありがとうございます、参考にさせて頂きます。
860デフォルトの名無しさん:2012/08/09(木) 11:15:16.53
>>853 lexicographical key
861デフォルトの名無しさん:2012/08/09(木) 11:16:12.00
あ、 lexicographic key か。
862832:2012/08/09(木) 11:25:36.15
>>853
normalizedKey
863デフォルトの名無しさん:2012/08/09(木) 11:29:43.75
>>859
何重にも用意せず比較関数書けばいいだけじゃん
864859:2012/08/09(木) 14:23:51.66
>>861
素晴らしい!!!!!
まさにこれです!!!!!
ありがたく使わせていただきます。
本当にありがとうございました m(__)m

>>862
ありがとうございます、参考にさせて頂きます。

>>863
濁点を取り除いたり、長音を削除したり、拗音を直音になおしたり
データは100万とかのオーダーになる予定で、
検索のたびに比較関数を呼び出しても大丈夫でしょうか?
データベースはMySQLでMyISAMエンジンです。
ソートルール変更の可能性が今後ゼロとは言い切れないので、
もし何かいい方法があればとも思いますが。。。

とにかくこれから lexicographic_key にコードを変更していきます。
まだ、始まったばっかりなのでよかった(^^;

みなさんどうもありがとうございました。m(__)m
865デフォルトの名無しさん:2012/08/09(木) 15:20:22.46
今だってソートしてるんだから比較してるんでしょ
866デフォルトの名無しさん:2012/08/09(木) 15:22:15.63
リファクタリングツール使わないのか
867デフォルトの名無しさん:2012/08/17(金) 12:10:40.67
今回の例はMFCなんですが、MFCに限った問題というわけではないです。
あるクラスに独自の機能を追加した派生クラスの名前として、
****Ex以外にどのような末尾語がよく使われますでしょうか。

今までは****Exとしていたのですが、最近のMFCは、
CDialogExやCWinAppExなど、初めからExが付いたものが存在し、
それらの派生クラスをどのように命名するか考えています。
868デフォルトの名無しさん:2012/08/17(金) 12:43:59.82
>>867
Ex2ndEdition,ExCustomTurbo,ExDangerousAttack
もっと意味考えてつけようよ。

package違いなら同じ名前にすることもある。
869デフォルトの名無しさん:2012/08/17(金) 12:49:28.29
>>867
結論から言えばEx2みたいな感じの投げやりな名前で良いのでは?

Exとかサフィックスする時点で名前で機能を表現することを諦めてるわけだから
サフィックスにこだわっても無意味だよね。
870デフォルトの名無しさん:2012/08/17(金) 12:55:03.78
>>867
ExEx
WEx
SuperEx…は、意味がわからんな。thisじゃん。
871デフォルトの名無しさん:2012/08/17(金) 13:10:12.08
>>869
Exまでは許せるがEx2はさすがに引け目を感じるw
872デフォルトの名無しさん:2012/08/17(金) 13:32:42.84
My****
873デフォルトの名無しさん:2012/08/17(金) 18:20:21.02
Myonnaise?
874デフォルトの名無しさん:2012/08/18(土) 01:39:56.06
俺は平気でExExとかCoreCoreと付けるけどなぁ
これが一番分かり易いし
875デフォルトの名無しさん:2012/08/18(土) 08:56:38.24
やっぱ>>869とか>>874が合理的だな
876デフォルトの名無しさん:2012/08/18(土) 12:03:13.60
下手に付ける名前は要らないからな

複数の関数または複数のクラスの、共通部分を抜き出したものはHogeCommon
長い関数の一部を抜き出したものはHogeCore、そのまた一部はHogeCoreCore
ある関数やクラスを拡張したものはHogeEx、その(略)HogeExEx
ある関数やクラスの、バージョンが違う有象無象をHoge2、Hoge3

って感じで付けてる
コメントで分かり易く説明しておけばいい
877デフォルトの名無しさん:2012/08/18(土) 12:57:08.32
Packet
PPacket
878デフォルトの名無しさん:2012/08/18(土) 15:32:52.68
そうか。設計しないと実装してから名前つけるのか。
879デフォルトの名無しさん:2012/08/18(土) 15:52:51.39
設計がある場合には、設計する人はコーディングしないで好き勝手やれるやつ?
880デフォルトの名無しさん:2012/08/18(土) 16:01:16.90
>>879
俺は自分で設計して自分でプログラミングしてるぞ。
881デフォルトの名無しさん:2012/08/18(土) 21:07:43.11
高級言語での実装は設計の一部。
882デフォルトの名無しさん:2012/08/19(日) 15:55:49.10
商品テーブル
商品id、商品名、値段、説明

例えば上のテーブルに残数項目等の複数項目追加を頼まれたのですが
これからもそういう要求があると思うのでALTERでテーブルの変更はせず
別テーブルを作ってユーザ側で追加してもらうことにしました

項目テーブル
項目id、項目名

項目値テーブル
項目値id、商品id、項目id、項目値

そこでこういう風に関連付けようと思っています
項目テーブルと項目値テーブルの名前つけに困ってるのですが
商品テーブルをitemという名前にした場合どんな感じの名前がいいでしょうか?
883デフォルトの名無しさん:2012/08/19(日) 16:05:46.21
information
884デフォルトの名無しさん:2012/08/19(日) 16:18:10.43
DirectXで2次元での当たり判定の関数を作りたいと思ってます。
2つのOBJ(ポリゴン)のXYを引数にすればいいと思うのですが、

「当たる方のOBJ」と「当たられる方のOBJ」という意味の変数名でいいものはないでしょうか?
ポリゴンの各頂点のXY成分は構造体で作っています。

885デフォルトの名無しさん:2012/08/19(日) 16:40:27.25
bool hitTest(Object obj0, Object obj1)
886デフォルトの名無しさん:2012/08/19(日) 16:45:21.54
当てる方 hitter
当てられる方 hittee
887デフォルトの名無しさん:2012/08/19(日) 17:03:19.08
当たり判定に当たる方と当たられる方の区別は不要
888デフォルトの名無しさん:2012/08/19(日) 17:06:05.44
設計の善し悪しの議論すんなよ
889882:2012/08/19(日) 18:51:53.70
>>883
ありがとうございます

項目テーブルはitem_informationですね?
項目値テーブルはどうしましょう?
890デフォルトの名無しさん:2012/08/19(日) 19:12:42.31
>>888=アホ
891デフォルトの名無しさん:2012/08/19(日) 19:32:32.52
>>887
例えば一部スクリプト言語を挟むときとか、場合によっては区別が必要かも。
892デフォルトの名無しさん:2012/08/19(日) 19:42:43.72
>>882
項目テーブル: attribute_type
項目値テーブル: attribute
893デフォルトの名無しさん:2012/08/19(日) 19:46:28.63
>>884
当てる方: attacker
当てられる方: defender
894デフォルトの名無しさん:2012/08/19(日) 22:03:51.39
>>891
例えば?
895デフォルトの名無しさん:2012/08/19(日) 22:13:01.00
スクリプト言語云々はよく分からんけど、例えば攻撃側のみ運動量も評価されるとか、
可能性としてはなくはないとは思う。

もっともそれって既にただの当たり判定じゃないような気がするが。
896デフォルトの名無しさん:2012/08/19(日) 22:23:36.53
そんなの当たり判定後に考慮すれば済む話
897デフォルトの名無しさん:2012/08/19(日) 22:33:19.95
いやいや、例えば攻撃側の実効的な「当たり」の範囲が運動量に依存するとかいう
設定はありうるでしょ。

もっと単純な可能性として、単純な位置じゃなくて冲の間の軌跡で当たり判定を
行うということもありうる。
898デフォルトの名無しさん:2012/08/19(日) 22:35:31.76
じゃあ当たり判定前に考慮すれば済む話
899デフォルトの名無しさん:2012/08/19(日) 22:40:34.88
だから、ここで設計の善し悪しの議論すんなって
900デフォルトの名無しさん:2012/08/19(日) 22:42:02.49
>>899=アホ
901デフォルトの名無しさん:2012/08/19(日) 23:07:27.02
私の当たり判定についてのレスでだいぶ盛り上がっているようで・・・

単純な当たり判定を作るつもりなので、確かに当たる方当たられる方の区別はいりませんが、
>>885のようにObj0とObj1にすると殴られそうな気もします。

返信して下さったattackerとdefenderを採用しようと思います。
ありがとうございました。

902デフォルトの名無しさん:2012/08/19(日) 23:10:42.68
どういたしまして。
903デフォルトの名無しさん:2012/08/19(日) 23:11:40.79
ちょっと待て >>886 は眼中にないのか

悲しいじゃないか
904デフォルトの名無しさん:2012/08/19(日) 23:15:24.26
読み飛ばしてましたすいません・・・。

hitterは分かるんですが、hitteeはどういう意味なのでしょうか?
905デフォルトの名無しさん:2012/08/19(日) 23:37:42.63
>>901
区別する必要がないのならそんなミスリーディグな引数を採用しちゃダメでしょ。
普通にtarget1, target2とか同じ扱いをされるだろうと想像できるような名前を付けるべき。
906デフォルトの名無しさん:2012/08/19(日) 23:41:40.16
俺が以前作った時はa, bだったな
理由は同じく区別が不要だったから
907デフォルトの名無しさん:2012/08/19(日) 23:41:51.80
>>904
-er:する人
-ee:される人
908デフォルトの名無しさん:2012/08/19(日) 23:43:05.41
>>904
フランチャイザー/フランチャイジー
とか知らない?

あとdefenderだと当たられる(受動的)つーより防ぐ(能動的)になっちゃうんだが
909デフォルトの名無しさん:2012/08/19(日) 23:43:13.44
hee
910デフォルトの名無しさん:2012/08/19(日) 23:46:15.06
おお・・・たくさんのレスありがとうございます。

やはり変数名を考えるのは大事なことなのですね。
皆さんのレスを参考に、もう一度考えなおして見ることにします。

ありがとうございました。
911デフォルトの名無しさん:2012/08/20(月) 08:14:45.55
どういたしまして。
912デフォルトの名無しさん:2012/08/21(火) 05:37:31.14
順番に意味があるばあい→ Object1, Object2
順番に意味がないばあい→ ObjectA, ObjectB

ちなみに、大抵の物理エンジンでは衝突ペアを後者の方法で命名している
913デフォルトの名無しさん:2012/08/21(火) 09:48:26.76
そういえば変数名をa, bにすると内部名か何かと衝突する言語があったな…
914デフォルトの名無しさん:2012/08/21(火) 23:13:43.72
衝突するかどうかは知らないけど、perl のソートの比較ブロックで $a, $b を決め打ちで
使う仕様を見て、その設計はないだろ…、と思ったことはある。
915デフォルトの名無しさん:2012/08/23(木) 22:10:59.12
変なことを訊いているかも、という自覚は多少あるが・・・

倉庫番に似たルール(一部違うが)のゲームを作ることになった。
自キャラを操作して、荷物を後ろから押して、目的地へ運ぶ、
という遊び方は倉庫番を踏襲している。
(運び方を色々工夫をしていて、後ろから押すだけではない)

で、ゲームの目的とルールと遊び方は決めたが、
ストーリーはまだ決まっていない。
だから、荷物を押すのが人型キャラであることも、
そもそも押すのが荷物であることすら決まっていない。

ただ制作期間の関係から、ストーリーが決まるまで待つのではなく、
メインの部分だけでもプログラムして、さっさと遊べる状態にしなくてはならない。
(プログラミング言語はC)

そこで、倉庫番であれば「壁」「移動できる空間」「荷物」「目的地」「自キャラ」
これらに相当するオブジェクトの情報を保存する構造体の名前を決めたい。
後に決めるストーリーによっては、荷物はハートになるかもしれない。
だから、例えば Cargo なんて名前はつけられない。
他にも、壁は電磁バリアになるかもしれない。

このように、ストーリーに合った、グラフィックに合った名前がつけられない場合、
どのような名前をつけると良いでしょうか。
916デフォルトの名無しさん:2012/08/23(木) 22:24:57.79
tile
917デフォルトの名無しさん:2012/08/23(木) 22:30:27.97
>>915
壁 wall
移動できる空間 plane
荷物 treasure
目的地 goal
自キャラ player
918デフォルトの名無しさん:2012/08/23(木) 22:31:44.63
field object
919デフォルトの名無しさん:2012/08/23(木) 22:35:58.24
>>915
倉庫番に限らないが、最初から「倉庫番アレンジ」としてゲームが作られているなら
素直に倉庫番の名前で作ってしまうべきだと思う。

多分それが一番抽象的かつ分かりやすい名付け方。
例えばいくら荷物→ハートだからと言って下手にHeart等と付けてしまうと、
「荷物をハートに置き換える予定だったけど、最終的に星になりました」と言われたら対応できない。

あ、移動対象の内部名をCargoと名付けたら、主人公がカーゴ君になりました!なんて事になったらゴメン
920デフォルトの名無しさん:2012/08/23(木) 23:07:48.61
所有権を表すsってつける?
たとえば、隣接するノードに割り当てられてるインデックスを取得、なら
GetAdjacentNodeIndex
GetAdjacentNodesIndex
どっちが一般的かな
921デフォルトの名無しさん:2012/08/23(木) 23:39:46.55
>>920
付けない。

OOPできるなら
GetAdjacentNode.GetIndex
922デフォルトの名無しさん:2012/08/23(木) 23:40:43.43
付けないのが一般的
923デフォルトの名無しさん:2012/08/24(金) 00:01:50.30
>>920
複数形と混同するしね。

所有権を強調するなら GetIndexOfAjacentNode かな。

>>921
AdjacentNode.GetIndex じゃないの?
924デフォルトの名無しさん:2012/08/24(金) 00:10:52.83
>>915
[選択肢1]
抽象水準の高い名前を付ける。
例えば荷物じゃなくて「押して移動できる物体」(Pushable)

[選択肢2]
後でリファクタリングする前提で暫定的な名前を付ける
925デフォルトの名無しさん:2012/08/24(金) 12:49:54.02
>>916
壁 wall
移動できる空間 space
荷物 load, cargo
目的地 goal_location
自キャラ player

積荷がハートか星か分からないのであれば、それら2つを表せるようにすればいい
AppleクラスとOrangeクラスを抽象化して、Fluitクラスを作るのと一緒

そももも、俺なら現時点で積荷がハード型だからという理由で、積荷を表すクラスにHeartなんて付けない
外見の違いでプログラムに影響するワケじゃないし、正直どうでもいいからな
926デフォルトの名無しさん:2012/08/24(金) 13:04:19.69
昔、アクションゲームの変数名で、無敵モードを表すフラグが
isStarMarioだかisStarModeだかになってたのを見たことがあるなあ。
確かisInvincibleより具体的な効果が想像できるからって話だった。
927デフォルトの名無しさん:2012/08/24(金) 13:45:47.47
素直にローマ字使えばいいねん
SUSHI
TSUNAMI
MUTEKI
928デフォルトの名無しさん:2012/08/24(金) 14:16:27.20
>>915
ハードコートの定数なんて使わないよ
すべて外部ファイルから指定する
名前で悩む以前の問題
929デフォルトの名無しさん:2012/08/24(金) 18:30:12.55
>>927
Undefined name 'SUSI'
930915:2012/08/24(金) 19:03:20.60
レスありがとうございます。

私も何人かの人と同意見で、具体的なモノを表す抽象度の低い名前は付けられない、
という
931915:2012/08/24(金) 19:05:48.44
レスありがとうございます。

私も何人かの人と同意見で、具体的なモノを表す抽象度の低い名前は付けられない、
という立場です。

皆さんの意見を参考に、また自分で色々考えた結果、
次のような名前にしました。

壁 : Wall
移動できる空間 : Space
荷物 : Object
目的地 : Gall
自キャラ : PC
932915:2012/08/24(金) 19:07:23.70
間違えました

目的地 : Goal
933デフォルトの名無しさん:2012/08/24(金) 21:23:02.40
荷物のObjectって釣り?
934デフォルトの名無しさん:2012/08/24(金) 21:27:05.16
↑アホは消えろ
935デフォルトの名無しさん:2012/08/24(金) 21:35:00.49
アホ以外は帰ってくれないか
936915:2012/08/24(金) 22:00:08.28
>>933
いえ、至極まじめです。

>>918 さんのレスを見てなるほどと思いました。
最終的には荷物になるとは限らないので、
何になってもそれほど的外れにはならない名前がいいです。

ODE で object を調べましたが、
今回の件になかなか合っているのではないかと思います。
937デフォルトの名無しさん:2012/08/24(金) 22:17:51.26
objectはないわ
物体の種類増えたらどうすんの?
938915:2012/08/24(金) 22:36:20.77
Object1、Object2、Object3 ・・・と増えていきます。

壁の種類が増えても Wall1、Wall2、Wall3 ・・・と増えます。
939デフォルトの名無しさん:2012/08/24(金) 22:40:34.86
もうvoid*でいいよ
940デフォルトの名無しさん:2012/08/24(金) 22:42:47.40
typoでもすればいいよ
941デフォルトの名無しさん:2012/08/25(土) 01:41:53.52
>>928 何この的外れ君は
942デフォルトの名無しさん:2012/08/25(土) 01:46:24.91
>>941
設計に不備があると名前でも悩むのは常識
だからまず設計を見なおせと忠告したんだが?
943デフォルトの名無しさん:2012/08/25(土) 01:51:44.84
↑やっぱアホ
944デフォルトの名無しさん:2012/08/25(土) 06:54:21.88
>>942
お前は>>1を100回音読するべき

>>938
釣りなんじゃねぇの?と思ってしまうようなレスなんだが・・・

絵柄の違い程度であれば、そのObjectクラス1クラス内で処理できる。他のクラスを用意する必要はない
ただの壁とは動作が違うもの、例えばスイッチで現れたり消えたりするような壁が必要になったら、別のクラスを作成するべき
そしてそのばあい、Object1じゃなくてWall、Object2じゃなくてSwitchingWallのように、意味がある命名ができるはず

というかObjectという基本クラスを作成して、それを継承したWall・SwitchingWallクラスを作れるはずだ
945デフォルトの名無しさん:2012/08/25(土) 08:10:46.65
>>944
お前は>>1>>915を100回音読するべき
946デフォルトの名無しさん:2012/08/25(土) 10:56:14.50
名前をハードコートする必要はない
外部ファイルから与えればいつでも変更できる
したがってコード内での名前はすべてTileあるいはCell、Boxなどのマップ上の1マスを示すもので十分
947デフォルトの名無しさん:2012/08/25(土) 11:02:24.14
↑理解しろよアホ
948デフォルトの名無しさん:2012/08/25(土) 11:22:27.65
理解してないのはお前だ
ObjectとかWallとかくだらない名称は必要ないんだよ
必要ないものにわざわざ頭を悩ませるのは馬鹿だろ
949デフォルトの名無しさん:2012/08/25(土) 11:36:34.18
俺にはそもそも「外部ファイル」自体の理解ができない
何で外部ファイルを利用するとプログラム上の名前が必要なくなるんだ?
950デフォルトの名無しさん:2012/08/25(土) 11:41:14.19
>>948
馬鹿すぎる
951デフォルトの名無しさん:2012/08/25(土) 11:47:53.37
Wallは別にいいけど
952デフォルトの名無しさん:2012/08/25(土) 12:16:55.77
Larry「呼んだ?」
953デフォルトの名無しさん:2012/08/25(土) 12:22:04.07
>>949
やってみればわかる

// hoge.dat
// ゲームオブジェクトのデータ
nanimonai = { name = "space", nakani_haireruka = true,
osaretatoki_no_ugoki = nanimo_sinai , tatakaretatoki_no_ugoki = nanimo_sinai }

kabe = { name = "wall", nakani_haireruka = false,
osaretatoki_no_ugoki = idou, tatakaretatoki_no_ugoki = kowareru }

omokute_katai_kabe = { name = "superWall", nakani_haireruka = false,
osaretatoki_no_ugoki = nanimo_sinai, tatakaretatoki_no_ugoki = nanimo_sinai }

// マップデータ
table[0] = nanimonai; table[1] = kabe; table[2] = omokute_katai_kabe
map[][] = {
{2,2,2,2,2,2,2,2},
{2,0,1,0,1,0,0,2},
{2,0,1,0,1,0,1,2},
{2,0,0,0,0,0,1,2},
{2,2,2,2,2,2,2,2}
}
map = transform(map, table)

これだけでいい
プログラム側では
Ary2D<Object> map = CreateMapFromFile("hoge.dat");
と書くだけだからハードコートも列挙型定数の名前もクソもない
プログラム中にあるのはObject型と処理と処理名(nanimo_sinai関数、idou関数など)だけ
954デフォルトの名無しさん:2012/08/25(土) 12:39:41.74
>>953
仕事このジャンルなん?
955デフォルトの名無しさん:2012/08/25(土) 12:48:31.12
>>954
いいえ
956デフォルトの名無しさん:2012/08/25(土) 13:40:21.73
>>953
switchばっかりのコードになりそうw
まだこういう思考回路の人っているんだね
957915:2012/08/25(土) 14:04:07.89
質問は、>>953 における変数 nanimonai、kabe、omokute_katai_kabe、
これらの名前をどのようにしようかという趣旨のものでした。

つまり、Cargo や Heart などのような具体的なものを表す名前ではなく、
omokute_katai_kabe のような(ある性質を表す)抽象的な名前を求めていました。

その案の一つとしての Object です。

せっかくの案なのに大変申し訳ないのですが、
nanimonai や kabe、omokute_katai_kabe、この
958915:2012/08/25(土) 14:06:31.92
質問は、>>953 における変数 nanimonai、kabe、omokute_katai_kabe、
これらの名前をどのようにしようかという趣旨のものでした。

つまり、Cargo や Heart などのような具体的なものを表す名前ではなく、
omokute_katai_kabe のような(ある性質を表す)抽象的な名前を求めていました。

その案の一つとしての Object です。

せっかくの案なのに大変申し訳ないのですが、
nanimonai や kabe、omokute_katai_kabe、この案は2つの理由で受け入れられません。

まずひとつは日本語のローマ字表記であること。
もうひとつは表記が長いこと。
どちらもソースが読みにくくなるという理由で避けています。

最初に質問した時にしっかりと言っておくべきでした。
その点に関してこちらに落ち度があります。
すいませんでした。
959デフォルトの名無しさん:2012/08/25(土) 15:02:51.86
>>956
お前煽りたいだけやろ
960デフォルトの名無しさん:2012/08/25(土) 15:06:50.31
ハードコート君はやっぱアホだな
961デフォルトの名無しさん:2012/08/25(土) 15:09:06.88
ハードコート君は普段CDとかレンズでも作ってんのか
962デフォルトの名無しさん:2012/08/25(土) 15:13:21.71
テニスプレーヤーだとオモタが
963デフォルトの名無しさん:2012/08/25(土) 15:41:33.22
>>959
実際switchばっかりにならざるを得ないでしょ?違うの?
964デフォルトの名無しさん:2012/08/25(土) 16:24:38.43
>>958
「倉庫番風ゲーム」において、Cargoは十分に抽象的だと思うんだ
965915:2012/08/25(土) 16:59:09.18
>>964
そうですね。
たぶん、どの辺りから十分抽象的に感じるかは人によって違うのだと思いました。

私は個人的には、Cargo ではちょっと具体的かなという気がしましたので、質問した次第です。
966デフォルトの名無しさん:2012/08/25(土) 17:08:54.02
>>953
いや、結局外部ファイルで name = "superWall" といったように名前を指定しているじゃないか
変数 omokute_katai_kabe の正式名称をどうするかと尋ねられたらどうするんだ?
967デフォルトの名無しさん:2012/08/25(土) 17:11:38.95
twitterのapiにstatusと出てくるのは、今何してるかを書くサービスだったからなのかな。今ならtweetだろうけど。
あまりメタにしたら本末転倒だし、どうしてそうなったのかがコメントからわかれば良いんじゃないかな。

アプリの使われ方はどうなるかわからないので、プロジェクト名はコードネームとしてまったく関係ない名前にしてます。外で話してても安心だしね。
968デフォルトの名無しさん:2012/08/25(土) 17:15:58.08
外部ファイルだからプログラム作成時は決める必要ないって言いたいんだろ。

何でこんなバカなこと考え付くのかは知らないけど。
969デフォルトの名無しさん:2012/08/25(土) 17:18:48.29
あんま悩むなら後でリファクタリングツールで直す気でいた方がいいな。
970デフォルトの名無しさん:2012/08/25(土) 17:19:13.44
ワロタwww
971デフォルトの名無しさん:2012/08/25(土) 22:32:52.99
>>963
それが必ずしも悪いわけではない
972デフォルトの名無しさん:2012/08/26(日) 22:06:44.44
>>963
switchなんて一つもでてこないが?

>>967
nameプロパティはプログラミング上での識別子ではなくただの1データでしかない
このケースで問題にしている「名前」とは意味合いが異なる
つーか正式名称どうする?って聞かれてもな
俺のやってる外部ファイル形式ならファイル内で完結してるから正式名称なんてどうでもいい
もしデータ上でもどうしても正式名称に合わせて変更したいなら適当に書き換えれば済む話
逆にハードコートされた定数に対しても同じことが言えるがどうするんだ
定数をすべて置き換えて整合性がとれてるか確認してコンパイルしなおしてってめんどくさくないか?
外部ファイルにすれば1ファイルの1単語を編集すればそれで終わるんだぜ

>>968
定数埋め込みのほうがはるかに馬鹿だろ
パラメーターや挙動をスクリプトなどで外部ファイル化すんのはゲーム作りの常識だ
973デフォルトの名無しさん:2012/08/26(日) 22:22:13.30
ハードコートって面白いギャグのつもりか、マジなのか
974デフォルトの名無しさん:2012/08/26(日) 22:24:24.17
定数埋め込み?
>>1>>915 をよく見てこいよ、お前以外は誰もそんな話してない。
975デフォルトの名無しさん:2012/08/26(日) 22:24:47.71
>>972
スレチ。誰も定数やデータの話はしてない。
976デフォルトの名無しさん:2012/08/26(日) 23:44:53.08
>>972の人は(オブジェクト脳をもじって言えば)手続き脳なんだろうね。
構造体 + 関数のフレームから外に出られない人。

しかもswitchなんて一つも出てこないなんて言っていることから伺えるのは、
恐らくその手続き指向的なプログラミングの経験も浅いとしか。
977デフォルトの名無しさん:2012/08/26(日) 23:49:00.24
>>976
とんちんかんなこといってるんじゃないよ
978デフォルトの名無しさん:2012/08/27(月) 00:05:55.81
>>977
消えろゴミ
979デフォルトの名無しさん:2012/08/27(月) 00:10:25.42
腋臭とか口臭と同じで、本人は気が付いてないんだろうねこういうの。
俺は幸か不幸か仕事でこういう人と付き合ったことがないけど。
もっと酷い人は何人か知ってるけどw
980デフォルトの名無しさん:2012/08/27(月) 00:15:16.52
>>978
お前が消えればお前から見て俺が消えることになるから解決するのでお前が消えろ
981デフォルトの名無しさん:2012/08/27(月) 00:34:02.02
とりあえず次スレよろしくね
982デフォルトの名無しさん:2012/08/27(月) 00:50:34.67
>>972
> 俺のやってる外部ファイル形式ならファイル内で完結してるから正式名称なんてどうでもいい
いや、正式名称についてお前がどうでも良くてもお前意外は良くない
spaceなりwallなりsuperWallなり、その部分のネーミングの話をしているんだぞ?
いいか?質問内容は「こういうばあい、どういった命名をしたらいいですか?」だ
983デフォルトの名無しさん:2012/08/27(月) 01:09:08.22
>>982
その次の行読めなかった?
984デフォルトの名無しさん:2012/08/27(月) 01:14:13.55
二度手間以上の無駄
あほらし
985デフォルトの名無しさん:2012/08/27(月) 08:22:10.70
>>983
お前もう・・・いいわ
なんかこう、リア♀脳と話すのは疲れる
986デフォルトの名無しさん:2012/08/27(月) 08:50:49.90
>>984
素人はだまってろよ
拡張性考えたら俺のやり方がベストだから
無駄なんて一つもない
987デフォルトの名無しさん:2012/08/27(月) 09:52:57.64
>>982
本当に哀れだな現実が全く見えてない
俺以外でもまともな奴はコーディングレベルで正式名称なんてどうでもいいんだよ
逆にコーディングレベルで正式名称にこだわる奴はまともじゃないといえる

普通はゲーム仕様上の正式名称が仮に決まっててもコード中にはまず書かないのよ
例えとしてジャンプキャラクターオールスターの格闘ゲームを作っているとしよう。その時に
サタンミラクルスペシャルウルトラスーパーメガトンパンチ、とか、バオーシューティングビースススティンガーフェノメノン
などの必殺技のくっそ長い正式名称のゲーム単語用意されて馬鹿正直に
enum SkilID { kSatanMiracleSpecialUltraSuperMegatonPunch = 1, …… };
って書いた奴がいたらそれはそいつが限りなく頭がおかしい証拠
変更や追加に対する耐性が著しく下がり、さらにコードを書く方の手間も無限に膨れ上がり生産性には結びつかない

普通はモーションデータ、当たり判定データなどのその技に関するデータと共に付属するパラメーターのうちの一つとして技名を関連する外部ファイルに書き出す(そしてそれを書き換えるのはプログラマではない)
プログラムを書く上でそんな「技の名前」なんてものを気にしたりあまつさえコードに直接書く奴は完全に無能であることを自ら宣言してるに等しい
まともな設計をしているならばこのようにデータを外部に持ちプログラムコードの上では「技データのコレクション」という形で扱う
いちいち個別の技(ただのデータ)にプログラミング上での特別な名前を与えるなんて素人くさいことはしないんだよ
それと同じで質問者がいうような個別の物体にわざわざプログラミング上での名前は与えないのが普通
気分屋のデータ製作者がなんとなく技名変えたいな〜物体の名前を"ハ〜ト"に変えたいな〜ってその日の気分で書き換えても問題がないように作るのが普通のプログラマね
988デフォルトの名無しさん:2012/08/27(月) 10:15:11.89
まあ、変数名ってそういうものだしな。
989デフォルトの名無しさん:2012/08/27(月) 11:21:50.07
なんかブロントみたい奴だな・・・

北向きのベクトルで話しをしているのに、お前は南、西、東向きのベクトルで話をしているんだよ
ベクトルの 長さ=100 の話をしているのに、お前は 長さ=10^-3 とか 長さ= 10^100 の話をしているんだよ
リアルでも情報系の話が通じないタイプの人間だろ
990デフォルトの名無しさん:2012/08/27(月) 11:23:22.15
>>989
そういう君は変な例えでなんか言ったつもりになる文系くんタイプだね
991デフォルトの名無しさん:2012/08/27(月) 11:26:06.20
もういいって
役立たず
992デフォルトの名無しさん:2012/08/27(月) 11:36:13.80
>>990
理系の俺がそっち系の会社に入って自己評価したことだけど、
文系を馬鹿にするのは、コメントを分かりやすく書けるようになってからにしろ
こういう奴がイミフなコメントと謎の関数でメンテナンス性を下げるんだわ
993デフォルトの名無しさん:2012/08/27(月) 11:38:51.36
>>992
でました
レッテル貼りくん(^^;
つかコメントの話してねーから君は帰ってイイよ
994デフォルトの名無しさん:2012/08/27(月) 11:43:23.89
名前ばかりに気を取られて他の仕事をおろそかにしてクソみたいなコードを量産する
それがお前らだ
名前に悩んだらまずは設計を見直せ
それが一番の正解だよ
995デフォルトの名無しさん:2012/08/27(月) 11:57:14.69
>>992
メンテナンス性を下げるのはコメントや個別の関数ではなく全体設計
これ基本事項ね
996デフォルトの名無しさん:2012/08/27(月) 12:40:39.67
>>963
ちなみに、map テーブルをファイルに保存するようになったらどうだろうか?
ロードする時にどうせswitchは出てくるでしょ。ここだけはどうやっても無理
997デフォルトの名無しさん:2012/08/27(月) 13:11:15.36
>>996
いやあ必要ないでしょ
どんなコードを想定してるのよ?
998デフォルトの名無しさん:2012/08/27(月) 13:31:22.69
if使うからswitchは要らない
999デフォルトの名無しさん:2012/08/27(月) 13:34:57.80
>>996
なんだ何もわかってない連中がいたのね
まともに伝わらないわけだわ
1000デフォルトの名無しさん:2012/08/27(月) 13:37:13.93
>>999=池沼
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。