2012年3月プログラム9: クラス名・変数名に迷ったら書き込むスレ。Part21 (416) TOP カテ一覧 スレ一覧 2ch元 削除依頼
OpenGLスレ Part17 (925)
おまいら最強の麻雀プログラムしてみろよ Part5 (524)
Perlについての質問箱 51箱目 (412)
【最速】google guice DI Framework【シンプル】 (407)
Microsoft IronPython 1.0 (837)
PureBasic (130)

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


1 :12/01/22
クラス名、変数名のつけ方に悩んだら書き込むスレです。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part20
http://toro.2ch.net/test/read.cgi/tech/1311942721/

2 :12/01/22
>>1
> 前スレファイル名議論
住所の最後が名前、
パスの最後がファイル名、みたいなもんだな。
できるだけ簡潔なものを選ぶ余地がある。

3 :12/01/22
1おつ
>>前1000
極論ではなく一般論
それもコーディングだけではなく自然言語も含めたより広い世界での一般論
極論してるのはそっちだよ

4 :12/01/22
>>3
馬鹿は来るな

5 :12/01/22
>>4
じゃあお前が帰れよ

6 :12/01/22
>>5
だからお前が失せろ

7 :12/01/22
>>6
だから馬鹿はお前なんだからお前が消えねーとだめだろ
説明しないとわからんほど馬鹿なのか

8 :12/01/22
>>7
さっさと失せろ馬鹿

9 :12/01/22
>>8
>>4

10 :12/01/22
>>9
>>4

11 :12/01/22
小学校かここは

12 :12/01/22
前スレ>>992
それ同じ事を言い方を変えただけ。
「その機能や概念を示す」のと「機能を読み取れること」のどこが違うんだ。
それなりに複雑な機能をもったクラスやメソッドの機能を短い名前で完全に表現
できないのは当たり前で、仔細な点は捨象して大枠の機能を抽象した名前を付けるに決まっている。
馬鹿じゃないのか。

13 :12/01/22
>>12
>「その機能や概念を示す」のと「機能を読み取れること」のどこが違うんだ。
例を出して言えば「オイラー方程式」が前者で「理想流体の運動法則」が後者だ
どちらも同じ物を示しているが前者は機能や概念を隠蔽した名称だ
ぜんぜん違うだろ?
そして議論で使うのはどちらが自然かといえば前者だ
後者をいちいち使うのはあまりにもクドい

14 :12/01/22
前スレ >>990
> だったらutf8だとかeucだとか文字エンコードも併記すべきな気がするぞ…
併記すべきかどうかは場合による
複数の文字コードを扱っているのであれば、併記しなければ分からない
扱っている文字コードがOSや環境のデフォルトだけであり、
あるファイルフォーマット内の文字列部分を処理しているなどなら、
文字エンコードを併記する必要性は感じない

15 :12/01/22
>それなりに複雑な機能をもったクラスやメソッドの機能を短い名前で完全に表現
>できないのは当たり前で、仔細な点は捨象して大枠の機能を抽象した名前を付けるに決まっている。
あと一応言っておくが俺はクラス名やメソッド名を短く省略しろとは言っていない
狭い範囲、スコープに限定された文脈の中では短いものを使えと言っているのだ
>馬鹿じゃないのか。
それを読み取れなかったお前がBAKAです

16 :12/01/22
>>15
まだいたのか
消えろ馬鹿

17 :12/01/22
>>16
>>16

18 :12/01/22
>>17
>>16

19 :12/01/22
論破されると罵倒するしかできないってなんか可哀想だな
神様ももうすこしIQ平等に分けてあげればよかったのに罪なことするぜ

20 :12/01/22
>>13
なるほど俺の誤解みたいだね。っていうかまさかそこまで馬鹿とは思わなかったw
要するに、
String.GetLength()
などという機能をそのまま表現した名前はよくないから、
String.func001()
String.YamadaTarou001()
のように単なる識別子以上のものではない名前を付けろという訳だ。
関数名と機能の対応を参照するバインダーがないと読めないコードが存在するって
都市伝説、あれは本当だったんだなw
こんなガチ馬鹿がどうしてこんなスレにいるんだろう。

21 :12/01/22
>>20
>>15
ちょっと前のレスも読めない馬鹿がなんでいまだに生きてるんだろう

22 :12/01/22
>>21
よ馬鹿

23 :12/01/22
>>22
>>19

24 :12/01/22
>>23
>>19

25 :12/01/22
>>20
それはクラスというひとつの大きな単位の中のメソッド名ですよね
>>15 で彼は
> あと一応言っておくが俺はクラス名やメソッド名を短く省略しろとは言っていない
> 狭い範囲、スコープに限定された文脈の中では短いものを使えと言っているのだ
と言っているので、それは反論の方向としては間違っていると思うのですが
たとえば、
void func () {
*** = String.GetLength()
場合の***の部分などの場合の事だと思います

26 :12/01/22
>>21
間違いを指摘されると「俺の真意はお前の理解と違う」ってか。
みっともない奴だな。
前スレの>>992は俺が書いた>>982に対する反論なんだから、そんな言い訳が通用する訳がない。
どんなクルクルパーだよ。

27 :12/01/22
それから、メソッドやブロックのスコープ内でも明示的な名前を使え、
なんて言ってる奴が一人でも居たか?
そんな奴いねえよ一人も。
誰と戦ってるつもりなんだろうなまったく。

28 :12/01/22
http://awabi.2ch.net/test/read.cgi/poverty/1327050821/3

29 :12/01/22
スコープが広域であれば、略さず完全な名前を付ける
 superHogeCountWithPiyo
 pugeraDescription
スコープの狭さに応じて単語を省く
例えばローカル関数であれば、
 countWithPiyo もしくは count
 pugeraDesc または desc
できる限り略語を使わない
 ×superHogeCountWithPiyo → shCountWithPiyo
 ×pugeraDescription → pDesc, pdesc
そもそも短い単語を略す必要はない
 ×cnt ○count
 ×idx ○index

30 :12/01/22
○ c
○ i

31 :12/01/22
・・・とは書いてみたものの、狭域スコープでは hogeCount を nHoges みたいに略すことがある
単語を略すのであれば、number (of) → num みたいな中途半端な略し方ではムラが生じてしまう(numでは生じないだろうが)ので、一文字 number (of) → nまで略す
その単語の略語にムラが生じることはないだろうと自分で確信が持てるのであれば、使うことはある
例えば、Description は desc 以外に略語を持たないと判断できるし、Information は info 以外の略語を持たないので、狭域スコープではこれを使う
Temporary は temp と tmp が存在するので、略したいときは 一文字「t」まで略する

32 :12/01/22
>>30
ごく短い、例えば3行以下の関数ローカルスコープであれば一文字でもかまわない
またはループカウンタとしてのcやiは、自分では許可している

33 :12/01/22
> ごく短い、例えば3行以下の関数ローカルスコープであれば一文字でもかまわない

34 :12/01/22
変数名をゴッチャリ飾って区別しないといけないようなのは、
既にメソッドが大きすぎるか、メンバ変数の場合はそれらが多すぎる。
fooBarBazList = 
appleBeerList = 
codeDoorList = 
みたいに併記しているような場合、うまくいくと
list = 
これで住むような可能性がある。

35 :12/01/22
>>34
うむ。コーディングの技術がしっかりしてればほとんどの識別子は最低限まで縮めても問題は起こらないよね
というか問題が起こらないように作れると良い設計になってることが多い

36 :12/01/22
いやいや大きいとか多いとかじゃなくて対象コードブロックの中に機能や状態を持ち込み過ぎ
struct A{int x,y;}a;のaじゃなく
後から読み解く奴の身になってx,yのどちらか必要な方だけを取り出して書けよと

37 :12/01/22
現実問題、英語で言ったら形容詞抜きの"list"だの"count"だので十分説明の機能を果たすような
クラスはまずあり得ない。
皆無とは言わないが、むしろ例外的。
そういう特殊な前提がないと成立しないようなアホみたいな議論はするだけ時間の無駄。

38 :12/01/22
>>35
丁寧なコメントが消臭剤でしか無いような場合があるのと同様に、
説明的な変数が消臭剤でしか無いような場合があるな。
早い段階ですべきは、元の悪臭漂うクソ構造を改めること。

39 :12/01/22

就活中
(p)http://livedoor.blogimg.jp/jin115/imgs/3/1/31a6f8e6.jpg
就職後
(p)http://livedoor.blogimg.jp/jin115/imgs/2/b/2b790359.jpg
街の人(やらせ業者)募集中です

40 :12/01/22
その画像独り歩きしてるけど
2枚の画像は1年間開いてるからね
その娘は就活うまく行ってそのインタビュー場所の近くの会社に勤めてるって事

41 :12/01/22
後ろに居る男も横断歩道の向こう側にいる人も
インタビュワーも停まってる車も天候も変わってないな

42 :12/01/22
偶然ってあるもんなんだな

43 :12/01/22
Google Code Searchがなくなったのは痛すぎるな。
とりあえずつけたクラス名やメソッド名が外人的にあり得るか?否かをしらべるのに便利やった。

44 :12/01/22
ええーーっ!! ちょっと見ない間に無くなったのか!

45 :12/01/22
google code

46 :12/01/22
>>30
count_hogeもcHogeもほとんど見易さ変わらないだろ

47 :12/01/22
ch

48 :12/01/23
>>47
もはやなんだかわからんだろそれ

49 :12/01/23
決まってんだろ
チャンネルだよ

50 :12/01/23
入門書とか読むと、よく「チャネル」って書いてあるよね
その発音の方がより本物に近いのは分かるが、なんか気取ってて嫌

51 :12/01/23
俺はにちゃねらー

52 :12/01/23
お前らはアニモー。

53 :12/01/23
>>50の中では「JISに合わせること=気取っている」なのか

54 :12/01/23
 前スレの、chrとかcharの974です。
 まさか論争に発展するとは見通し甘かった。
 私が書いているのはゲームの為の周辺ツールで、個人作業です。
 ですから厳密な命名規則が欲しいって程でもないんです。
#報告
 一度フルスペルで書いたのですが、書き進める内に用途が広がって
キャラクターの意味に相応しくなくなったので一切なくなってしまいました。
 計画性のないプログラムは、これだから・・・!

55 :12/01/23
>>53
違う
JISに合わせる、合わせないは全く関係ない
チャネルという言い方が気取っているように感じるだけ
>>53の中ではたった一例を挙げて、それがたまたまJISに合ってただけで
「JISに合わせること=気取っている」と解釈するのか

56 :12/01/23
>>54
論争になったらなったで、それを話題に盛り上がる訳で、面白いものなのだよ・・・

57 :12/01/24
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 :12/01/24
find

59 :12/01/24
find_by_key_prefix

60 :12/01/24
複数候補だからenumかfindfirst→findnext

61 :12/01/24
>>57
PickUpPrefixMatches

62 :12/01/24
filterByPrefix

63 :12/01/25
ウィンドウが画面の外に出ないように防ぐ処理
をお願いします

64 :12/01/25
関数名?引数や返り値は何?

65 :12/01/25
関数名です
戻り値なし、引数は画面のRECTとウィンドウのRECTです

66 :12/01/25
その関数の副作用は何?

67 :12/01/25
「ウィンドウが画面の外に出ないように防ぐ処理」じゃなくて
「(ウィンドウが画面の外に出ないように防ぎつつ)ウィンドウ移動する処理」なのでは?

68 :12/01/25
>>57
Perlっぽいけどfilterできんじゃねーの?

69 :12/01/25
要するにそういう細かいことをまとめて行う処理です

70 :12/01/25
ちっとも細かくないやん 基本処理にしか見えん

71 :12/01/25
ではそろそろ
ウィンドウが画面の外に出ないように防ぐ処理
をお願いします

72 :12/01/25
MoveWindowInScreen

73 :12/01/25
avoid-tilesaw

74 :12/01/25
void MoveWindowInsideScreen(
 const RECT & windowRect,
 const RECT & screenRect);

75 :12/01/25
void MoveWindowInsideScreen(
 const RECT & windowRect,
 const RECT & screenRect,
 RECT * pOutput);

76 :12/01/25
>>71
消えろゴミ

77 :12/01/25
なんでMOVEなんだよw

78 :12/01/25
void ウィンドウが画面の外に出ないように防ぐ処理(
矩形 const & ウィンドウ,
矩形 const & スクリーン,
矩形 & 結果) ;
いい加減英語識別子から脱却しろ
いちいち名前付なんてくだらない作業で悩む必要がなくなって捗るぞ

79 :12/01/25
preventとかcropとかかなぁ?captureはちと違うか。

80 :12/01/25
confine

81 :12/01/25
「ウィンドウが画面の外に出ないように防ぐ処理」って何だかよく分からないな。
この手のことをする場合、例えばWindowsなら普通は、
(1) 移動中にデスクトップの上下左右いずれかの隅に達したら、その方向にはそれ以上
移動できないようにする。
(2) 移動完了(マウスアップとか)時、ウィンドウがデスクトップの上下左右のいずれかの隅を
超えていたらデスクトップの範囲内に戻す。
のどちらかじゃいかと思うんだが、ニュアンス的にどっちとも取れないな。

82 :12/01/25
>>71
KeepInsideDisplay()

83 :12/01/26
ProcessingPreventedSoThatAWindowMeyNotComeOutOfAScreen

84 :12/01/26
略してMoveWindow

85 :12/01/26
日本語の段階で既におかしいのにそれを英語にしても無駄

86 :12/01/29
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 :12/01/29
どういう基準で分けるかぐらい書けば?

88 :12/01/29
>>87
いや、だから interleave とは逆なんですけど・・・
c=[a1, b1, a2, b2, a3, b3, ・・・] を
a=[a1, a2, a3, ・・・] と b=[b1, b2, b3, ・・・] に分ける

89 :12/01/29
>>87
言葉で説明すると
リストcの n/2 番目の要素をリストaのn番目の要素に
リストcの (n/2)+1 番目の要素をリストbのn番目の要素に入れる
そんな分け方です

90 :12/01/29
すいません、間違ってました
リストcの 2n 番目の要素をリストaのn番目の要素に
リストcの 2n+1 番目の要素をリストbのn番目の要素に入れる
でした

91 :12/01/29
>>86
distribute なり divide とかでいいんじゃね?

92 :12/01/29
Cutでいいよ

93 :12/01/29
プロジェクト名ってどうやって決めてますか?
公開するとなるとさらに慎重になりますよね

94 :12/01/29
>>86
interleave ⇔ deinterleave
で良いのでは?
単に1つ(or n)おきに取り出すだけならdecimateもありだと思う。

95 :12/01/29
uninterliveか、 >>94 が挙げている deinterleave か、迷った。
>>94
decimateはdec-に「10ごと」という意味があるのと、
その10ごとの1を「処刑する」という意味があるのがよろしくない気がする。

96 :12/01/29
decimateは普通のプログラマはあまり使わないかも知れないが、間引きを表す術語みたいなものなんですよ。

97 :12/01/30
>>93
状況次第だけど、ソフトウェアの名前そのまま、もしくは逆に一般名詞にすることが多いかなあ。

98 :12/01/30
あえて全然関係ないコードネームにする
そうするとカフェで仲間と話し合うときにハッカーっぽさがましてカッコイイ気分になれる

99 :12/01/30
一周を[0, 1)で正規化した角度のことをなんて名付けるべきかな
(0.5なら弧度法でのpiに、1.0なら弧度法での2piに相当する)

100 :12/01/30
>>99
意外と難しいな。
正規化って言葉がダブルミーニングになってるから、ベタにNormalizedAngleとかすると
[0, 360)だと思われそう。
それでもあえてNormalizedAngleにするしかないかもw

101 :12/01/30
>>91-96
色々ありがとうございます
distribute は既に distributed という名前で使ってました、すいません
divide は簡潔で良さそうですね、ただ私は真っ先に割り算を連想してしまいますが
cut はどちらかというと、カードの山をざっくり2つか3つくらいに分ける事では?
deinterleave はやや長いですが、けっこうしっくりきます
関数の結果として得られる状態が容易に想像できるのがいいですね
uninterlive はググっても1件しかヒットしない貴重な言葉です
大事にしたいと思います
decimate は意味が深すぎて、使うのがなんが怖いです
と言うわけで、deinterleave の採用が決まりました

102 :12/01/30
分割統治アルゴリズムは divide and conquer だけど、
このアルゴリズムを使っているプログラム内の
分割部分を divide 処理、統治部分を conquer 処理とか言ったりするの?

103 :12/01/31
分割統治は昔よく聞いたが、分割統治アルゴリズムは初めて聞いた。
結論から言うと言わないと思う。
だって分割部分とか統治部分とか、そもそもそんなものないでしょ。
だって分割統治ってコーディングの技法

104 :12/01/31
>>99
angleByRate, angleRatio

105 :12/01/31
>>103
クイックソートって知ってる?

106 :12/01/31
>>103
> 分割統治アルゴリズムは初めて聞いた
http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm
http://e-words.jp/w/E58886E589B2E7B5B1E6B2BBE6B395.html
http://www.google.co.jp/search?hl=ja&site=&q=%22divide+and+conquer+algorithm%22&oq=%22divide+and+conquer+algorithm%22&aq=f&aqi=&aql=&gs_sm=e&gs_upl=771l15594l0l16076l30l30l0l0l0l0l179l2936l22.8l30l0

107 :12/01/31
http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm

108 :12/01/31
>>103
お前の出す結論にまるで意味がない事はわかったからもういいよ

109 :12/01/31
人に罵詈雑言浴びせるならテメエがまず回答者の質問に答えてみろよ。
下衆な奴だなほんと。
その「分割統治アルゴリズム」っていうのは、分割統治を使ってるアルゴリズム、
という以上の意味ないでしょ。
コード上の処理としては分割する部分も統治する部分も、そんなものはない。
なぜなら分割統治とは、コーディングの手法に過ぎないからだ。
(問題を)分割統治するのはプログラマであってプログラムじゃない。

110 :12/01/31
過ちて改めざる是を過ちと謂う

111 :12/01/31
>>110
お前がな。
だからどう過ちか言ってみろ。

112 :12/01/31
お前がなって何が?

113 :12/01/31
>>109
コーディングの手法じゃなくて問題解決の手法だよ。
アルゴリズムってのはコーディング以前に考えておくものなんだよ。

114 :12/01/31
>>113
では「分割部分」と「統治部分」を含むアルゴリズムの話を具体的にしてみてください。
まあ無理しなくていいよ。
こんな馬鹿、そもそも分割統治の意味が分かってないとしか思えない。

115 :12/01/31
「分割部分」と「統治部分」があるって言ってないんだが
俺は君に一方的に馬鹿呼ばわりされただけ
誰彼かまわず攻撃してるだけなんだろうが
とりあえず訂正してもらおうか

116 :12/01/31
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 :12/01/31
fはdivideでいいけど、conquerに相当するのはc'或いはcだな。
分割した個々を「統治」するとみるか、個々を統治することで全体としても「統治」するとみるか。

118 :12/01/31
>>115
ならさっきから何を言ってるんだよ。
っていうか、どんだけ鳥頭?
>>102-103

119 :12/01/31
新たな罵詈雑言来ました

120 :12/01/31
>>117
なるほど、そういう見方もあるのか
と言うか、それが分割統治の意味なのか
確かに分割統合じゃなく分割統治なんですよね
今までとくに深く考えず統治=統合で考えてた
では改めて、f は divide にして、c' はとりあえず compute にしておく
(Aを計算してBを得るのが目的なので、conquer ではやはりちょっとね・・・)
で、g に相当する部分は何が良いかな?
抽象度の高い関数なので、具体的に狭い意味を表す名前は避けたいのですが、
integrate 辺りが無難かな
aggregate って、どちらかと言うと、かつ集めてくるイメージですよね

121 :12/01/31
mergeとか。

122 :12/01/31
いやだから分割統治ってそういう意味じゃないってば....
もともとプログラマが問題(=目的のプログラム)を小さな処理に分割して制服する、
ってだけの意味だから、統治という言葉に違和感を感じるのは当たり前。

123 :12/01/31
>>120
「統治」が使われてるのは政治用語の訳をそのままもってきただけだからね
「(問題の)克服」と思っておけばいいよ

124 :12/01/31
>>121
あぁ、merge は良いね
divide や compute と同じくらい短いし
>>122 >>123
そうだったんですね
勉強になります

125 :12/01/31
古代ローマの戦略の方は"divide and rule"だけどね

126 :12/01/31
http://en.wikipedia.org/wiki/Divide_and_rule

127 :12/01/31
>>121 にいただいた案を使って、
分割して統治したものを最後に統合する関数は merge にしました
みなさん、ありがとうございました

128 :12/01/31
>>125
also known as divide and conquer と書いてあるではないか。

129 :12/01/31
そもそも impera ( imperare 命令する/指揮する/支配する の命令形)の
英訳なわけで、英訳時点での訳の揺れを気にしてもしょうがないよ。

130 :12/01/31
>>110
うむ

131 :12/01/31
>>114
( ´,_ゝ`)ハイハイ かわいそうに

132 :12/02/04
衝突検知用の分割空間を一般的になんという?
8分木などの具体的な実装を意識させない名前

133 :12/02/04
パーティション

134 :12/02/04
英語版のwikipediaのoctreeの項ではsubdivisionってなってるね。
8分木って言葉は今日初めて聞いたから全然自信はないがw

135 :12/02/04
divided space
partial space
partitioned space

136 :12/02/05
物理エンジン参考にすればいいじゃない

137 :12/02/05
broad_phaseのこと?

138 :12/02/08
競馬ゲーム作ってます
用語どこかにのってませんか

139 :12/02/09
「競馬入門」でググってみる知恵もないか?

140 :12/02/09
はい

141 :12/02/09
英語できない人
どんな変数名の付け方してるか教えてくれよん

142 :12/02/09
ここで相談する

143 :12/02/09
でもわざわざ一回一回ここで相談しに来たら時間いくらあっても足りないよ!
どういう用途なのか説明も大変ですしおすし

144 :12/02/09
英語できるようになる

145 :12/02/09
その発想は無かった
解決しました

146 :12/02/10
・英語的に完璧に正しいが、日本人にはあまり馴染みのない単語や用法
・英語的には完璧とは言えない(通じるレベル)だが、日本人でも意味を連想できる単語や用法。
ちょっと迷う時がある。
前にスレで聞いたときは前者の方が良いという意見が出てた気がするが、
海外の人にソースを見せたり、外国人PGと一緒に作業したりしないのなら、後者もアリかもしれない。

147 :12/02/10
>>146
それでいい

148 :12/02/11
関数名お願いします
クラスの中のメゾットなのですが
そのクラスは「コールバックを管理する」クラスです。
そして、そのメゾットの機能は
「自分のクラスから『コールバックの実行』の機能を持つメゾットを取り除いたクラス(オブジェクト)を返す」
というものです

149 :12/02/11
×メゾット
○メソッド

150 :12/02/11
もともとイタリアで食べられてきた麦類の料理に東洋(中東)から伝播した米が融合した料理である。
イタリアでは下記の料理法で調理した米料理のみを指すが、フランスではピラフの別名として用いられてきた。

151 :12/02/11
メソッドなんか作らずに継承関係にしてスーパークラスとして扱えばいいだけじゃ
どうしてもメソッドにするならgetBase

152 :12/02/11
スーパークラスというか、普通は適当なインターフェイスにキャストした自分を
返すようにするんだろうね。
どっちにしろ、>>148だけの内容で名前付けろとか無理筋過ぎるけど。

153 :12/02/11
ありがとうございます
一応付属的な機能ですので、
継承関係は作りませんでした

154 :12/02/11
logger.writeだと面倒だから
log.writeにしちゃったんだけど
やっぱり変?

155 :12/02/11
>>148
返すのは単なるコールバックのコレクション?
実行機能を除いて残った管理機能には何がある?

156 :12/02/11
>>154
変じゃないよ

157 :12/02/12
>>154
log.writtenが正しい

158 :12/02/12
コールバックとハンドラとイベントの違いとは

159 :12/02/12
・コールバック(関数)
 プログラムをシステム側とユーザ側の2つに分けるとき、
 システム側に呼ばれる、ユーザ側の関数のこと
・(イベント)ハンドラ
 イベントを受信する関数
・イベント
 何らかの現象が発生したことを示す
 発生したことをイベントハンドラなどに伝えることを「イベントの送信」、
 イベントハンドラがイベントを受け取ることを「イベントの受信」といい、
 これらを活用することをイベントドリブンという

160 :12/02/12
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 :12/02/12
>>159
HogeEngine とかいろいろ考えられる。Driverとかいろいろあるやん

162 :12/02/12
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 :12/02/12
>>162
例えば、配列の先頭の要素を取り外して返すようなものはshiftという名前でperlやrubyにある。
また、文字列から一部分を取り出す(だけ。非破壊)コマンドとしてはcutというのがある。

164 :12/02/12
>>162
汎用性が低そうだから、その関数を使うところでの文脈に沿って決めたら良いよ

165 :12/02/12
見た感じ strtok(_r) の亜種のように見えるな。

166 :12/02/12
>>162
俺が名付けたのだが strtok()

167 :12/02/13
動的(dynamic)の略 dyn はよく見ますが、
静的(static)の略は何でしょうか?

168 :12/02/13
staでいいんじゃね?

169 :12/02/13
dyn
stc

170 :12/02/13
interceptorってコールバックの一種ですか?

171 :12/02/13
>>159
なるほど。。。

172 :12/02/14
ミサイル要撃機の一種

173 :12/02/14
犬の名前じゃなかったっけ?

174 :12/02/14
わかりました

175 :12/02/14
>>173
性能的に考えると、あなた本体じゃないですかー

176 :12/02/14
ただの黒装束姿では汚い忍者系といったところだが愛犬を連れているという設定が備わることで遠目で見ると人格者に見える

177 :12/02/14
ラムダで済ませるようなSTLの関数オブジェクトの名前にいつも悩む

178 :12/02/14
>>168,169
1単語の略称に a e i o u 辺りを普通は入れないという話を小耳に挟んだので、
stc を使うことにします。
ありがとうございました。

179 :12/02/14
スタックと読んでしまいそうだ

180 :12/02/14
スタティック(静的)と読むのが自然である文脈でしか使わないので問題ないです。

181 :12/02/14
スタティック・メーン?

182 :12/02/18
http://iup.2ch-library.com/i/i0568311-1329560000.jpg
シューティングゲーム作ろうとして、画像のようなクラス設計をしたのですが、
CProxyに当たる部分の名前が激烈ダサイ気がして夜も眠れません。
どなたか妥当な名前を付けてあげてください。
STGがイメージしにくい場合はCCharacterを「ガチャピン」に、CStatePlayer/Enemy/Bulletを
「空手出来る人」「バイク乗れる人」「ダイビングできる人」に読み替えてください。

183 :12/02/19
抽象クラスCProxyが具体的に何を行うクラスなのか分からない

184 :12/02/19
CProxyはタスクにわたすパラメータみたいなもの?

185 :12/02/19
派生クラスへのアクセスをカプセル化したいんじゃねーの?
インターフェースにしないのがなんでかわからんが

186 :12/02/19
まず、プロクシってのは使う側に意識させないのが普通じゃねーの?w
あるインタフェースに対して、プロクシになってる実装と、そうでないのとは作る側の仕込み。
一人でやってる場合は自前ライブラリ(または単にクラス群)を作る側と、使う側で考えてくれ。

187 :12/02/19
?とりあえず、CProxyの具体的な使用方法を教えてくれ
CProxyの具体的な説明が「派生クラスの代理人」だというのであれば、命名はCProxyで合ってると思うんだが

188 :12/02/19
しかも頭にCつけてんのが狂ってる。MFCでもないのになぜマネをする?
JavaのSwingならJ、rubyのcソースコードではrb_。それぞれ由来があるからつけてるんだぞ?

189 :12/02/19
インターフェースでは妥協してIをつける
統一感無いから普通のクラスではCをつける

190 :12/02/19
Cつけるか付けないかとか、スタイルが統一されてさえいればどうでもよくね?

191 :12/02/19
また>>1すら読めない文盲が暴れてるのか

192 :12/02/19
まぁいいじゃないか釣られんなよ

193 :12/02/19
とにかく、>>182で名前決めろっていうのはやっぱりちょっと無理があるよな。
俺がゲーム作ったことないからそう思うだけかと思って黙ってたが、
やっぱりそうじゃないんだな。

194 :12/02/19
maskの反対って何? unmask除いて。
ある範囲だけを使う時、
今はonly(Range r)などとしてるが…。

195 :12/02/19
>>194
なんかmaskの意味を誤解してるような気がする....
例えばサブネットマスクの意味を考えれ貰えば分かると思うが、
普通は「ある範囲だけ」っていうのこそがmaskの意味そのものじゃないの?

196 :12/02/19
【動詞】 【他動詞】
1 〈…を〉仮面でおおう[隠す].
用例        
The robbers masked their faces with stockings. 強盗は顔をストッキングで隠していた.
2 〔+目(+前+(代)名)〕〈感情などを〉〔…で〕隠す,紛らす 〔with,behind〕.
用例        
He masked his anger with [behind] a smile. 彼は怒りを笑いで紛らした.

197 :12/02/19
動詞だと隠すっていう意味だろうから、exposeあたり?

198 :12/02/19
>>195
ビットマスクは名詞でかつ、使う時論理積になるのが想像つくからそうなのかも。
>>197
良い名前キタコレ! MaxOSXのあの機能ってそういう意味だったのかw
しかし良い名前ではあるが、「そこだけ使う」っていう感がちょっと少ない気も。

199 :12/02/19
完全素人なんでよくわからんけど、jQueryにはmaskとexposeっていうペアで使うようなメソッドがあるっぽい。

200 :12/02/19
extract
filter

201 :12/02/19
>>199
勉強になるなぁ! 実績があるなら問題なし。>>197氏、ごっつぁんです!

202 :12/02/19
エクスポゼは英語じゃなかったような....
って、だから「そこだけ使う」のがまさにmaskするってことなんだけど...
なんか質問者が誤解してるみたいんなんで余談になるけど、
NMI = non maskable interruptなんて用語があるように、maskの反対は
「マスクしない」という否定による表現でしかいいようがない気がする。

203 :12/02/19
>>194


204 :12/02/19
>>194
くし   字、間違ったわ

205 :12/02/19
NMIは、マスクできない割り込みだろ。

206 :12/02/19
アクサンが付いたのは「エクスポゼ」で、フランス語の
動詞exposer(エクスポゼ。動詞の末尾のrは読まない)の過去分詞形だけど、
英語にも普通に1050年ほど前に輸入されて、expose(エクスポウズ)になっている。
意味は「晒す」など。

207 :12/02/19
ぐは、繰り上がり間違えた。950年弱だった。

208 :12/02/22
キーが衝突することをなんて表現すればいい?
たとえば、A,B,Cのキーが既に使われているのにまたAが追加されようとした時とか。

209 :12/02/22
MDCでconflictが使われていることを確認できたので事故解決。失礼しました。

210 :12/02/22
collision

211 :12/02/22
クリティカルヒット

212 :12/02/22
hash collisionとか言うよね。

213 :12/02/22
ダブルブッキング

214 :12/02/22
クッキングパパ

215 :12/02/23
conflict : 競合
collision: 衝突

216 :12/02/23
race condition

217 :12/02/23
conflict って競合というよりは対立だと思ってた
互いに正反対の主張が衝突して All or Nothing みたいな
競合っていうと、競合他社のようなシェアを奪い合うみたいに、
普通は All or Nothing の状態にはならないような感じを受ける

218 :12/02/23
どっちでもいいよ
PGは猿じゃないんだからhash関連の文脈ってわかってりゃ競合でも衝突でも通じるわ

219 :12/02/23
conflictは競合じゃないね

220 :12/02/23
コーンフレークがどうしたって?

221 :12/02/23
コンフリクト例
 svn conflict:ソースの同じ箇所を複数人が修正して自動的なマージに失敗、人間によるマージが必要
 dll conflict:ロードした複数のDLLで関数名などが被ってる
コリジョン例
 packet collision:同じタイミングでデータが来た
 hash collision:異なるデータが同じハッシュになった
コンフリクトは意味的な競合で、どうするか人が選択したりする
コリジョンはもっと直接的な競合(衝突)で、運次第で起きるときは起きる
という感覚だけど、もちろん合ってる保証は無い

222 :12/02/23
>>208
already exists

223 :12/02/23
duplicate key

224 :12/02/23
>>208
# useradd -u 99 aaa
useradd: UID 99 is not unique

225 :12/02/23
>>213
>>216
どっちか使っていいよ

226 :12/02/27
引数でパラメータを受け取って通信仕様に従って制御用の文字列を返す
逆に、返信された制御文字列から必要なパラメータを切り出す
この1対のメソッド名をどうしたらいいでしょうか?

227 :12/02/27
encode/decode

228 :12/02/27
制御文字列 <- ParamsToCode(パラメータ1, パラメータ2)
CodeToParams(制御文字列, パラメータ1, パラメータ2, ...)
制御文字列 <- 通信仕様::CodeFromParams();
通信仕様::CodeToParams(制御文字列, パラメータ1, パラメータ2, ...)

229 :12/02/27
compose
parse/yze

230 :12/02/27
>>227-229
encode/decodeだと暗号化とか圧縮、文字コード変換みたいな意味合いに思ってたけど有りみたいですね
parseは考えたのですが対になる物はCompseでよかったのか・・・

231 :12/02/27
formedString/params

232 :12/02/27
単純にくっつける/ばらすならDateTime構造体にならってToString/parseとかどうかな

233 :12/02/27
encode/decode 意外あり得ない
せいぜいinterpretくらい

234 :12/02/28
前後の空白を許すっていうのをなんとかableみたいに表現できない?
normalizeみたいな動詞でもいいんだけど、簡単な単語が分からない。

235 :12/02/28
前後の空白を許す事とnormalizeの関連が不明

236 :12/02/28
関連はないんじゃないの?

237 :12/02/28
YouMayStartOrEndWithSpace

238 :12/02/28
何の名前?
プロパティ?
メソッド?

239 :12/02/28
marginok とか?marginableだと連結しちゃいそう

240 :12/02/28
leading or trailing space is acceptable

241 :12/02/28
何の前後?
単語?

242 :12/02/28
前後の空白を取り除く処理を行うかどうかのオプション?

243 :12/02/28
ありがとうございます。
>>242
頻繁に正規表現を編集する機会がありまして、
その中でも前後の空白を許可するように書き換える、という処理が多かったのです。
たとえば、/a/ => /\s*a\s*/ という感じです。
>>240
その表現が主流みたいですね。利用させていただきました。ありがとうございました。

244 :12/02/28
失せろゴミ

245 :12/02/28
>>240
parse()とかの説明に出てきそうな文章だな

246 :12/02/28
componentって辞書で見るとちょっと広義だなーと思うんだが
あんま使わないほうがいいかな?

247 :12/02/28
>>243
文字列側の操作になるけど、Rubyでは、strip Qtでは、trimmed だな。

248 :12/02/28
trimmedだとスペースは取っ払った状態だから、逆のuntrimmedか ..?
untrimmed {形} 刈り込んでない、手入れしてない
untrimmed board 耳付き板
(英辞郎)

249 :12/02/28
allowWhitespaces
allowsWhitespaces

250 :12/02/28
AllowSandwichedByWhiteSpace

251 :12/02/28
なんか辞書使うの下手な奴多いなw
>>234
WordSpacingとか。
「分かち書き」の和訳を調べると一番簡潔なのがこれ。

252 :12/02/28
>>251
質問はたぶん「分かち書き」そのものじゃなくて、
それが「可能」、それを「許す」「認める」という意味を含めた英単語だと思う

253 :12/02/28
辞書以前の問題だな

254 :12/02/28
>>252
このスレの性格を考えれば、質問者は「前後の空白を許すかどうか」を表す
bool値の名前を求めているんだろうと解釈するのが普通。
その意味でおかしくない名前を提案したつもり。
異議があればどうぞ。

255 :12/02/28
>>254
WordSpacingだと前後の空白だけじゃなくて間の空白とか余計なものまで許しちゃってる。

256 :12/02/28
は?

257 :12/02/28
>>256
「分かち書き」の意味の中に、語と語の間の空白以外にも、
文節と文節の間に空白(空行)を書くこと「も」 含まれています
もし「分かち書き」の英訳が word spacing であるならば、
[文節間の空白 = 余計なもの] まで許しはしないだろうか
という意味のレスだと思われます
ただ、Wikipedia で word spacing を調べると分かりますが
http://en.wikipedia.org/wiki/Word_spacing)、
本当に [WordSpacing = 分かち書き] であるかどうかはさておき、
word spacing と言えば単語間の空白部分だけを指しており、
文節間の空白などとは明確に区別されていますね

258 :12/02/28
つうか、word-spacingってcssでは単語間の空白のサイズをピクセル単位とかで指定するプロパティだよね。
だいぶ雰囲気違うんじゃね?

259 :12/02/28
そもそも分かち書きは英語にない概念なんだから、word spacingは意訳でしょ。
もちろんイコールじゃないよ。
それはそもそも質問者が求めているものじゃないんだから当たり前だけど。
俺はただこういう情報の検索方法もあるよと言いたかっただけ。

260 :12/02/28
形態素解析の論文なんかでは word segmentation て言ったりしてるヨーダ。

261 :12/02/28
>>259
> 俺はただこういう情報の検索方法もあるよと言いたかっただけ。
その意図が >>251 のレスでみんなにちゃんと伝わったという自信はあるか
冒頭 「書使うの下手な奴多いなw」 と小馬鹿にしてる感じなんだが

262 :12/02/29
autoTrim でいいんじゃね

263 :12/02/29
>>243
本当の問題はなんだい? スペースを許さない仕様って何を許すんだい?

264 :12/02/29
既にあるコード中の正規表現を書き換えるプログラムを作ってるんじゃないの?

265 :12/03/02
WindowsのAPIやクラスライブラリなどでは、
FileNameだとファイル名、FilePathやPathNameだとフルパス名を意味するのが一般的ようですが、
"..\\Hoge\\Hoge.doc"のようなファイルの相対パスだと明示したい場合、
どういう名前が考えられますか?
FilePathRやFilePathRelativeしか思いつかず、NameやPathに置き換わる名前があるとよいのですが。

266 :12/03/02
> FilePathやPathNameだとフルパス名を意味するのが一般的ようですが
まずここの認識が違うのでは?
FilePath を指定するヶ所ではたいてい
絶対パスでも相対パスでもどちらでも認識するのが普通だと思いますが
(相対パスが入力されたら内部で絶対パスに変換するなど)

267 :12/03/02
それは言わない約束でしょ♪

268 :12/03/02
>>266
よくよく考えてみると、GetModuleFileNameとかは
FileNameと言ってるくせにフルパス名を返してきますわ。

269 :12/03/02
boostだとrelative_path

270 :12/03/02
基本的に正常系の場合にのみ実行される処理において、
あるフラグが立てられた場合に限り異常系でも処理をするときのフラグの名前。
フラグはアプリ起動前に設定し、終了まで変更されることはありません。
とりあえずFORCE_FLGとしてるけど、もっといいのないでしょうか。

271 :12/03/02
IGNORE_XXX_ANOMALY

272 :12/03/02
正常系と異常系の違いは何?

273 :12/03/03
continueOnError

274 :12/03/03
処理 = Hoge として
::alwaysHoge
Context::alwaysHoge
Hogeler::alwaysPerform
Hogeler::alwaysPerforms

275 :12/03/03
270です。
FORCE_HOGE_ON_ERRORにしました。
# HOGEは処理名称
ありがとうございました。

276 :12/03/03
>>275
変なセンスだなあ。
それだと、「エラーの時はHOGEを強制する」の意味になるけど分かってる?
「雨天決行」と、「雨が降った時に必ず〜をする」は全然別の意味。

277 :12/03/03
「エラーが起きたときでもHogeを行う」んじゃなくて、そのフラグが立っている時は「必ずHogeを行う」んでしょ?
だとしたら always 〜 をオススメしたいんだけどなぁ
if (!error || error && FORCE_HOGE_ON_ERROR) { Hoge(); }
if (!error || FORCE_HOGE_ON_ERROR) { Hoge(); }
if (alwaysHoge || !error) { Hoge(); }

278 :12/03/04
そのフラグがどういう時に立つかを考えて命名できないの?

279 :12/03/04
何かの数を返す関数の場合、馬鹿正直に
getNumberOfHoges()
とすると長くていやなので
getHogeCount()
ってやっちゃうんですけど英語的にどうなんでしょうか?

280 :12/03/04
Javaの標準にあるくらいだからいいんじゃないの?
http://docs.oracle.com/javase/7/docs/api/java/awt/Container.html#getComponentCount()

281 :12/03/04
最近面白い質問来ないな

282 :12/03/04
左様でございますか

283 :12/03/04
うん

284 :12/03/05
nullを""に変換するgetterの名前よろしく。

285 :12/03/05
それgetterじゃないよ

286 :12/03/05
エスパーすると、
何らかの文字列を取得する、もしくは有効かどうか判定する際に、空文字列とNULLを同一視する関数?

287 :12/03/05
/*
* xxxがnullの場合に空文字列を返す旨はコメントに書く
*/
string getXXX()
{
  if(this.xxx == null)
     return "";
  return this.xxx;
}

288 :12/03/05
とりあえずgetXXXNotNull()という名前を使ってますが気持ち悪いんです。

289 :12/03/05
>>287でFA

290 :12/03/05
getXXX()というのはすでに存在しているんです。

291 :12/03/05
じゃあヌルを避ける意味を考えてgetYYY()にするまで

292 :12/03/05
getXXXSafety

293 :12/03/05
getXxxOrEmptyString

294 :12/03/05
文字列を返すって意味にすればいいやん

295 :12/03/05
toString()w

296 :12/03/05
つかそれだけなら関数にしなくていいだろ

297 :12/03/05
string Hoge::toString()
機能説明: Hoge の文字列表現を取得する
 この関数は Hoge が null であれば空文字列を返す
string Hoge::GetPiyoAsString()
機能説明: Piyo の文字列表現を取得する
 この関数は Piyo が null であれば空文字列を返す

298 :12/03/05
与えられた文字列が与えられた長さ以内かを判定するメソッドの名前。
boolean foo(string arg, int length)
半角文字を1とした場合に全角文字は2でカウントします。
半角とはUnicodeでInBlockLatinにマッチするもの、全角はそれ以外です。

299 :12/03/05
isLess()
ちと広義すぎるか

300 :12/03/05
>>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 :12/03/05
既にそうやって使ってるなかで、沢山出てくるパターンに名前をつけて可読性を上げたいんじゃないのかしら。

302 :12/03/05
可読性を上げたい?冗談じゃない。
「以内」なんてもんを英語で表現して後ろに二個引数渡すより、
「<=」の記号を使ったほうがよっぽど可読性は上。
「以内」という意味を隠して、抽象化した名前にするんなら意味はあるだろうけど。
check_length_cho-doii-kado-ka(s, len)みたいなのだとね。

303 :12/03/05
>>300,302
いいたいことは非常によくわかります。
わたしも同じ提案をしましたが却下されました。
ベタ移植するから元にない関数は作るなと。
元がCOBOLだからなのか関数名がKSP10142みたいなコードになっていて意味不明すぎる…

304 :12/03/05
>>302
>「以内」という意味を隠して、抽象化した名前にするんなら意味はあるだろうけど。
いやだから、同じ設計に口だすならそっちだろうと。

305 :12/03/05
>>303
なるほどね…。KSP10142みたいな名前に比べりゃ、何でもマシだよねw
かといって英語で「以下」を表現するとなると…。
is_less_than_arglen_or_equal_to_arglen(s, len)みたいな?

306 :12/03/05
>>298
length_is_not_over(string arg, int limit)

307 :12/03/05
bool string_length_less_equals(string, length)
bool string::LengthLessEquals(string, length) ※クラスメソッド

308 :12/03/05
>>298
IDEが使える言語向けっぽいから
validateLength(string target, int maxLength)
とかで良いんじゃない?
一応他の候補
isWithinMaxLength
isNotLongerThan
isLengthLTE
あと、ベタ移植だっていうのならまんまKSP10142でも良いんじゃないの?w
いやマジで。

309 :12/03/05
>>298
goodString(arg, length)
healthyString(arg, length)

310 :12/03/05
isStringLengthEqualToOrShorterThan

311 :12/03/06
みなさんたくさんの候補ありがとうございました。
徹夜で電子化されてない手書き7,000ページほどの仕様書を読み切ったところです。
# どうでもいい話ですが7,000ページの手書き資料なのに修正した跡が一つも無し。
# 間違ったら全部書き直していたのか??
# さらに作成者が全部同じで筆跡も同一人物っぽい。この人化け物かっ。
この関数は紙帳票に印字される項目に対して
情報が入力された際と印字する際にチェックとして使われていました。
使用用途で考えると308さんのvalidateというのがしっくりきたのでvalidateなんとかーという名前にします。

312 :12/03/06
手書き7000pって・・・そんな化物いるんだ

313 :12/03/06
写経に慣れてるお坊さんじゃねw

314 :12/03/06
サンプルでもライブラリでもスニペットでもなく
ただ実プロジェクトからコピペしたような汎用性のないコード(やテキスト全般)の断片ってなんて言えばいいですか。
とりあえずコピー、収集しておいて参考にする程度のもの。
scrap?

315 :12/03/06
snippet
fragment
scratch

316 :12/03/06
>スニペットでもなく
見落としてたが、その判断基準は何だ?w

317 :12/03/06
piece of code

318 :12/03/06
>>295-297 1つ魔法を覚えました。ありがとうございます。

319 :12/03/06
複数のブール値を持つクラスを定義する
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 :12/03/06
return (^q^);

321 :12/03/06
common lisp だとそういうのは、
(logand a b c)
(logior a b c)
(logxor a b c)

322 :12/03/06
bool3.and()
bool3.or()
bool3.xor()

323 :12/03/06
DBから取り出したhogeというカラムのStringなデータで、そのデータはカンマが入っています。
このデータをカンマ区切りでArrayに変換する関数名はなにがいいでしょうか?
convertStringToArrayはString型をArray型に単純に変換するってわけではないので違うと思うので。
convertHogeToOtherFormatとか考えましたがotherってなんだよとかなんかネーミングおかしくね?とか、
そもそも英語あってんの?って感じなので、どなたかお願いします。

324 :12/03/06
>データはカンマが入っています
>このデータをカンマ区切りでArrayに変換
ごめん、意味がわからない。

325 :12/03/06
convertCsvToArrayList(String value)
convertCommaSeparatedStringToArrayList(String string)

326 :12/03/06
split

327 :12/03/06
>>324
"aaa,bbb,ccc"

×{"aaa,bbb,ccc"}
◯{"aaa","bbb","ccc"}
ってことです。
>>325
ありがとうございます。
ちなみにカンマだけではなく第二パラメータで区切り文字を指定する時は、
どうしたらいいでしょうか?
ところで非オブジェクト指向のコレクションのない言語なのですが、
ArrayListのListってつけてもだいじょぶですか?

328 :12/03/06
>>326
あーー
そうですね。splitかも。
ありがとうございます。
split使います。

329 :12/03/06
Javaだと、
 String[]   split(String regex)
 String[]   split(String regex, int limit) 
この文字列を、指定された正規表現に一致する位置で分割します。 
Rubyだと、
split([sep[, limit]])
文字列を sep で指定されたパターンによって分割して配列に格納します。

330 :12/03/06
区切り文字を指定したいなら delimiter

331 :12/03/06
>>322
それ現状の名前だわ
>>321
その命名って logical and|or|xor の略なのかな
元々 getLogicalAnd とかいう名前にしていて、今は>>322にしてあるんだけど、
もっとこう・・・まさにこれという名前はないだろうか
結構よく見る演算だけど、この演算自体の名前はないのかな

332 :12/03/06
足し算ならsumがあるからいいけどね。

333 :12/03/06
>>331
っていうか、そもそもインスタンスメソッドな時点で変だよw
BooleanとかLogicOperationクラスの、可変長の引数を取るクラスメソッドで
実装した方がいいと思うよ。
その上で>>322のようなシンプルな名前でいい。

334 :12/03/06
>>319
all()
any()
odd()

335 :12/03/07
最近面白い質問来ないな

336 :12/03/07
計算するがcalculate,computeなので
calcAnd
calcOr
calcXor
とか?

337 :12/03/07
cumulative(累積)で「キュームなんとか」
cumuAnd
cumuOr
cumuXor

338 :12/03/07
>>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 :12/03/07
>>338
http://en.cppreference.com/w/cpp/utility/bitset/all_any_none

340 :12/03/08
>>339
おー、all()が何かと思ったら最新仕様のものだったか
>>334の案を使わせてもらうよ、ありがとう

341 :12/03/12
0-5みたいな範囲指定に使う文字ってなんて呼べばいい?
ハイフンとか文字の名前じゃなくて、その役割から命名したいから、
たとえば、a,b のカンマなら separator とか delimiter みたいな感じで。

342 :12/03/12
range
span

343 :12/03/12
range operator じゃね?

344 :12/03/12
そうなんです。でも普通に delimiter みたいに表現できないかな、と思って質問しました。
やっぱり operator を付けるしか無いですかね?

345 :12/03/12
to

346 :12/03/12
rangeop

347 :12/03/12
むしろhyphenatorとかでいいと思うんだけど。
hyphenを辞書で引いた感じでは

348 :12/03/12
hyphenationて文字数の多い単語が分割されるときのアレでは。
で、範囲を表すのはこれかも。
http://en.wikipedia.org/wiki/Dash#En_dash

349 :12/03/12
range indicator

350 :12/03/12
pubic static double heyHoCoooon(int x, int y);

351 :12/03/13
造語だけど
coverager

352 :12/03/13
クソすぎ

353 :12/03/14
ホームページにURLと同じ構造のディレクトリを作るメソッド名はなんにすればいい

354 :12/03/14
EnsurePath

355 :12/03/14
MakeDirectory

356 :12/03/14
FromURL

357 :12/03/15
make index

358 :12/03/16
変数hogeのデフォルト値って、HOGE_DEFAULT? DEFAULT_HOGE?

359 :12/03/16
お好きに

360 :12/03/16
メソッド名は動詞+名詞が基本ですよね?
ソケットにヘッダーを送るメソッドで
sentHeaderよりheaderSentのほうがしっくり来るんですが
どっちがいいですか?

361 :12/03/16
動詞は原形
目的語は引数

362 :12/03/16
もし個人でプログラムしているのなら、
しっくり来る方を使わず違和感のある方に合わせるなんて本末転倒だよ

363 :12/03/16
>>360
sentHeaderだとヘッダそのものを保持する変数、もしくはそれを返すメソッドに自分は見える

364 :12/03/16
どこかよそに送り付けたヘッダー情報を保持している変数みたいだな。
> sent header

365 :12/03/16
sentって過去形/過去分詞だよ

366 :12/03/16
bool messageSented; とかやりそうな勢い

367 :12/03/16
他人の感覚求めて質問してるのに個人の狂った感覚を尊重するのもいかがなものかと

368 :12/03/16
sentHeaderなら過去分詞+名詞なので全体として名詞として機能する→変数
sendHeaderなら動詞+名詞→メソッド
headerSendならおそらくheader.send()のイメージでオブジェクト志向的なメソッド

369 :12/03/16
class Sender
{
void send( Header header ) { ... }
}
class Data
{
Header header;
Body body;
void sendHeader(){ ... }
void sendBody(){ ... }
}

370 :12/03/16
class Header
{
void send(){ ... }
}

371 :12/03/16
@ Hoge.SentHeader : ヘッダーが送信されたさいに呼ばれるイベントハンドラ
A Hoge.SendHeader : Header を 送信する関数
B headerSend : Header というモジュールに属する(何かを)送信する関数
C headerSent : Header というモジュールに属する、送信されたさいに呼ばれるイベントハンドラ
Header.Send : Bに同様
Header.Sent : Cに同様
・・だと感じる

372 :12/03/16
>>371
headerSentって、送られたヘッダっていう変数名っぽく聞こえませんか?
ところで、put、set、cutみたいな手頃な動詞は活用が一緒だからこまるね。

373 :12/03/16
>>360
send(header)

374 :12/03/16
メソッドの話しならやっぱHeadオブジェクト作るのが正道でしょ
なんだか良くわからない巨大で延々居座り続ける複雑なオブジェクトを考え無しにつくっちゃうから「長い名前メソッド」問題が出てくるわけで

375 :12/03/16
>>372
変数として宣言されてるか、関数として宣言されているかによる
変数として宣言されているのであれば、確かに送ったヘッダと理解できるが、
変数の名前に、「動詞の形容詞的活用」とか言ったか? これを使うのはあまり人気がない
Header (that is) Sent ←これね

376 :12/03/16
>>372
lastSetValueとか settableValueで誤魔化したことある

377 :12/03/16
たくさんのレスありがとうございます!
いやーお恥ずかしい(ノ´∀`*)
sentじゃなくてsendですね。
これからみなさんのアドバイスを読み返してどれがいいか考えてみます。

378 :12/03/17
コマンドラインの引数から値のセットと引数をチェックする関数の名前は何がいいですか

379 :12/03/17
parse args

380 :12/03/17
checkArgs

381 :12/03/19
Getopt……は、違うか

382 :12/03/19
まぁ、文字列から何かを作るのであれば、Parseなんちゃらが主流だろうな

383 :12/03/22
getoptも悪くはないけど
その名前使うなら使い方もそれっぽくしておいて欲しい所

384 :12/03/23
GetOptPpoi()とかで誤魔化すしかないな

385 :12/03/23
GetOppaiだと...?

386 :12/03/23
Windowsで、
\\server\hoge...
みたいなパス表記はUNCという名前でいいみたいですが
::{GUID}\{GUID}
みたいなやつの正式名称ってなんて言うんでしょうか

387 :12/03/23
volume GUID path ?

388 :12/03/23
世界最古の土器
1988年、青森県の大平山元遺跡で見つかった土器が、世界最古の土器という事になっています。
1万6500年前(縄文時代前)のものと言われています。
これは、中国や他の国で発見されているものと比較して、群を抜いて古いものです。
発掘がすすめば、さらに古い土器が発見されるかもしれません。
世界最古の木造建築
奈良の「法隆寺」の建築物群。国宝にも指定されています。
法隆寺は、推古天皇や聖徳太子によって建立されたと言われています。日本最古の木造建築として日本の国宝に指定されているだけでなく、世界最古の木造建築としても認知されています。
また、日本を代表する木材「ヒノキ」で造られており、1993年12月には、日本で初めて世界文化遺産に登録されました。
世界最古の王室
現存する世界で一番長い歴史を有する世界最古の王室「天皇家」
海外では歴史や伝統に重い価値を置いています。
世界での天皇家の地位は絶大です。
世界の権力図を示すとこんな感じ。
天皇陛下≧ローマ法王>英国女王>アメリカ大統領etc>日本国首相etc
ローマ教皇と同等かやや上回るか。
世界2トップのうちの一人です。
これは日本の宝として大切にしないといけませんね。


389 :12/03/23
コピペ王に、俺はなる!まで読んだ。

390 :12/03/27
URLのファイルのパス取得するメソッド名は何がいい

391 :12/03/27
間違えた
URLのファイルのパスの部分を取得するメソッド名は何がいい

392 :12/03/27
具体例を

393 :12/03/27
URLのファイルのパスの部分って何?

394 :12/03/27
scheme://server:port/ここの/部分の/こと.じゃね
extractPathFromURL

395 :12/03/27
>>391
RFC1738 3.3. HTTPの項目を見るとURLの構造がhttp://<host>:<port>/<path>?<searchpart>となってるので、
getPathでいいような気がする。

396 :12/03/27
string extractPath(string url);

397 :12/03/29
"@r@n"という文字列表現<=>Char(13)+Char(10)という実際の文字コード列
の相互変換関数を手書きするとして名前は
何escape/unescapeっていうんですか。ascii?

398 :12/03/29
日本語で

399 :12/03/29
※訳
"エスケープシーケンスを含む文字列からエスケープされた文字列へ変換する、または逆変換する関数の名前を教えてください
〜escape/〜unescapeと命名するべきでしょうか?
ascii_escape/ascii_escapeなどという命名はどうでしょうか?

400 :12/03/30
「実際の文字コード列」ってのはは、
エスケープ方法に関わらずアスキーなんじゃないの?
それをエスケープ方法の名前にするのはへんてこじゃないかね。

401 :12/03/31
C#で7zを利用した圧縮解凍ソフトを作ろうと思っているんだけど
7zを利用を楽にするラッパークラス名をどうしようか迷ってます

402 :12/03/31
>>401 Easy7zかWrap7zで

403 :12/03/31
C#ならラップしてる対象そのものの名前でいいでしょ。
しかしクラス名?
普通欲しいのはライブラリや名前空間の名前じゃないかと思うんだけど。

404 :12/03/31
Lucky7 でいいじゃん

405 :12/03/31
7zでいいじゃん

406 :12/03/31
>>403
そうじゃなくて、識別子の頭に数字を使えない C# の仕様で、
適切な名前の付け方はどんなのがある? という趣旨かと
(もう答えは出てるが)
C# は UTF の ascii の範囲外の文字なら数字でも頭にできたんだっけ?

407 :12/03/31
そんな趣旨か?
しかし、"seven"の綴りをいちいち人に尋ねないと分からない人間がいるとも思えんけど。

408 :12/03/31
SevenZipの類でいいだろ
本家本元も使ってるし

409 :12/03/31
>>407
プログラムソース内に SevenZ と書かれているよりも、
7z と書かれていた方が 「圧倒的に」 読みやすい

410 :12/03/31
そうでもない

411 :12/03/31
逆か
SevenZ は圧倒的に読み難い、と個人的には感じる
まぁ私なら Archiver クラスの引数に
Algorithm7z クラスのポインタを渡す感じの作りをする

412 :12/03/31
それもない

413 :12/03/31
おまえ個人の感想なんか聞いてねえ

414 :12/03/31
>>409
そんなことは分かってるってだから。
何が言いたいのか良く分からん。
そもそも7z=seven zipなんだからC#なら素直にSevenZipでいい。
>>403はそういう意味。
ついでに言えば、この程度の長さの識別子で可読性云々言ってる人間は論外。
プログラム書いたことあるのか。

415 :12/03/31
>>414
すまん、よく考えたら生まれて一度も書いたことなかったわ
ちょっと書いてみる

416 :12/03/31
>>401です
なんかすごいスレが伸びてる
そのままSevenZipにしょうと思います
自分も>>411の感じで作ろうと思ってます
7zで解凍できないタイプの場合、別のライブラリと取り替えたいので
Archiverクラスってのを作って一括しようかなと
TOP カテ一覧 スレ一覧 2ch元 削除依頼
MFC、Win32++を超えるライブラリを作るスレ (889)
★初心者にVisual C++を教えるスレ★ Part38 (236)
J#って何のためにあるの? (149)
おまいら最強の麻雀プログラムしてみろよ Part5 (524)
【Google】Androidアプリ作成part13 (294)
COBOL vs Java 2戦目 (951)
--log9.info------------------
鉄コン筋クリートは神。・°(ノД`) (457)
【首】劇場版餓狼伝説【祭り】 (154)
劇場版ヤッターマン (528)
装甲騎兵ボトムズ ペールゼン 劇場版 (727)
機動戦士ガンダム 逆襲のシャア【CCA】chapter.2 (347)
たまごっちドキドキ!うちゅーのまいごっち!? (124)
押井守 「イノセンス」を真面目に語るスレ (208)
あなたのベスト10アニメ映画(20代後半以上) (116)
劇場版機動戦士ガンダム00 アンチスレ1 (241)
ユニコ 魔法の島へ (379)
クレヨンしんちゃん 超時空!嵐を呼ぶオラの花嫁 2 (959)
一番嫌いなプリキュアは誰だ? (820)
こいつだけは許せないと思うアニメキャラ (263)
【春ちゃん】NHK気象情報キャラ総合15【秋ちゃん】 (831)
おしとやかで優しいヒロインが好きな奴集まれ (976)
あの作品の世界にルイズがとばされました (786)
--log55.com------------------
【Windows】Macgo Blu-ray Player【Mac】
【常駐】TTBaseってどうよ?その10【プラグイン】
OneNote 3ページ目
Necromancer 総合スレ part1
IOBit Advanced SystemCareについて
★【トリップ検索】Meriken's Tripcode Generator
【The Movie Player】MPlayer Part1
タブファイラー・X-Finder [ x ] Part36