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

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

質問する人は、その変数に何を格納するのか(クラスだったらその役割)
プログラミング言語は何なのかを、それぞれ書いて、
いい変数名を思いついた人は、それに答えてあげましょう。

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

>>2 英和・和英・英英など各国語辞書と翻訳サイト。
>>3 類義語(シソーラス)辞書、図形・数式・数学用語の英単語。
>>4 関連スレと、いろいろな言語規約。
>>2-10 諸事情によりリンクがずれた場合。

前スレ。
◆ネーミング倶楽部◆: http://pc3.2ch.net/tech/kako/1035/10353/1035362308.html
Part1: http://pc5.2ch.net/tech/kako/1046/10465/1046541730.html
Part2: http://pc5.2ch.net/tech/kako/1058/10582/1058213523.html
Part3: http://pc5.2ch.net/test/read.cgi/tech/1067171530/
Part4: http://pc5.2ch.net/test/read.cgi/tech/1087209526/
Part5: http://pc8.2ch.net/test/read.cgi/tech/1109330204/
Part6: http://pc8.2ch.net/test/read.cgi/tech/1128266018/
Part7: http://pc8.2ch.net/test/read.cgi/tech/1144978008/
Part8: http://pc10.2ch.net/test/read.cgi/tech/1154448184/
Part9: http://pc11.2ch.net/test/read.cgi/tech/1168356029/
Part10: http://pc11.2ch.net/test/read.cgi/tech/1180146315/
Part11: http://pc11.2ch.net/test/read.cgi/tech/1191250784/
Part12: http://pc11.2ch.net/test/read.cgi/tech/1206118762/
Part13: http://pc11.2ch.net/test/read.cgi/tech/1222661623/
Part14: http://pc12.2ch.net/test/read.cgi/tech/1230477632/
Part15: http://pc12.2ch.net/test/read.cgi/tech/1244797870/
2デフォルトの名無しさん:2009/11/21(土) 13:29:25
英和・和英など各国語辞書と、翻訳サイト。

英和・和英辞典。
http://dictionary.goo.ne.jp/
http://www.excite.co.jp/dictionary/

英英辞典のリンク集。
外国語広場: 英語: オンラインで使える英英辞典 英和・和英辞典
http://www.gaikoku.info/english/dictionary.htm

英語←→各国語辞典。(英語)
Dictionaries
http://www.freedict.com/

日英・英日、日中・中日、日韓・韓日翻訳。
http://www.excite.co.jp/world/

POP jisyo.com
http://www.popjisyo.com/WebHint/Portal.aspx

訳GO YAKUGO.COM
http://www.yakugo.com/WebHint/Quick.aspx
3デフォルトの名無しさん:2009/11/21(土) 13:30:08
専門語、類語辞書。

Thesaurus - Yahoo! Reference (英語)
http://education.yahoo.com/reference/thesaurus/

図形や数式などの英単語。

すうがく探検隊・数式と図形の英語
http://i.lekton.co.jp/ara/tanken/english/
リスコレ No.24 図形の名前を英語で……
http://homepage1.nifty.com/tadahiko/LISTCOLE/024-FIGURE.HTML

各業種いろいろ
250の辞書を一度に検索 Webdio
http://www.weblio.jp/
4デフォルトの名無しさん:2009/11/21(土) 13:30:51
関連スレ。

変数名って、どの位こだわりますか?
http://pc.2ch.net/prog/kako/1038/10383/1038306623.html
ローマ字変数を使う奴は馬鹿
http://pc8.2ch.net/test/read.cgi/prog/1054319927/l50
ゲーム内で使う長い変数を縮めてあげるスレ
http://pc10.2ch.net/test/read.cgi/gamedev/1024902432/l50
★★★コーディングマナー★★★
http://pc5.2ch.net/test/read.cgi/tech/1056508692/l50
ちょっと待て!ハンガリアン
http://pc8.2ch.net/test/read.cgi/tech/1011026963/l50
Cのマナーいろいろ
http://pc8.2ch.net/test/read.cgi/tech/1029584140/l50
Cのマナー
http://pc.2ch.net/test/read.cgi/prog/1030001269/l50
バカなコーディング規約
http://pc.2ch.net/tech/kako/1012/10127/1012715148.html

いろいろな言語規約。
Hungarian Notation(英語)
http://msdn.microsoft.com/en-us/library/aa260976.aspx

Java言語規定。6.8 名前付け規約
http://www.y-adagio.com/public/standards/tr_javalang/6.doc.htm#11186

参考書籍
翻訳に役立つGoogle活用テクニック
http://www.amazon.co.jp/exec/obidos/ASIN/4621072943/
5デフォルトの名無しさん:2009/11/21(土) 18:59:51
age
6デフォルトの名無しさん:2009/11/21(土) 22:28:28
ゲーム用語の名称ってすごい悩むんだがどうしたもんか
Fireball()とかゲームで使う名前をそのまま使うのか
MagicXXXみたいにコード番号を使ったほうがいいのか
プロの人はどんな感じでやってるんですかね?
プロジェクトによって違うだろうけどこういうのが多いとかわかりやすいとか
7デフォルトの名無しさん:2009/11/21(土) 22:33:05
>>6
おまえは var000 なんて変数名が良いかもしれない、とか迷うのか?
8デフォルトの名無しさん:2009/11/21(土) 22:44:49
うーんでも
hokutohyakuretukenn
nanntosuityoukennougi
obutuhasyoudokudaaaaa
とか
uuurrryyy
yamabukiironohamonsissou
zetsubooooodaneeeeeee
とかと比べるとちょっと悩みませんかね?
9デフォルトの名無しさん:2009/11/21(土) 22:53:19
>>8
だから、なんで?
そういう名前の何が問題なの?何が気に入らないの?
10デフォルトの名無しさん:2009/11/21(土) 23:01:13
そういうのはハードコーディングしないで、
データとして外部に出したいところではある。
11デフォルトの名無しさん:2009/11/21(土) 23:16:57
そういう技固有の変数って、どうせごくごく狭い空間でしか出てこないと思うから、
別にIDでも固有名でもいいじゃんって思ってしまう。
自分だったらば、データを書き換えたときにコードを変更しなくてもいいように
カテゴリ+インデックスの略称をつけるな。
12デフォルトの名無しさん:2009/11/22(日) 01:04:24
まぁそういう場合はvar000みたいにIDにすべき
uuurrryyyでやってて後でwrrrrryyyyyに変えなくちゃならない事に気付くとかアホらしい

リソース一つ一つに固有変数割り当てる時点でアホらしいけどね
13デフォルトの名無しさん:2009/11/22(日) 09:06:23
魔法とかはゲームにもよるだろうけど外出し派だなぁ。
マリオみたいに特殊技能が少なくてそれぞれの効果の差が大きいのだったら
ハードコーディングするし、Fireballみたいな名前付けるけど。

ぶっちゃけ変な名前付けてもIDE使ってるなら性能のいいリファクタリング機能が付いてるだろし
後から変更なんてぜんぜんありっしょ。

複数人で開発してるなら辞書のメンテナにそこらへんまかせるしかないけど。
14デフォルトの名無しさん:2009/11/22(日) 10:26:52
ていうか処理を外に出すってどうやってるの?
15デフォルトの名無しさん:2009/11/22(日) 10:45:04
もちろん
スクリプトで
16デフォルトの名無しさん:2009/11/22(日) 12:19:43
>>1おつ
17デフォルトの名無しさん:2009/11/22(日) 12:20:35
もちろん当方女子高生です
18デフォルトの名無しさん:2009/11/22(日) 15:39:35
int joshikousei=17;
19デフォルトの名無しさん:2009/11/22(日) 17:53:35
Dim joshikousei As integer = 17
20デフォルトの名無しさん:2009/11/22(日) 18:26:55
IDは個々の、Tagはグループの識別番号でおk?
21デフォルトの名無しさん:2009/11/22(日) 18:40:40
多分みんなそんな認識だと思う
22デフォルトの名無しさん:2009/11/22(日) 18:47:40
IDは「それ」を直接表すもの
Tagは「それ」の属性を表すもの
23デフォルトの名無しさん:2009/11/22(日) 19:34:40
そんな明確な区別なんてないでしょ。
どっちも似たような用途で使われる言葉だと思う。

強いて言えば、IDは語義上重複は許されないが、Tagの場合は必ずしもそうではないぐらい。
24デフォルトの名無しさん:2009/11/22(日) 19:58:28
IDは別物
IDだけは属性じゃない
それ以外のあらゆる要素はIDの持つ属性と言える

IDにTagをつけたり、TagがIDを持ってたり、TagにTagをつける事は出来るが、IDにIDをつける事だけは出来ない
だから同列に語って「ちょっとした差」などと考えるのだけは間違い

実際人とコミュニケーションとる目的で使う場合はちょっとした差扱いで良いけどな
25デフォルトの名無しさん:2009/11/22(日) 20:10:48
いや、出来ないなんてことは無いでしょ。
そのアプリケーション内での定義の問題だよそんなん。
26デフォルトの名無しさん:2009/11/22(日) 20:17:33
「ログインにはUser IDを使用します。」
はい、わかりました。

「ログインにはUser Tagを使用します。」
ちょっと何言ってんのかわかんないっすね。
27デフォルトの名無しさん:2009/11/22(日) 20:35:03
そりゃUserIDって単語の方が「一般的」ってだけの話じゃないかしらん
例え話として不適当じゃね?

28デフォルトの名無しさん:2009/11/22(日) 20:37:17
tagって札だろ???
そもそもIDと別レイヤの単語だと思うんだがどうか
認識票のことID-Tagって言うよな
29デフォルトの名無しさん:2009/11/22(日) 20:50:13
>>26
xboxはログインにGamer Tagを使うな
30デフォルトの名無しさん:2009/11/22(日) 20:52:16
あるリソースの生成・管理をするクラス。
createでリソースを操作するI/Fを返します。
破棄は、releaseか、I/F自身でdelete thisのどちらか(未定)
言語はC++。

候補
ResourceManager
 -> リソースの何を管理するのか意味が伝わりにくい
ResourceCreator
 -> releaseを持つようになった場合、仕事がcreateのみでは無くなるので、微妙


何かいい名前ありませんでしょうか。
31デフォルトの名無しさん:2009/11/22(日) 20:57:08
>>25
だからさ、IDは言い換えればメモリの「物理アドレス」なのよ
IDにIDを付けられるって、そりゃポインタと勘違いしてるんじゃね

物理アドレス==ポインタって言ってる奴が居たらフルボッコでしょ
会話上は混同され易いし、文脈で分かるから問題無いことが多いけど、別物だと言う理解は必要
32デフォルトの名無しさん:2009/11/22(日) 21:01:21
なんか痛いのがいるな
33デフォルトの名無しさん:2009/11/22(日) 21:02:53
>>30
ResourceManagerでいいんじゃないの?

34デフォルトの名無しさん:2009/11/22(日) 21:03:02
>>29
ありゃGamer TagじゃなくてGamertagだけどな
35デフォルトの名無しさん:2009/11/22(日) 21:03:52
どっちでも一緒ですがな。
UserIDとUser IDとuseridが別物かよ?
36デフォルトの名無しさん:2009/11/22(日) 21:06:51
>>34
最初カタカナで書こうと思ったけど26に合わせてあの形にしてみた
意味が変わってしまったのなら申し訳ない
37デフォルトの名無しさん:2009/11/22(日) 21:08:36
Logoffが気にならない日本人的には全く同じだけど
少なくともネイティブ的にはLog offだし。
こういう話題に参加したいならもう少しネイティブがどう考えてるか勉強しような。
38デフォルトの名無しさん:2009/11/22(日) 21:13:02
つまりGamertagはSign Inだから26に絡めるのは不適切ってことですか
39デフォルトの名無しさん:2009/11/22(日) 21:17:52
>>35
一般的な文章上でUserIDなんぞ書かん
絶対User ID
固有名詞的なニュアンスを含めたい時だけスペース省いてUseridとか書く Useridはありえんけど
40デフォルトの名無しさん:2009/11/22(日) 21:18:42
なんか質問者の意図と全然関係無いところで頑張ってないかい
41デフォルトの名無しさん:2009/11/22(日) 21:21:32
>>33
いいような気もするんですが、
hogeManager -> hogeの何を管理してるの?
とソースを見直す事があるので、
仕事を連想できそうな、いいクラス名がないかなと思いまして……
42デフォルトの名無しさん:2009/11/22(日) 21:22:02
なんで態々ゲーマータグって名前なのか調べたら、やっぱ自由に変更できるんじゃねえか。
可変だからGamer Idって名前にしなかったんだろうよ。何となくなんかでtagって単語使い分けてねぇ。
43デフォルトの名無しさん:2009/11/22(日) 21:23:43
User IDが変更可能なシステムも普通にあるんですが。
44デフォルトの名無しさん:2009/11/22(日) 21:29:47
User IDとかGamertagとか本質的じゃない例えなんかだすからイミフになるんだよ
Usernameでログインするやつとかどーすんだよ
45デフォルトの名無しさん:2009/11/22(日) 21:51:01
>>30
破棄は普通に delete でいけるようにしとけ。

日本語で「管理する」としか説明できないんなら ResouceManager でいいよ。
〜Manager が嫌だってんなら、まずは日本語で役割や必要性をはっきり説明
できるようになってから名前を考えてあげればいい。
46デフォルトの名無しさん:2009/11/22(日) 22:08:51
>>45
とりあえず、Managerでいって、
いいのが浮かんだら名前をつけてあげようと思います。
なんか、Managerのままになりそうですけど……
単純にFactoryってのもありかな。

33,45さんありがとう。
47デフォルトの名無しさん:2009/11/23(月) 00:08:13
個数不明のデータをコレクションにいれるときに、
一旦リストに入れてから配列にする場合のリストの名称って何が適当でしょうか?
48デフォルトの名無しさん:2009/11/23(月) 00:11:51
ArrayList
49デフォルトの名無しさん:2009/11/23(月) 00:16:19
ごめんなさい、作業を行うときの変数名でお願いします。
50デフォルトの名無しさん:2009/11/23(月) 00:16:29
buffer という語が入るような気がする。
51デフォルトの名無しさん:2009/11/23(月) 00:17:54
tmpList
52デフォルトの名無しさん:2009/11/23(月) 00:21:57
>>50
確かにbufferがしっくりきますね。なんで出てこなかったんだろう・・・
>>50-51ありがとうです。
53デフォルトの名無しさん:2009/11/23(月) 11:22:02
listでいいじゃん?
54デフォルトの名無しさん:2009/11/23(月) 12:27:59
ためこんでおいてあとでなんかするという意味が入る分
バッファのほうが比較的よさそう。
55デフォルトの名無しさん:2009/11/23(月) 12:45:07
バッファって言葉もかなり本来の意味と違う用法がされてる言葉だな考えてみると…

普通に考えれば、>>47のようなものはListか、さもなければ
HogeBuilderってとこじゃないのかな。
56デフォルトの名無しさん:2009/11/23(月) 12:47:33
builderか、おまえなかなかやるな
57デフォルトの名無しさん:2009/11/23(月) 12:52:08
作業領域として使うリスト構造、なのかな。
tmp listとかwork listとか
58デフォルトの名無しさん:2009/11/23(月) 14:01:03
listにツッコんでからvecなりarrayに突っ込むだけだから
59デフォルトの名無しさん:2009/11/23(月) 14:29:25
いやいや
んなもんlでいいよ
考えるだけ時間の無駄
60デフォルトの名無しさん:2009/11/23(月) 14:43:55
だよな。
多分ローカル変数みたいなもんだろし。
61デフォルトの名無しさん:2009/11/23(月) 15:08:36
標準ライブラリに含まれるクラスや関数と名前が被る場合って
どうしてます?
1. 無理矢理もしくはプリフィックス、サフィックス付けて違う名前をあてる
2. 名前空間がわけられてるなら良しとして同じ名前を付ける

例えば、2chのスレッドをクラス化した場合にThreadって名前を付けると
標準で含まれてるのと被る言語って多いですよね。


62デフォルトの名無しさん:2009/11/23(月) 15:11:25
>>61
名前空間分けろ。
っていうか、標準で名前空間分かれてない言語って何だ?
63デフォルトの名無しさん:2009/11/23(月) 15:12:31
標準はstd::hoge_hogeだからmyns::HogeHogeとかにしとけばまずかぶらないと思うんだが・・・
どうしても命名規則を変えられない事情があるんならそのための名前空間だから名前空間を使う
64デフォルトの名無しさん:2009/11/23(月) 15:14:22
違う名前を付けるだけのこと
65デフォルトの名無しさん:2009/11/23(月) 15:14:24
>>61
名前空間がわけられているなら〜、から推測してC++?
なら、2。
Cでない限り、1にする利点は無いと思うけど……
何か利点あるの?
66デフォルトの名無しさん:2009/11/23(月) 15:14:40
とりあえず標準とかぶらない命名規則でやって
現状でどうしようもなかったら名前空間だな
67デフォルトの名無しさん:2009/11/23(月) 15:15:14
.NETのルールでは「一緒に使うなら名前空間が別でも同じ名前は付けるな」ということになってる
68デフォルトの名無しさん:2009/11/23(月) 15:17:21
>>67
へぇ〜。
なんか変な感じ。名前空間の意味無いような……
多分、深い理由あるんでしょうねきっと。
69デフォルトの名無しさん:2009/11/23(月) 15:17:29
2chの例でいくとThreadはいくら名前空間分けられててもあんまりだと思う。
70デフォルトの名無しさん:2009/11/23(月) 15:17:41
ローカル変数どころか2,3行しか使わんでしょ
言ってる事を見る限り
それにHogeBuilderと命名とかパネェw
71デフォルトの名無しさん:2009/11/23(月) 15:20:06
>>68
名前空間を救済処置として考えると
人間の誤読を避けるために可能なら別の名前使えってのは別に問題ないような。
なんでもかんでも完全修飾で記述するっていうなら別に良いんだろうけど。
72デフォルトの名無しさん:2009/11/23(月) 15:20:24
>>68
C#やVBはusingを多用しても全く問題のない設計になってるからな
それは別にしても紛らわしいのは間違いないからそりゃガイドラインとしては避けさせるようにするだろう
73デフォルトの名無しさん:2009/11/23(月) 15:22:28
人によって大分差があるなぁ。
俺も標準で用意されてるのと衝突する場合は別名付ける派だな。紛らわしい。
74デフォルトの名無しさん:2009/11/23(月) 15:23:37
>>71
>>72
情報ありがとう。勉強になりました。
たしかに、名前空間 + 違う命名の方がスマートなような気がしてきた。
75デフォルトの名無しさん:2009/11/23(月) 15:26:16
>>68
いや、単純に同じ名前にすると大抵の人にとって不便だからだよ
完全装飾マニアなら名前空間フル活用で同名にしておk

using使えばすっきり1ライナーで書ける様な事も、完全装飾にして2行に渡るような記述は俺はしたくないな
76デフォルトの名無しさん:2009/11/23(月) 15:27:57
そもそも 2ch のスレを Thread って命名しないわな。ちょっとわかり辛い。
自分なら ArticleThread とか BBSThread とかそんなのにする。
77デフォルトの名無しさん:2009/11/23(月) 15:32:33
>>75
なるへそ。
>using使えば〜
私は、using使わず、明示的に分かるように、2行で書くタイプ。
この考え方の違いか(笑)
78デフォルトの名無しさん:2009/11/23(月) 15:34:23
usingするとトラブルが多発するC++の事情がおかしいだけ
79デフォルトの名無しさん:2009/11/23(月) 15:38:23
完全修飾は自分の会社名とか書かなきゃいけなくなるからあんまりやりたくないなぁ
in Java、C#
80デフォルトの名無しさん:2009/11/23(月) 15:59:27
>>76
どう見てもその場で考えた一例なんだからそう言う方向で突っ込んでも意味なくね
81デフォルトの名無しさん:2009/11/23(月) 16:40:55
なんか即興で考えたであろう例に噛み付きたがる馬鹿の子がいるな
82デフォルトの名無しさん:2009/11/23(月) 17:13:24
どう考えても無意味に噛み付きたがる馬鹿の子は>>80-81の方に見えるけどな。
>>76の突っ込みは別に適切にしか思えない。
83デフォルトの名無しさん:2009/11/23(月) 17:21:22
同じ穴のなんとか
84デフォルトの名無しさん:2009/11/23(月) 17:23:28
うんうん、指摘されて悔しかったんだね
85デフォルトの名無しさん:2009/11/23(月) 17:28:08
さて次の方どうぞ
86デフォルトの名無しさん:2009/11/25(水) 12:17:13
C++ でboolのメンバ変数を設定・参照したいんだけど
1)
void SetEnable(bool value);
bool GetEnable();

2)
void SetEnable(bool value);
bool IsEnabled();

3)
void Enable();
void Disable();
bool IsEnabled();

4)
bool Enable();
void Enable(bool value);

それぞれの長所と短所を教えて。一番長所が多いやつにするから。
87デフォルトの名無しさん:2009/11/25(水) 12:25:56
じゃあ長所だけ聞けよ。。。
88デフォルトの名無しさん:2009/11/25(水) 12:39:47
いちおうデメリットも聞いておかないと。
89デフォルトの名無しさん:2009/11/25(水) 12:53:27
ゲーム用GUIコントロールの状態を表す定数なんだけど、
変数名は

STAT_NULL // コントロールがまだ存在しない
STAT_READY // 生成されてはいるが有効にはなってない(いつでも有効にできる状態)
STAT_OPENING // 有効化中(=出現アニメ中)
STAT_AVAILABLE // 出現した(=出現アニメ完了してコントロールが利用可能な状態になっている)
STAT_CLOSING // 消えるアニメ中
STAT_CLOSED //消えた(いつ削除してもよい状態)

で通じるかな?
90デフォルトの名無しさん:2009/11/25(水) 13:01:55
>>89
いいんじゃね?

91デフォルトの名無しさん:2009/11/25(水) 18:18:42
>>86
2)、4)はあり得ないでしょ。
2)
普通「Set〜ときたらGet〜も有るだろう」と読む人に想像させるだろうからその期待を裏切るのはよろしくない。
4)
同じ関数名の引数違いで設定/取得の役割が変わるとバグが見つけづらくなる。
単発で
xxx.Enable();
とかされたとき、有効にしたいのか値を取得しようとして戻り値を受け損ねたのかわからん。
1)、3)は好みの問題になるかもしれないけど、個人的には1)はダサい印象がある。
xxx.SetEnable( false );
ってなんか微妙にひっかかりを感じるし。

後、そのクラスの概要と何が有効無効にされるのかがわからんと何とも。
極端な話、enable/disableじゃない方が良い場合もあるのではないかと。
(permit/forbidとか対になる単語は多いだろうし)
92デフォルトの名無しさん:2009/11/25(水) 18:35:57
命名規則についてはスレ違い。
↓こっちでどうぞ。

コーディング規約 第3条
http://pc12.2ch.net/test/read.cgi/tech/1170599322/
93デフォルトの名無しさん:2009/11/26(木) 00:08:13
えっ?
94デフォルトの名無しさん:2009/11/26(木) 01:06:21
C++のiteratorにitをよく使ってるんだけど、短いスコープに二つイテレータが出てきたらどうしよう
it jt ktとかさすがにありえないよね・・・
95デフォルトの名無しさん:2009/11/26(木) 01:06:58
it2
96デフォルトの名無しさん:2009/11/26(木) 01:26:57
>>94
その手があったか!
97デフォルトの名無しさん:2009/11/26(木) 05:28:42
it ite iter itera
98デフォルトの名無しさん:2009/11/26(木) 05:53:28
イテレーターなんだから難しく考えずi,j,k,l・・・でいいと思うが
99デフォルトの名無しさん:2009/11/26(木) 05:58:48
iの由来はindexだからイテレーターとは違う
嘘由来に騙されて紛らわしい事せんでくれ
100デフォルトの名無しさん:2009/11/26(木) 07:54:46
>>98
うわ最悪
101デフォルトの名無しさん:2009/11/26(木) 08:19:21
it2派だな。
jt, ktもi, j, kの流れからするとおもしろいけど
一瞬考えちゃうからなぁ。
102デフォルトの名無しさん:2009/11/26(木) 08:23:56
>>94
私は、ite派。
処理内容で、
iIte -> input iterator
oIte -> output iterator
とか。
うまく名前がつけられない場合は、
ite1, ite2。
103デフォルトの名無しさん:2009/11/26(木) 11:08:52
iterかitrだな
ただ、itrは自分でもどうかと最近思うようになってきた
104デフォルトの名無しさん:2009/11/26(木) 11:54:39
itってのは、代名詞のitとiteratorを掛けてるのかな。
perlの$_的な意味で。
105デフォルトの名無しさん:2009/11/26(木) 13:57:26
Vector<int> xxxx;
Vector<int> yyyy;
に対して、プログラム全体はラクダ記法だったにも関わらず
xxxx_itr, yyyy_itr ってつけてる

106デフォルトの名無しさん:2009/11/26(木) 14:20:18
関数内の処理の一部であるXXXを行うか行わないかを決める、bool型の引数の名前をお願いします。
107デフォルトの名無しさん:2009/11/26(木) 14:24:20
XXXp
108デフォルトの名無しさん:2009/11/26(木) 14:33:42
>>107
pは何の略ですか?
109デフォルトの名無しさん:2009/11/26(木) 15:18:45
C++で2つの同名の関数が別々のネームスペースにある時、
その関数をネームスペース指定なしで呼び出そうとすると、エラーに「曖昧」と出ますよね。
この意味での「曖昧」って英語にすると何になるんでしょうか?
辞書で「曖昧」「曖昧な」を検索するとたくさん出てきてしまいます。
110デフォルトの名無しさん:2009/11/26(木) 15:39:07
(argumentのaを頭につける)
AXXX
aXXX
a_XXX
111デフォルトの名無しさん:2009/11/26(木) 15:42:15
>>108
predicate: (真偽を返す)述語

lisp流

A: food-p? 飯食う?
B: nil うんにゃ

112デフォルトの名無しさん:2009/11/26(木) 15:42:32
>>109
ambiguous
113デフォルトの名無しさん:2009/11/26(木) 15:43:21
>>109
コンパイラとかのツールを英語環境で動かせばわかるが、 ambiguous

114デフォルトの名無しさん:2009/11/26(木) 15:47:59
>>112,113
どもっす。
115デフォルトの名無しさん:2009/11/26(木) 16:08:15
>>110
省略しすぎて分かりにくい気がします。
bool型らしく、行う/行わないを表している事が分かる名前はないでしょうか?
>>111
述語っていう感じじゃないです。
void func(bool XXX){
/* 省略 */
if (XXX) { /* XXXな処理 */ }
/* 省略 */
}
116デフォルトの名無しさん:2009/11/26(木) 16:35:07
>>115
prepareが行う処理と仮定。

void func(bool doPrepare)
{
if (doPrepare) {
prepare();
}
}

かなぁ。

でも、何とかして、引数のフラグを追い出すようにするかも。

void funcWithPrepare(); -> prepareするやつ。
void func(); -> しないやつ。
117デフォルトの名無しさん:2009/11/26(木) 16:48:38
>>116
動詞から始まっていると関数名っぽくてbool型としてはどうかなと思いましたが、気にするほどでもないですかね?

別の関数にする方法は>>115の例の/* 省略 */の部分をfuncImplみたいな関数にしないと保守できないのが面倒くさいと思いました。
でも、こっちの方が正当なやり方なんですかね。
118デフォルトの名無しさん:2009/11/26(木) 16:51:01
>>115
そんなものXXXによって変わるだろ。
たとえば XXX が画面更新ならば、void func(bool refreshScreen) でも十分だろうし、
XXXがバックアップ処理なら void func(bool backupRequired)とか。
119デフォルトの名無しさん:2009/11/26(木) 17:06:44
>>118
XXXは処理なので、関数名のように動詞から始まる名前のつもりで書きました。
つまりvoid func(bool refreshScreen) もvoid func(bool backupRequired)もvoid func(bool XXX)と考えています。
行う/行わないを表すboolだから名前に何かを付け加えるっていう感じではないというのが結論ですかね。
120デフォルトの名無しさん:2009/11/26(木) 17:20:45
bool refresh
bool backup
両方分かるし、何もつけんで動詞だけ書きゃ良い
121デフォルトの名無しさん:2009/11/26(木) 17:32:42
だね。
動詞でいいし、もしくは
XXXXFlag とでもするとか。
122デフォルトの名無しさん:2009/11/26(木) 18:02:37
>>120-121
ありがとうございました。
123デフォルトの名無しさん:2009/11/26(木) 22:14:43
>>120
動詞のままだと、if の中がブサイクになる。
if (refresh) とか if (backup) とか、わけわからん。
if (refreshFlag) なら、ちょっとマシ。
if (refreshFlag == true) なら読みやすいけど、trueとの比較はできればやりたくない。
引数が形容詞か分詞ならばif文で使うときに自然な感じに使えるんだけど。
124デフォルトの名無しさん:2009/11/26(木) 22:24:01
isRefreshじゃだめなのか?
メソッドとごっちゃになるむきもあるが。
125デフォルトの名無しさん:2009/11/26(木) 22:29:25
関数ポインタとか悩む
void (*active_update)(void);
active_updater = update_opening_scene;
(*active_update)();
どうもしっくりこない動詞にするのか名詞にするのか
126デフォルトの名無しさん:2009/11/26(木) 22:34:40
rが抜けてるからとか
127デフォルトの名無しさん:2009/11/26(木) 22:53:11
>>125
別にそのままでも悪くは無いと思う。
変数でもポインタだからって特に名前変えたりしないし。
128デフォルトの名無しさん:2009/11/26(木) 22:57:50
>>106
has+名詞とかどうだろう。
hasRefreshmentとか、hasBackupとか
129デフォルトの名無しさん:2009/11/26(木) 23:16:00
一様乱数を取得する関数なんだけど
generate_uniform_random_number
まではちょっと長いけどまあいいとして
[a, b]と[a, b)などの境界をうまく表した名前はないだろうか
130デフォルトの名無しさん:2009/11/26(木) 23:23:27
関数の名前じゃなくて引数にする
131デフォルトの名無しさん:2009/11/27(金) 01:33:45
>>105
ラクダ記法って言うの?
132デフォルトの名無しさん:2009/11/27(金) 01:40:40
Camel
133デフォルトの名無しさん:2009/11/27(金) 13:39:45
rand_int(A) -- [0, A)
rand_int(A, B) -- [A, B]
rand_float() -- [0, 1]
だけ用意して後は利用者に任せる
134デフォルトの名無しさん:2009/11/27(金) 14:36:59
特に説明が無ければ全部半開区間が普通だと思ってたけどそうでもない?
135デフォルトの名無しさん:2009/11/27(金) 14:53:22
int rand(int min, int max, Interval interval){...}

enum Interval
{
Closed,//[a,b]
Open,//(a,b)
ClosedOpen,//[a,b)
OpenClosed,//(a,b]
}
136デフォルトの名無しさん:2009/11/27(金) 17:29:35
func(int lower, int upper, const char *interval);

func(A, B, "[]"); // [A,B]
func(A, B, "[)"); // [A, B)
func(A, B, "(]"); // (A, B]
func(A, B, "()"); // (A, B)
func(A, B, ""); // assertion error !
137デフォルトの名無しさん:2009/11/27(金) 17:55:31
Hoge( OnBound(0) , OnBound(1) ); // [0,1]
Hoge( NotOnBound(0) , NotOnBound(1) ); // (0,1)
なんか長いし
138デフォルトの名無しさん:2009/11/28(土) 02:31:17
func( char begin, int a, int b, char end);
func( '[', 0, 1, ']')  // [0, 1]
func( '(', 0, 1, ']')  // (0, 1]
func( '[', 0, 1, ')')  // [0, 1)
func( '(', 0, 1, ')')  // (0, 1)
もしくは
func( char begin, int n, char end);
func( '[', 1, ']')  // [0, 1]
func( '[', 1, ']') + 3  // [0+3, 1+3]
139デフォルトの名無しさん:2009/11/28(土) 08:40:04
char は使いたくないな、なんとなく。
でも enum とかだと OPEN だの CLOSE になるから冗長になるんだよなぁ。
140デフォルトの名無しさん:2009/11/28(土) 10:13:57
IIR: inclusive-inclusive range
IER: inclusive-exclusive range
141デフォルトの名無しさん:2009/11/28(土) 10:17:27
Inclusive upper bound
Exclusive upper bound
142デフォルトの名無しさん:2009/11/29(日) 03:23:37
3つの整数を引数として持ち、
それぞれ開始点 foo、終了点 bar、最大増減幅 baz とします。

fooの値から、baz分だけbarに近付けた値を返す、
という関数の名前、および仮引数の名前をお願いします。


例えばbarが100、bazが10だったとして、
90≦foo≦110 なら100を、foo<90なら foo+bazの値を、110<fooならfoo-bazの値を返します。
143デフォルトの名無しさん:2009/11/29(日) 03:33:55
step
144デフォルトの名無しさん:2009/11/29(日) 04:47:55
GetNext(start, end, step)
145デフォルトの名無しさん:2009/11/29(日) 08:46:39
関数名は両方から値が近づいていくようなニュアンスの方がいいかなぁ。
step も start が end に近い場合はそのまんま増減するわけじゃないんだよな。

ゲームの追尾弾のフレーム毎の移動ルーチンかな?
146デフォルトの名無しさん:2009/11/29(日) 09:59:29
100ってなんだ?
147デフォルトの名無しさん:2009/11/29(日) 10:50:53
advance(start, target, max_step)
148デフォルトの名無しさん:2009/11/29(日) 14:04:50
>>142
要するにGUIの吸着動作みたいなことがしたいんだろうか。

int AttractToGrid(int position, int gridInterval, int radius){...}
とか
149デフォルトの名無しさん:2009/11/29(日) 14:12:47
あーでも>>142をよく読むと吸着動作ともちょっと違うな・・・

ひょっとして>>142は座標の増減と、吸着による座標の補正を
無理に一つにしようとしてるんじゃないのか。

だとしたら、単に吸着動作による座標の補正だけの関数をまず考えるべきだと思うが。
150デフォルトの名無しさん:2009/11/29(日) 14:20:07
あんまり汎用的な処理じゃなさそうだし、何に使うかって観点から名前付けた方が
よさそうな予感
151デフォルトの名無しさん:2009/11/29(日) 14:46:00
>>142
approach(begin, end, speed)
152デフォルトの名無しさん:2009/11/29(日) 17:18:32
propose(begin, end, speed)
153142:2009/11/29(日) 17:32:00
ありがとうございます。
関数名はAttractかApproachにしようと思います。引数はbegin,target,stepあたりで。


>>145
確かに、ゲームではよく使いそうな処理ですね。

>>148-149
GUIに例えるなら、ゆっくり動いて吸着する……という感じでしょうか。
そのままではどんな距離でも反応しちゃうので、あらかじめ最も近いグリッドを求める必要があるでしょうが。

増減と吸着をまとめたいというのは正しいですが、
複雑な計算式で数値を求めるわけでもなく、if〜else if〜elseだけで終わる処理なんですよね。

>>150
終了点を0にすると、結構使う場面はありそうです。絶対値に対してデクリメントするような感じで。
まあ、そのまま書いても数行ですけれど。

>>152
実に良いセンス
154デフォルトの名無しさん:2009/11/29(日) 19:31:30
そうでもない
155デフォルトの名無しさん:2009/11/30(月) 17:23:55
同じような物を示す変数で、単位だけが違うような場合ってどうしてる? 変数の型も同じとして。
minHoge secHoge msecHogeとか?
156デフォルトの名無しさん:2009/11/30(月) 17:32:41
>>155
同類のバージョン違いのような物?は末尾を変えてる。
xxxYyyMin
xxxYyySec
xxxYyyMsec
157デフォルトの名無しさん:2009/11/30(月) 18:24:39
>>155 だとアプリケーションハンガリアンってやつだな。
158デフォルトの名無しさん:2009/11/30(月) 19:47:40
>>155
二重管理を避けるのはプログラミングでも仕事でも基本中の基本だよ。
159デフォルトの名無しさん:2009/11/30(月) 20:01:22
二重管理とは別だと思うんだが・・・
160デフォルトの名無しさん:2009/11/30(月) 20:27:23
>>159
そう?よく考えてみた方がいいと思うよ。
161155:2009/11/30(月) 20:42:40
>156
なるほど、後ろもアリか。
>157
アプリケーションハンガリアンって悪者扱いされてない方のハンガリアンだっけ。
>158-160
単位変換のコストが重い場合、もしくは同列に扱われるけど別の値の場合っていうパターンも。
162デフォルトの名無しさん:2009/11/30(月) 21:22:53
>>161
「同列に扱われるけど別の値」は何が言いたいのかよく理解できないけど、
(別の値なら名前を統一する必要ないのでは?)確かに変換コストが高い場合は
キャッシュしとく必要がある場合もあるね。

>アプリケーションハンガリアンって悪者扱いされてない方のハンガリアンだっけ。
そうは思わない。例のシステムハンガリアンよりはマシ、ってだけ。
アセンブラならともかく、まともな言語ならそういうのは構造体なりクラスなりで
表現すべきだと思う。
163デフォルトの名無しさん:2009/11/30(月) 21:38:58
>>161
一々型作ってられない時にアプリケーションハンガリアンが出てくると思うんだけどねえ。
別にプリフィックスじゃなくても下みたいなことやってるでしょ?

// 以下は同一スコープ
int onwerAge, userAge;
int updateInterval;

そりゃなんでもかんでも型作った方がコンパイラチェック入るからいいだろうけど
普通はそこまでしないよね。
164デフォルトの名無しさん:2009/11/30(月) 21:44:09
アプリケーションハンガリアンって別にそんな特別なことじゃないよな。
みんな無意識にやってると思う。
165デフォルトの名無しさん:2009/11/30(月) 22:35:58
やらないってw

いや俺は組み込みアセンブラもやってるから、そっちでは仕方なくその種の
プリフィクスだのタグだのくっつける命名をするけど。
166デフォルトの名無しさん:2009/11/30(月) 22:50:21
へ?
一々何するにもパブリックフィールド一つだけのクラス書いたり
typedefしたりしちゃってるわけ?

・・・それはそれは失礼しました

アプリケーションハンガリアンが何なのかわかってない人って結構多いのかねぇ・・・
167デフォルトの名無しさん:2009/11/30(月) 22:59:20
Joelさんのとこに書いてあるアレでしょ?
やらないよあんなこと。

というか、型を定義することを過剰に重荷に感じるメンタルの方を疑問に思った方がいいと思う。
それはただの習い性というか、思い込みでしょ。
168デフォルトの名無しさん:2009/11/30(月) 23:07:06
いやいやいや

>>163 みたいな例でも
class Age とか class Interval 作るの??
int とかどこで使うんだいったい
169デフォルトの名無しさん:2009/11/30(月) 23:08:46
>>163はごく普通の明示的な命名であって、ハンガリアンなんてラベリングされるような
代物じゃないような気がするんだけど、俺の目が節穴なのかな。
170デフォルトの名無しさん:2009/11/30(月) 23:13:04
>>169
だからそれがハンガリアン記法がやりたかったことなんだってば。
>>164なわけ。

171デフォルトの名無しさん:2009/11/30(月) 23:17:16
なんかもうどうでもいいよ君ら。
ハンガリアン嫌いな人はハンガリアンじゃないっていってりゃいいし
好きな人はハンガリアンだっていってりゃいいし
172デフォルトの名無しさん:2009/11/30(月) 23:35:54
いやそういう感情論じゃなくてねえ。
>>163みたいのがハンガリアンなら、今時の世の中のコードの命名の大半は
ハンガリアンってことになっちまうよ。

そんなのありかよw
173デフォルトの名無しさん:2009/11/30(月) 23:40:09
それが恐ろしいことに
int owner, user, update;
なんて命名するようなのがまだ現存してるんだよな・・・

省くなら型作れ、型作るの嫌なら論理的に区別付く名前付けろボケ新人

あとハンガリアンかどうかなんて関係なくね?
>>>163みたいのがハンガリアンなら、今時の世の中のコードの命名の大半は
>ハンガリアンってことになっちまうよ。
だと何かまずいのか?
174デフォルトの名無しさん:2009/11/30(月) 23:47:18
いやまずくないんだけど、普通はそれをハンガリアンとは言わんでしょ。
175デフォルトの名無しさん:2009/11/30(月) 23:51:44
176デフォルトの名無しさん:2009/12/01(火) 00:03:44
>>155
class hoge{
puclic:
  int msec;
  int sec;
  int min;
};
177デフォルトの名無しさん:2009/12/01(火) 02:37:39
>>176
そういう質問じゃないのよ。
178155:2009/12/01(火) 03:17:04
>177
えっ? 違うの?
179デフォルトの名無しさん:2009/12/01(火) 03:34:00
関数()
{
  struct hoge {
    int msec;
    int sec;
  } hoge_;
}

ローカルクラスにして使うとか?
うん、それはないね
180デフォルトの名無しさん:2009/12/01(火) 07:11:40
いやだからなんで一つの変数にまとめるのよ・・・
そういう質問じゃないよ
181デフォルトの名無しさん:2009/12/01(火) 08:28:18
int _msec;

int sec()const throw()
{
return _msec / 1000;
}

しょ?
182デフォルトの名無しさん:2009/12/01(火) 08:36:44
そもそも実態が一つなのかどうかすら怪しいからなあ
>もしくは同列に扱われるけど別の値の場合っていうパターンも。
これがよくわからんし
183デフォルトの名無しさん:2009/12/01(火) 09:10:47
priceInDollar = rate(JPY, USD) * priceInYen
みたいな感じの?

184デフォルトの名無しさん:2009/12/01(火) 18:18:58
reserveのできるListクラス
あらかじめListNodeをオブジェクトプールで生成しておき、Listに対し要素が追加されたときはオブジェクトプールからListNodeを借りる。

いい名前が思いつかない。

185デフォルトの名無しさん:2009/12/01(火) 19:00:16
C++のvectorみたいな実装かな

PreallocatedList とかかねぇ・・・
いいの思い付かないなあ

186デフォルトの名無しさん:2009/12/01(火) 19:10:40
>>182
>もしくは同列に扱われるけど別の値の場合っていうパターンも。

これは単に、別の値ってことでしょ。
元の質問を見ると、実体が1つの場合、そうでない場合の両方を想定してるように読める。

同列って言うのは、たぶん単位は違うけど次元が同じってことかと。
東京から大阪までの距離を保持する変数(km)と、目から鼻先までの距離の示す変数(cm)みたいな。
187デフォルトの名無しさん:2009/12/01(火) 19:20:08
PreparedList
PooledList
188デフォルトの名無しさん:2009/12/01(火) 19:47:25
>>184
CachedList
189デフォルトの名無しさん:2009/12/01(火) 19:54:45
Cacheは違うだろ
190デフォルトの名無しさん:2009/12/01(火) 20:05:22
識別子の一文字目に数値を許してない処理系で
2ch みたいな数字が最初にくる固有名詞を変数化するときってどうしてます?

191デフォルトの名無しさん:2009/12/01(火) 21:01:03
reservableList
storageList
192デフォルトの名無しさん:2009/12/01(火) 21:04:15
storageListって・・・Listがそもそもstorageやんけ
193デフォルトの名無しさん:2009/12/01(火) 21:12:40
1-> l
2-> z
3-> E
4-> A
5-> s
6-> q
7-> T
8-> g
9-> q
194デフォルトの名無しさん:2009/12/01(火) 21:33:37
>>190
語順を工夫して無理やり2語目以降に持ってくのが基本だと思う。
またはone, two, three, .....とちゃんとスペルアウトしちゃうか。

アンダースコアで始まる名前が禁止じゃないルールならその手もあるのかも知れないけど、
見難いから個人的には嫌い。
195デフォルトの名無しさん:2009/12/01(火) 23:19:09
bbs2ch
196デフォルトの名無しさん:2009/12/01(火) 23:51:07
Hoge www2ch;
Hoge web2ch;
Hoge _2ch;
Hoge nichan;
Hoge obj2ch;
197デフォルトの名無しさん:2009/12/02(水) 00:05:35
Map<string, Hoge> var;
var["2ch"] = 入れたいもの
198デフォルトの名無しさん:2009/12/02(水) 08:40:52
NiChan はありかなーって気もするな。
BBS2ch とか Web2ch あたりが妥当な気がするけど。
199デフォルトの名無しさん:2009/12/02(水) 13:13:58
例示された物に限定される答えを出してる奴は馬鹿なの?
200デフォルトの名無しさん:2009/12/02(水) 15:03:02
iHoge
iiHoe
iiiHoge
ivHoge
vHoge
201デフォルトの名無しさん:2009/12/02(水) 16:06:14
>>193
0→O が抜けてる。
202デフォルトの名無しさん:2009/12/02(水) 17:51:25
>>199
・何らかの単語を先頭に付けて誤魔化す
・数字部分を英字に置き換える

の2パターンに分類されると思うが?
203デフォルトの名無しさん:2009/12/02(水) 18:01:16
IICh を見て 2ch と判断できるエスパーはあんまりいなそうだ
204デフォルトの名無しさん:2009/12/02(水) 21:37:11
siteInfo_2ch
205デフォルトの名無しさん:2009/12/03(木) 00:20:09
割り込み禁止区間をコード中で簡潔に表現したいのですが、
何か適当な言葉はありませんか?
割り込み禁止と、禁止解除をそれぞれマクロ名に使います。

{
handle h = int_disable();

〜 // 割り込み禁止中

int_enable(h);
}

このようなコードを

XXXX_begin

YYYY_end
のようにしたい
206デフォルトの名無しさん:2009/12/03(木) 00:24:30
mutex
critical section
207デフォルトの名無しさん:2009/12/03(木) 00:41:13
>>205
本当にそれやる必要ある?
別に変に別名つけたり抽象化しようとしたりする必要ないんじゃない?

そのままで十分分かりやすいし、別の表現で言い換えたからって
より分かりやすくなるとも思えないけど・・・
208デフォルトの名無しさん:2009/12/03(木) 00:43:16
INT_OBSTRUCT_BEGIN
INT_OBSTRUCT_END
209デフォルトの名無しさん:2009/12/03(木) 01:18:28
uninterruptible_begin
uninterruptible_end
210デフォルトの名無しさん:2009/12/03(木) 10:32:38
#define CS_BEGIN() EnterCriticalSection(&g_cs)
#define CS_END() LeaveCriticalSection(&g_cs)
211デフォルトの名無しさん:2009/12/06(日) 14:58:32
タイルベースのゲームでマップデータを格納する配列Map[rows][cols]が今あるんだけど
データ構造としてのmap(c++のstd::map)とかぶるのでほかの呼び方にしたい
どんなのがいいかな?
212デフォルトの名無しさん:2009/12/06(日) 15:18:13
自分でマップデータって言ってるんだからmapDataでいいのでは?

さもなくばlandMap, tileMap, tiles, tileMatrixとか
213デフォルトの名無しさん:2009/12/06(日) 15:21:39
>>211
board
field
game_map
214デフォルトの名無しさん:2009/12/06(日) 15:57:01
マップの1タイルを Cell とか Tile って名前にして
MapCells とか MapTiles みたいな名前にしたなぁ。
215デフォルトの名無しさん:2009/12/06(日) 18:06:00
grid
216デフォルトの名無しさん:2009/12/06(日) 21:46:43
>>212-215
thx.
Boardが気に入ったんで使わせてもらいやす
217デフォルトの名無しさん:2009/12/07(月) 01:24:57
センスねえの
218デフォルトの名無しさん:2009/12/07(月) 02:23:33
採用されなかったからって僻むなよ
219デフォルトの名無しさん:2009/12/07(月) 03:01:33
俺は提案してないけどね
220デフォルトの名無しさん:2009/12/07(月) 08:05:36
>>218
あるある
221デフォルトの名無しさん:2009/12/07(月) 10:53:11
あるのかよw
222デフォルトの名無しさん:2009/12/07(月) 16:54:44
単位ベクトルを求める関数と、法線ベクトルを求める関数がどちらも normal ぽいんですが、
明確に区別できるように、どうにかなりませんか?
223デフォルトの名無しさん:2009/12/07(月) 17:33:34
>>222
引数が違うから自ずと区別できそうだけど。

[オブジェクト指向版]
void Vector3d::normalize();
Vector3d Surface::get_normal(const Point3d& at);

[対象を引数で与える場合]
void normalize_vector(struct vector3d* v);
struct vector3d get_normal_vector(const struct surface* s, const struct point3d* p);
224デフォルトの名無しさん:2009/12/07(月) 18:00:42
Vector GetNormalizedVector(Vector *a); // Aの単位ベクトルを返す
Vector GetNormalVector(Vector *a, Vectir *b); // A,Bで構成された平面に対する法線ベクトルを返す
225デフォルトの名無しさん:2009/12/07(月) 20:03:57
そっち方面の文化知らないんで言い掛かりになるかもしれんけど、
Normalizeって要するに正規化するってことであって必ずしも単位ベクトルにするとは
限らないんじゃないのかね。

長さ100に揃えるのだって正規化だよね。
はっきりunitとかunityって言葉を使った方がいいんじゃないか。

というわけで、
GetUnitVector

OOPなら
Vector.NormalizeToUnity()
Vector.ToUnity()
226デフォルトの名無しさん:2009/12/07(月) 20:27:58
単位ベクトルは普通にUnitVectorで翻訳はあってるみたいだね
数学的に単位ベクトルを求めることをNormalizeするっていうのかな?
227デフォルトの名無しさん:2009/12/07(月) 22:11:59
知らないなら黙ってればいいのに
228デフォルトの名無しさん:2009/12/08(火) 02:04:20
知らないなら調べてから出直せばいいのに
229デフォルトの名無しさん:2009/12/08(火) 02:09:51
知らないから黙ってるのに
230デフォルトの名無しさん:2009/12/10(木) 19:27:46
あるオブジェクトを一定時間後に自動削除するためのカウントダウンタイマー変数なんだけど
m_KillTimer って名前つけてるんだ。
でもなんかこれだと「タイマーを無効化する」メソッドみたいな名前だ。
どうすればいいかな


231デフォルトの名無しさん:2009/12/10(木) 19:31:36
m_autoDeletionTimer
232デフォルトの名無しさん:2009/12/10(木) 20:15:23
>>230
別にそのままでもいいじゃん。
メンバ変数を表すプリフィクスがついてるものをメソッドだと思う奴ないないよ。

どうしても明示的にするなら
mKillerTimer, mTimerToKill, mKillingTimer, mDisposingTimer
とか

っていうか、どうせそんなオブジェクト他にタイマ持ってないんだろうから
単にmTimerでもいいんじゃないの。
クラス名さえ十分適切ならそれでわかるし。
233デフォルトの名無しさん:2009/12/10(木) 20:51:46
TimerToKill 派だなあ
KillerTimer とかも物騒でいいな
234デフォルトの名無しさん:2009/12/10(木) 22:17:59
>>230
文面を見る限りでは、そのオブジェクトには生存可能な期間(Time To Live)があって、
TTLが0になったらオブジェクトが死ぬイメージに見えたよ。

ってことで、m_ObjectTTL を提案してみる。
235デフォルトの名無しさん:2009/12/10(木) 22:18:13
m_deleteTimer
236デフォルトの名無しさん:2009/12/10(木) 22:22:51
TTLは知ってる人だとどんぴしゃだね。
でもどっちかっていうと削除されるべきオブジェクトの方に持たせたいところではある。
237デフォルトの名無しさん:2009/12/11(金) 00:07:56
質問者が欲しいのは、そのTTL値をデクリメントするタイミングを生成する
オブジェクトの名前だと思うから、ちょっと違う気がする。

ちなみにTTLってネットワーク以外でも一般的に使うんだろうか。
普通TTLって聞いたら(今時あまり使われないとはいえ)半導体の方を想像しそう
238デフォルトの名無しさん:2009/12/11(金) 00:20:59
life-timer
239デフォルトの名無しさん:2009/12/11(金) 00:40:25
timedReaper

これじゃ分からんな。
240デフォルトの名無しさん:2009/12/11(金) 01:25:17
変数名とかじゃないんですが、
時刻の表示で、(プログラム起動から)何日目が経過、
ってどう出力したらいいでしょうか?

(経過した日) HH:MM:SS

という感じで簡潔に出力したいのですが。
241デフォルトの名無しさん:2009/12/11(金) 07:37:08
>>240
スレ違い
242デフォルトの名無しさん:2009/12/11(金) 07:37:46
>>240
uptime
elapsed
243デフォルトの名無しさん:2009/12/11(金) 07:45:01
>>240
誰か英語に直してください〜
http://pc12.2ch.net/test/read.cgi/tech/1194343330/
244デフォルトの名無しさん:2009/12/13(日) 10:45:07
「自動的にオブジェクトを追加するかどうか」を指定するbool変数なんですが

bool m_AddObjectAutomatically
bool m_AddObjectAutomaticallyFlag
bool m_AllowAddObjectAutomatically
bool m_AcceptAddObjectAutomatically
bool m_AddObjctAutomaticallyEnabled
bool m_CanAddObjectAutomatically

それともboolにしないで
enum OBJADD {OA_MANUAL, OA_AUTO} m_ObjectAddition
とかのほうがいいですかね?
245デフォルトの名無しさん:2009/12/13(日) 10:59:35
unsigned m_flags;

F_AUTODEL = 0x1
246デフォルトの名無しさん:2009/12/13(日) 17:20:41
automatic
addition
objects

を省略して

bool auto_add_objects_;
247デフォルトの名無しさん:2009/12/13(日) 20:45:55
すっげヘタな命名ですね
248デフォルトの名無しさん:2009/12/13(日) 20:52:52
命名してから言え
249デフォルトの名無しさん:2009/12/13(日) 22:27:18
他は略してるのにobjectsだけ略されてないのがすげー気になる。
250デフォルトの名無しさん:2009/12/13(日) 22:39:23
bool a_a_o_;
251デフォルトの名無しさん:2009/12/14(月) 00:53:41
バイナリエディタで最強なのはooo
252デフォルトの名無しさん:2009/12/14(月) 01:02:58
add
append
って使い分けてる?
253デフォルトの名無しさん:2009/12/14(月) 01:07:31
addは足したら一体になる(数学的な)感じがするのに対し、
appendはappendix(巻末の付録)みたいに、足したときの一体感が弱い
254デフォルトの名無しさん:2009/12/14(月) 01:17:20
>>252
むしろ意味が全然かぶってないと思う。
その二つの選択で迷うことはありえない気がする。
255デフォルトの名無しさん:2009/12/14(月) 01:26:52
通常はaddで、appendは・・・忘れた。pushとかpush_backもあるしなぁ。
そうそうそういった以外のファイル関係はappend使ったかも

>>253 付け足す?
256デフォルトの名無しさん:2009/12/14(月) 02:34:41
Delphiだとリストへの追加は Add で、メニュー項目の追加も AddItem だったりする
Pythonだとリストへの追加は append だよね
C++STLだと push_back だし、
Cだと文字列の追加(というより連結か?)はconcatだ。
どれも命名したのはネイティブスピーカーだと思うんだけど、結構バラバラだよね。
257デフォルトの名無しさん:2009/12/14(月) 02:36:17
そうそう、joinなんてのもあるな
258デフォルトの名無しさん:2009/12/14(月) 02:41:15
add 加算,加える追加する.
append 付け足す《末尾に付加する》
extend 延長する, 延ばす.
concatenate 鎖状につなぐ; 《文字列を》 連結する.
join 接合する,結合する 接続する
259デフォルトの名無しさん:2009/12/14(月) 09:02:20
Eiffelの本でEnterってのもあったな

>>258 join - 参加する
260デフォルトの名無しさん:2009/12/14(月) 10:59:49
集合に順序関係があればappend
261デフォルトの名無しさん:2009/12/14(月) 19:29:56
262デフォルトの名無しさん:2009/12/14(月) 19:51:43
コピペ君って幼稚だな、まで読んだ。
263デフォルトの名無しさん:2009/12/14(月) 20:27:53
コピペ君って幼稚だな、まで読んだ。
264デフォルトの名無しさん:2009/12/14(月) 21:00:35
>>263
コピペ君って幼稚だな、まで読んだ。
265デフォルトの名無しさん:2009/12/14(月) 21:29:01
コピペ君って幼稚だな、まで読んだ。
266デフォルトの名無しさん:2009/12/14(月) 21:32:48
コピペ君って幼稚だな、まで読んだ。
267デフォルトの名無しさん:2009/12/15(火) 14:47:56
>>266
コピペ君って幼稚だな、まで読んだ。
268デフォルトの名無しさん:2009/12/15(火) 15:51:03
>>266
コピペ君って幼稚だな、まで読んだ。
269デフォルトの名無しさん:2009/12/15(火) 23:31:49
まで読んだ。
270デフォルトの名無しさん:2009/12/15(火) 23:52:52
んだ。
271デフォルトの名無しさん:2009/12/16(水) 00:04:25
まで読んだ。
272デフォルトの名無しさん:2009/12/16(水) 00:26:19
ごめん、読んでない。
273デフォルトの名無しさん:2009/12/16(水) 07:51:41
まで読んだ。まで読んだ。
274デフォルトの名無しさん:2009/12/18(金) 09:59:53
マウスカーソルをしばらく動かさないでいると、一定時間経過後にカーソルが消える。
マウスカーソルを動かすと、すぐにカーソルが復活する

っていう機能をパックしたクラスなんですけど、
どういう名前つけたらよいか困ってます。お知恵を拝借したいです。
CAutomaticCursorSwicher とか?
275デフォルトの名無しさん:2009/12/18(金) 10:22:39
CursorEffect <--(継承)-- DisplayTimeout
276デフォルトの名無しさん:2009/12/18(金) 10:39:16
>>275
CursorEffect is a DisplayTimeout ???
その継承はなんかおかしいだろ。
277デフォルトの名無しさん:2009/12/18(金) 10:54:24
矢印の向きは汎化の方向。UML的に考えて……って、おかしかったかな。
「継承」って書くべきではなかったかもしんない。
278デフォルトの名無しさん:2009/12/18(金) 12:48:57
DisplayTimeout is a CursorEffectでもおかしい件。
279デフォルトの名無しさん:2009/12/18(金) 14:05:12
>>274
AutoVanishingCursor
280デフォルトの名無しさん:2009/12/18(金) 21:07:46
>>274
MouseCursorHider
AutoCursorOffManager
281デフォルトの名無しさん:2009/12/18(金) 22:31:35
>>280
だせえ
282デフォルトの名無しさん:2009/12/18(金) 22:48:55
>>281
対案出してから言えよ間抜け。
283デフォルトの名無しさん:2009/12/18(金) 22:57:23
>>280
AutoCursorOffManagerっていいな
284デフォルトの名無しさん:2009/12/18(金) 22:58:22
でも>>280がださいのは事実
285デフォルトの名無しさん:2009/12/18(金) 23:08:01
>>274
SleepyCursor
286デフォルトの名無しさん:2009/12/18(金) 23:26:19
眠いカーソルか。
>>274の求めているのは「マウスポインタ」じゃなくて「マウスポインタをどうにかする何者か」
の名前だから、〜Cursorはちょっと変。

それじゃまるでトースターのことを「〜パン」って呼ぶのと一緒だ。
287デフォルトの名無しさん:2009/12/19(土) 00:28:55
【政治】自民党「不必要なことをしない政府を目指す」-政権構想会議★2
http://tsushima.2ch.net/test/read.cgi/newsplus/1261131711/
288デフォルトの名無しさん:2009/12/19(土) 01:00:52
コピペ君って馬鹿だな、まで読んだ。
289デフォルトの名無しさん:2009/12/19(土) 05:51:10
CursorVisibilitySwitcher
290デフォルトの名無しさん:2009/12/19(土) 11:13:37
カメレオンカーソル
291デフォルトの名無しさん:2009/12/19(土) 11:18:57
>>290
天才現る
292デフォルトの名無しさん:2009/12/19(土) 11:24:06
カメレオンの方向で考えてたら、ええのあったよ
DimmerCursor とか StealthCursor
293デフォルトの名無しさん:2009/12/19(土) 11:32:39
ついでに GhostCursor
294デフォルトの名無しさん:2009/12/19(土) 11:42:25
CursorBlinker
295デフォルトの名無しさん:2009/12/19(土) 13:35:57
だから「パン焼き機」を「〜パン」って表現するのはどんな言語感覚してんだと
296デフォルトの名無しさん:2009/12/19(土) 13:37:02
>>295
ToNですか?

アレンジは好きにすればいいじゃない
297デフォルトの名無しさん:2009/12/19(土) 13:37:54
間違ったがまぁ(・ε・)キニシナイ!!
298デフォルトの名無しさん:2009/12/19(土) 15:01:02
いいかげん日本語識別子使えよ老人
漢字最強だからまじで
299デフォルトの名無しさん:2009/12/19(土) 15:37:37
実際日本語識別子はサクサクコーディングすすむからいいわな。
リファクタリング前提で設計からコードに落しこむときだけ日本語ってのも結構わるくないよ。
300デフォルトの名無しさん:2009/12/19(土) 15:53:01
じゃあ試しに>>274のお題に適用してみたらどう?

俺は「鼠指示子消去者」とか「マウスポインタを自動で隠す奴」みたいな調子の
クラス名でコーディングしたいとは思わんけど。
タイピング両も増えるし。
301デフォルトの名無しさん:2009/12/19(土) 15:57:18
コンピュータ周りの命名は英語で、
業務に関連したややこしい専門用語は日本語でやればいいんじゃねーの
302デフォルトの名無しさん:2009/12/19(土) 16:07:49
応用の効かんやっちゃなw
303デフォルトの名無しさん:2009/12/19(土) 16:34:53
業務関係はローマ字混在でいいでしょ
HinName(品名)とか
TokCode(得意先コード)とか
304デフォルトの名無しさん:2009/12/19(土) 16:36:47
HinName はないわー・・・
Hinmei でいいだろ

最近のユニコード使用可の処理系なら「品名」ってやっちゃった方が絶対良い。
305デフォルトの名無しさん:2009/12/19(土) 16:39:23
HinNameとかはF社とN社なんかの一流企業でよく見るなw
306デフォルトの名無しさん:2009/12/19(土) 16:41:32
>>304
それってもう実践してる?あるいは実践してるところよく見たりする?
実態はどうなってんるだろうか。
307デフォルトの名無しさん:2009/12/19(土) 16:43:23
多分一流企業に分類されるであろうI社は
チーム辞書にHinName(品名)とSpecialHinmei(特殊品名)みたいな登録してたから
・企業が一流でも仕事が一流とは限らないことを知った
・辞書さえメンテされてりゃネーミングって結構どうでもいいことを知った
308デフォルトの名無しさん:2009/12/19(土) 16:46:53
>>306
俺のところは前に提案してみたら死ぬ程揉めたから実践できていない。
生理的に無理!って人が多い印象。
実用性に関してはどうなんだろね?実践してる人いたら教えてほしい。
309デフォルトの名無しさん:2009/12/19(土) 16:47:04
>>305
ShitenCode(支店コード),ShitenName(支店名)とかもあった気がする
頭日本語、後英語で統一してるとかなんとか
実際英語で書くと長くなるからなぁ
一流なりの計らいでしょ
310デフォルトの名無しさん:2009/12/19(土) 16:49:07
>>305>>307
下請け乙
311デフォルトの名無しさん:2009/12/19(土) 16:50:42
下請け程英語にこだわる気がするw
あと研究分野(結果を出せない人程ね)
312デフォルトの名無しさん:2009/12/19(土) 16:54:38
そうね。
HinName?ダセーProductNameだろJKみたいな非本質的なつっこみする低レベルな人っているね。

313デフォルトの名無しさん:2009/12/19(土) 16:58:59
a,b,cとか適当なのじゃなければインテリセンスがきけばなんでもいいよ
314デフォルトの名無しさん:2009/12/19(土) 17:01:26
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
315デフォルトの名無しさん:2009/12/19(土) 17:09:59
>>314
コピペ君って馬鹿だな、まで読んだ。
316デフォルトの名無しさん:2009/12/19(土) 17:34:15
コピペ君っていうより、繰言君だな。
ボケ老人や知的障害者と同じ脳の障害があるんだと思う真面目な話。
317デフォルトの名無しさん:2009/12/19(土) 17:48:29
>>312
ダサいとかそういう問題じゃないと思うけどねw

312みたいな人が多いから世に糞コードが多いんだと思うけど、
こういう人はコードを書く時のことしか考えてない。

そういうのが普通はダメだとされているのは、別にダサいとかいった中二病的な理由じゃなくて
単に意味を読み取りにくいからだよ。

ただでさえ他人(過去の自分を含む)の書いたコードなんて文字通り"code"だったりするのに、
その上そんな"code"の謎解きの複雑性を増やすようなルールは勘弁して欲しいわ。
318デフォルトの名無しさん:2009/12/19(土) 17:53:11
っていっても通じないから少し捕捉。

HinNameみたいな名前がもし分かりやすいと思ってるのなら、
それはそのコードを書いている時点ではある特殊な前提(『hinって言ったら「品」のことだろJK』)
が頭に入っているからに過ぎないんだ、ってのを自覚して欲しいね。

逆に言えば、そんな特殊な前提が頭に入ってない他人(数日後の自分を含む)には
『hinって何だよ?』としか思えないってこと。
319デフォルトの名無しさん:2009/12/19(土) 17:58:28
ぶっちゃけわかりにくいのはコメントに書くからローマ字か英語かで困るなんてことはない
320デフォルトの名無しさん:2009/12/19(土) 18:13:38
というか普通は用語辞典を作ると思うんだけど。
HinNameだろうがProductCodeだろうが辞典がメンテされてりゃどっちでもいい。
一番始末悪いのは勝手に「HinName?ダセー(ry」をすることだと思う。
321デフォルトの名無しさん:2009/12/19(土) 18:34:36
>>320
なんでそんな回りくどい努力をするぐらいなら、
最初から十分に明示的な名前を付けたほうが合理的だ、って結論にならないの?

こういう人がいると用語辞書と称したバインダーが(以下略
322デフォルトの名無しさん:2009/12/19(土) 18:43:03
>>321
各所で各人が勝手に合理的な名前を決めたらどうなるか考えてみようね。
一人でシコシコ作ってるならともかく。

合理的の定義が皆一律一緒だなんて思うなよ。
323デフォルトの名無しさん:2009/12/19(土) 18:44:35
もういいから。
最初に辞書作るときに、考えが足りなかったということでいいでしょう。
324デフォルトの名無しさん:2009/12/19(土) 18:45:00
>>321
普通は業務知識部分の辞書は作ると思うんだけど最近はそうでもないの?
325デフォルトの名無しさん:2009/12/19(土) 18:46:28
なんか論点ずれたところで戦ってね?
一番大事なのは>>274に早く答えてください。お願いします。
326デフォルトの名無しさん:2009/12/19(土) 18:54:19
流れを戻すが
CursorCloaker
327デフォルトの名無しさん:2009/12/19(土) 18:57:46
>>326
いいけどなんか妙に文学的だなw
それなら普通にhideでいいじゃんって思う
328デフォルトの名無しさん:2009/12/19(土) 19:02:45
「一定時間でポインタ消える」ってのはわりと良くある機能だし、
海外で実装された例を引っ張ってくればよくね?
・・・って思ったんだけど何でググったらいいのかわからんね。

329デフォルトの名無しさん:2009/12/19(土) 19:06:52
検索ワードが思いつかんw
330デフォルトの名無しさん:2009/12/19(土) 19:16:43
唯一覚えてる、X Window System に付いてたカーソル自動消去プログラムの
unclutter のソース見てみたけど main 関数にベタ書きされてて何の参考にもならんかった。
331デフォルトの名無しさん:2009/12/19(土) 19:18:31
実装する環境によるけど「Cursor」より「Pointer」の方が良いかもね。
332デフォルトの名無しさん:2009/12/19(土) 19:27:05
>>329
検索ワードは普通に"hide mouse cursor(pointer)"
でいいと思うんだけど、コード検索してもクラス名はないな。

まあ昔風の人なら「こんなのクラスにすることもない」って程度の機能だから無理もないかも。
333デフォルトの名無しさん:2009/12/19(土) 19:39:11
一定時間後に消えるのはカーソル自体の機能じゃん
機能だけを分離するとか典型的なアンチパターンじゃないか
334デフォルトの名無しさん:2009/12/19(土) 19:43:46
オブジェクト指向とは限らないんじゃね?
って思ったけど>>274はクラスって言ってるな。
335デフォルトの名無しさん:2009/12/19(土) 19:56:17
>>333
プログラマとは思えない発想。
それはただのユーザー目線の物の見方だ。

君の考え方を敷衍すると、マウスポインタの通常の機能(表示、HWをポーリングして移動や
クリックへの応答)も>>274のクラスに入ってないとおかしいんじゃないの?

っていうか、ユーザー目線だってちょっと頭が回るユーザーなら、
マウスポインタの自動消去を制御してるのがマウスポインタ自身だ、なんていう発想は
しないと思う。
336デフォルトの名無しさん:2009/12/19(土) 20:06:07
>>335
オブジェクト指向の勉強したほうがいいよ。
337デフォルトの名無しさん:2009/12/19(土) 20:07:06
お前がな
338デフォルトの名無しさん:2009/12/19(土) 20:13:14
どう見てもお前がだよ
339デフォルトの名無しさん:2009/12/19(土) 20:19:28
いやいやここは俺が
340デフォルトの名無しさん:2009/12/19(土) 20:29:43
どうぞどうぞ
341デフォルトの名無しさん:2009/12/19(土) 20:31:04
なら、例えば「メモ帳」みたいな簡単なエディタを作ることを考えた場合、
「UI( = メモ帳)自体の機能」に見える(いや俺には見えんけど)機能は
みんな「メモ帳」クラスのメソッドとして実装するんだね。

例えばundoとか。例えば検索(&ハイライト表示)機能とか。
ありえんわそんな設計w

まあ、こういう人がVBとかC#とかやるとformにコードベタ書きするんだなときっと。
342デフォルトの名無しさん:2009/12/19(土) 20:38:06
TTL(Time To Live)にあやかって
TimeToDisplayとか。
343デフォルトの名無しさん:2009/12/19(土) 20:40:29
>>335
えーと、その古い考えからの脱却がクラスでありオブジェクト指向なんですが
化石乙
344デフォルトの名無しさん:2009/12/19(土) 20:41:48
>>341
やっぱToNじゃねぇかwwwwwwww
345デフォルトの名無しさん:2009/12/19(土) 20:44:34
>>341
頑張って勉強しなおした方がいいよ、マジで。
346デフォルトの名無しさん:2009/12/19(土) 20:48:16
>>343
言って分かるとも思えんが、OOPについて「現実世界のモノをクラスにする」とかいった
怪しい説明をしてる類の本を読んで分かった気になってるだけだと思うよ君は。
347デフォルトの名無しさん:2009/12/19(土) 20:49:31
>>346
マジ化石乙
今時そんな解釈してる奴いねーから
348デフォルトの名無しさん:2009/12/19(土) 20:51:26
まあとにかく、異議があるのならまず>>335に反論してよ。

カーソル自身の本質的な機能を何も持たず、ただカーソルを制御するだけのものを
「カーソルだ」って認識するの?

じゃあフライパンを振ってる料理人は「××フライパン」ってことになるのかなw
349デフォルトの名無しさん:2009/12/19(土) 20:53:02
>>347
言っちゃ悪いけど、単に君が馬鹿なだけ
350デフォルトの名無しさん:2009/12/19(土) 20:53:05
>>346
相変わらず居もしない馬鹿キャラを妄想して、その馬鹿キャラを一人で馬鹿にして悦に入る作業に余念が無いっすね
人形遊びはそろそろ卒業したらどうっすか?
40超えてんだし、いい加減にしましょう
351デフォルトの名無しさん:2009/12/19(土) 20:54:07
>>348
つ [Extension]
352デフォルトの名無しさん:2009/12/19(土) 20:54:53
>>348
宗教だった頃のオブジェクト志向しか知らないんですね・・・
353デフォルトの名無しさん:2009/12/19(土) 20:55:23
何やら仮想敵相手に頑張ってる初心者がいるようだな。
354デフォルトの名無しさん:2009/12/19(土) 20:55:31
>>350
まあ俺が「馬鹿キャラ」を妄想しているかどうかはともかく、
>>333の言ってることはかなり愚かだ。

嘘だと思うのなら2chの外の世界で、君がまともと思う人に確認してみてくれよ。
355デフォルトの名無しさん:2009/12/19(土) 20:56:11
TONさんあいかわらずブッチギリ馬鹿やなぁ
356デフォルトの名無しさん:2009/12/19(土) 20:56:46
>>354
ブーメランって知ってる?
357デフォルトの名無しさん:2009/12/19(土) 21:02:00
>>354
2chの内外で何か違いがあるのか?
単純にお前さんの周りにはお前さんと同レベルの勘違い野郎しか居ないってだけの話だろ

所詮類友
相容れない
358デフォルトの名無しさん:2009/12/19(土) 21:03:21
で?Extensionで納得できたの?
359デフォルトの名無しさん:2009/12/19(土) 21:04:27
本当馬鹿が多いな今に始まったことじゃないけど。

じゃあ例えばOSの「スクリーンセーバーの機能」はスクリーンセーバーなのかよってw
そんなわけがないだろw

ただスクリーンセーバーという、OSとは独立したプログラムの起動を制御してるだけ。

なんかまるでCRTを指して「パソコン」っていう幼児や老人みたいな発想。
アリストテレスは「知恵とは区別することだ」といったそうだが、そういう意味で
こういう区別する能力が欠如してるのは頭が悪いってことなんだろうな。
360デフォルトの名無しさん:2009/12/19(土) 21:05:44
>>359
いやだから
何時の時代の誰と戦ってるの?君は。
361デフォルトの名無しさん:2009/12/19(土) 21:07:52
おもしろい
362デフォルトの名無しさん:2009/12/19(土) 21:09:11
いじめよくない
363デフォルトの名無しさん:2009/12/19(土) 21:11:57
もういいじゃない・・・
オブジェクト指向なんてわかっててもわかってなくても
つかえればそれでいいんだよ
364デフォルトの名無しさん:2009/12/19(土) 21:12:59
さらにダメ押し。

ちょと前のオーディオはタイマーと部分だけが独立してるのが普通だった。
タイマーは、セットされた時間が着たらチューナーと録音機の電源を入れる。

では、このタイマーのことを「録音機」と呼ぶのが正しいんだろうか?
タイマーはタイマーであって、録音機とは違うんじゃないの?

だとしたら、>>274の言ってるクラスは、ちょうどこのタイマーのような
機能を担当するものなんだが、これについてどう思うよ。
365デフォルトの名無しさん:2009/12/19(土) 21:15:16
何にたいするダメ押しなんだ?
自爆?
366デフォルトの名無しさん:2009/12/19(土) 21:17:28
あんまり苛めてやるなよ
367デフォルトの名無しさん:2009/12/19(土) 21:23:26
結局>>274を早く教えてくださいてめエラ。
368デフォルトの名無しさん:2009/12/19(土) 21:27:02
うお、俺が飯食ってる間にすごいことになってるw
なんかいろいろ面倒だし、とりあえず存在の主張だけしておくか

>>367
結構回答は有っただろう
369デフォルトの名無しさん:2009/12/19(土) 21:42:42
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。

お前ら>>1ぐらいちゃんと読め。
頭悪いとか言えた立場じゃねーだろボケナス共が。

370デフォルトの名無しさん:2009/12/20(日) 12:08:13
>>335
正しい
371デフォルトの名無しさん:2009/12/20(日) 12:12:54
>>336-340
わろたw

>>341 おまいは正しい。ここにいるやつら、にわかプログラマが増えたね

>>343 ばーか。デコレーションパターンとか全部確認してから来い

>>346 いい指摘

>>364 もっと勉強しなさい。才能はあるから。
372デフォルトの名無しさん:2009/12/20(日) 12:14:07
オブジェクト指向の本て悪書が多いからこんなことになるんだな
373デフォルトの名無しさん:2009/12/20(日) 13:25:43
結局どのレスが正しいこと言ってるの?
初心者にも分かるように説明して
374デフォルトの名無しさん:2009/12/20(日) 13:31:17
誰もわかってないんじゃないの?
375デフォルトの名無しさん:2009/12/20(日) 13:35:05
俺はわかってるけど説明は上手いやつに任せる
376デフォルトの名無しさん:2009/12/20(日) 13:46:31
いいか
オブジェクトっていうのはあることに関係する、情報と処理をまとめたものだ

その「あること」がカーソル全体を現すなら、クラス名はCursorだろうし
カーソルの表示非表示をつかさどる機能を表すなら、CursorHiderとかなんだろう

あること、をどこまでにするのかは設計者が決めること
377デフォルトの名無しさん:2009/12/20(日) 13:48:43
>>373
>>364が正しい。
今はタイマー機能が内蔵されてるのが普通だからな
378デフォルトの名無しさん:2009/12/20(日) 14:21:08
皆結構間違ってる。
ここを参考にしないほうがいいよ。
自己レスで正しいっていってるのばっかでワロタwww
379デフォルトの名無しさん:2009/12/20(日) 14:32:02
>>378は正しい。
380デフォルトの名無しさん:2009/12/20(日) 15:25:00
>>379も結構正しい。
381デフォルトの名無しさん:2009/12/20(日) 16:43:35
このポストは誤り。
382デフォルトの名無しさん:2009/12/20(日) 17:10:12
設計について語りたい方はスレ違いですのでマ板などに行ってみてはいかがでしょうか。
383デフォルトの名無しさん:2009/12/20(日) 17:35:13
>>378がこのスレで唯一正しい
384デフォルトの名無しさん:2009/12/20(日) 18:56:49
>>335が噛みついたせいでスレがおかしくなっちまったよ
あーあ
385デフォルトの名無しさん:2009/12/20(日) 23:57:43
>>343
こいつが一番分かってない
386デフォルトの名無しさん:2009/12/21(月) 00:28:42
>>385は正しい。
387デフォルトの名無しさん:2009/12/21(月) 00:49:15
画像を動的に読み込んでリサイズするクラス作ってるんだが、
待機中or読込中or読込完了orリサイズ中or完了orエラーを表すenumの名前に困ってる

LoadStateだとリサイズが含まれない感じがするし、なんとかならないだろうか?
あとenumの名前がどうしても〜Stateになってしまうのを何とかする案をくれると嬉しい
388デフォルトの名無しさん:2009/12/21(月) 00:53:55
>>387
単機能の(他に機能を持たない)シンプルなクラスに聞こえるから、
単純に「クラス名 + State」でよいのでは?

クラス名: BitmapResizer
ステート値名: BitmapResizerState
389デフォルトの名無しさん:2009/12/21(月) 00:55:17
privateな値なら単にstateでもいいと思う。
390デフォルトの名無しさん:2009/12/21(月) 01:14:12
enum値の名前かと思ったけど、
enum型の名前の方ですか?
391デフォルトの名無しさん:2009/12/21(月) 01:16:00
construction_state_t でいいじょん
392デフォルトの名無しさん:2009/12/21(月) 01:21:01
型:ProcessState
値:Ready/Loading/Loaded/Resizing/Done/Error
393387:2009/12/21(月) 01:35:21
みんなありがとう  型名に悩んでた

〜Stateでもいいのかな、そんな気もしてきました
値名のほうはリサイズ中をSCALINGにしてたんだけどRESIZINGのほうがいいかな・・・
394デフォルトの名無しさん:2009/12/22(火) 02:51:41
scaleだと比率指定で縦横比維持
resizeだと縦横フリーダム
のような個人的語感。

395デフォルトの名無しさん:2009/12/26(土) 12:25:14
前方一致と大文字小文字の区別なしに対応した制限の緩い文字列の検索になんて名前をつけたらいいですか?
例えば"abc"で検索した場合、"abc"だけでなく"abc..."や"ABC..."も一致とみなします。
396デフォルトの名無しさん:2009/12/26(土) 12:31:54
looseSearch
fuzzySearch
397デフォルトの名無しさん:2009/12/26(土) 12:33:25
398デフォルトの名無しさん:2009/12/26(土) 12:46:26
lenientMatch
399デフォルトの名無しさん:2009/12/26(土) 12:52:39
>>396-398
どうもです。
boostに倣ってistarts_withにします。
400399:2009/12/26(土) 13:03:00
あーboostのistarts_withは返り値がboolなんですね。
indexを返す関数なのですが、indexを返す事を明示するにはどう名前をつけたらいいでしょうか?
401デフォルトの名無しさん:2009/12/26(土) 13:12:44
>>400
index_istarts_with とか?

↓こんなのもある。
ifind_first
http://www.google.co.jp/search?q=ifind_first
402デフォルトの名無しさん:2009/12/26(土) 13:33:45
>>401
thx
それにします。
403デフォルトの名無しさん:2009/12/26(土) 15:37:53
そんな暗号みたいな名前で納得するのなら、
こんなスレで聞くまでもなく最初からテキトーに命名すりゃいいのに。
404デフォルトの名無しさん:2009/12/26(土) 16:10:00
検索や比較でiのあるなし両方ある場合のiは、ignore caseという意味。
405デフォルトの名無しさん:2009/12/26(土) 16:18:38
istarts_with xxx
ifind_first xxx
って並べると暗号には見えないんじゃない?
406デフォルトの名無しさん:2009/12/26(土) 16:37:59
最近の補完前提の言語だと 〜CaseInsensitive とか 〜IgnoreCase とか
略さないで付けるのが主流だな。
407デフォルトの名無しさん:2009/12/26(土) 17:21:39
>>403
わろうたw  だが、短いやつのパターンも覚えておくと
どうしても長くなる時に役に立つ
408デフォルトの名無しさん:2009/12/26(土) 19:30:45
>>403
どんな名前なら納得するの?
409デフォルトの名無しさん:2009/12/26(土) 22:49:07
つまりあれっしょ、
strstr()とか、strcspn()とかわけわからんのもあるから、
それに近いってイメージなんでしょw
410デフォルトの名無しさん:2009/12/26(土) 22:59:19
>>407
一般的じゃない特殊ルールを知ってないと意味が読み取れないのは文字通り暗号と一緒なわけで、
まあライブラリとかなら場合によっては必要悪として認めてもいいのかも知れないけど、
普通の人が書く非汎用的コードでそれは好ましくないと思う。

>>408
必ずしも名前で解決する必要ないのでは?
パフォーマンス上の要請がないのなら引数の列挙値か何かでオプション指定した方が
分かりやすいし。
411デフォルトの名無しさん:2009/12/26(土) 23:04:25
>>410
非汎用的と言うが、 >>395 のリクエストは明らかに汎用的な関数なわけで。
412デフォルトの名無しさん:2009/12/26(土) 23:17:34
そんな話はどうでもいい
413デフォルトの名無しさん:2009/12/26(土) 23:25:17
何を言っても無駄でしょ
暗号みたいな名前
って思っちゃうくらいだし
414デフォルトの名無しさん:2009/12/26(土) 23:36:47
そうはいっても strcspn とかは正直暗号の部類だと思う。

415デフォルトの名無しさん:2009/12/26(土) 23:52:16
>>411
暗号的な名前を覚える価値があるほど多くの人にとって汎用的な関数とも思えんけど。

もちろん(俺は正直「馬鹿じゃないのお前」と思うけれども)暗号みたいで何が悪いって
言われりゃそれまでだが、だったらこんなスレで質問することないじゃん。(>>403)

命名にこだわるとしたら何のため?
それはコードを読む自分や他人にとっての可読性を確保するためだよね。

可読性なんてどうでもいい、暗号でいいじゃん、っていうならそれでいいけど
ならなんでこんなスレにいるのって話。
416デフォルトの名無しさん:2009/12/26(土) 23:59:29
いい名前はテンションが上がるからです。
こまけーことはいいんだよ
417デフォルトの名無しさん:2009/12/27(日) 00:10:28
>415にとっては
>401で出てる名前が
暗号的で、汎用的には思えないんだからしょうがない

ttp://www.kmonos.net/alang/boost/classes/string_algo.html

何を言っても無駄
418デフォルトの名無しさん:2009/12/27(日) 00:11:36
このスレってこまけーことに拘るためのスレだと思ってたんだけどな。
419デフォルトの名無しさん:2009/12/27(日) 00:15:19
>>417
boost で使われてるから非暗号的ってのはどうかと思うけどなぁ。
ignore case な検索は汎用的だろってのは同意だけど。

まあ言語によって文化はいろいろちゃうだろしね。
C++ で car cdr とか使われても暗号としか思えんだろうし。
420デフォルトの名無しさん:2009/12/27(日) 00:35:27
単純な検索ならcontain("ABC")だけど
ignore caseになるとignoreCaseSearch("ABC")がしっくりくる気がする
421デフォルトの名無しさん:2009/12/27(日) 00:39:46
containsだろ
422デフォルトの名無しさん:2009/12/27(日) 01:06:01
contains だと boolean 返すってイメージがあるなぁ。
423デフォルトの名無しさん:2009/12/27(日) 01:08:30
indexOf じゃね?
424デフォルトの名無しさん:2009/12/27(日) 11:53:22
int indexOf(bool ignoreCase, (ry
これ以外ありえなくね?
425デフォルトの名無しさん:2009/12/27(日) 12:26:29
メモリプールから
取得する→?
開放する→Release

Createだとなんか変だよね?
毎回作ってる訳じゃないし
426デフォルトの名無しさん:2009/12/27(日) 12:45:02
Allocate
427デフォルトの名無しさん:2009/12/27(日) 12:49:00
>>425 Acquire
428デフォルトの名無しさん:2009/12/27(日) 13:37:59
allocateだよなあ。

実装がメモリプールであることを隠すなら
createとかnewでもいいと思うけど。
429デフォルトの名無しさん:2009/12/27(日) 14:30:04
ペアになる語彙って、ある程度おさえておくと命名が楽になるよねー。
430デフォルトの名無しさん:2009/12/27(日) 17:02:35
>>424
それ保守の面で悪くない?
新たな検索方法が必要になる度にindexOfの仕様が変わっちゃうよ。
431デフォルトの名無しさん:2009/12/27(日) 17:35:49
>>424
呼び出し元が indexOf(false, ...) になるんだぜ。意味が分からん。
432デフォルトの名無しさん:2009/12/27(日) 17:55:50
オーバーロードでも作っとけばいいんじゃないの?

だから結局どの言語かによるってことだと思うんだが。
433デフォルトの名無しさん:2009/12/27(日) 17:56:58
ならenumでも使ってろ
俺はenum渡すが、質問者にとっては不要だろ
434デフォルトの名無しさん:2009/12/27(日) 17:57:39
indexOf(boolean IgnoreCase, ...) じゃなく

enum MatchCase { CaseSensitive, CaseInsensitive };
indexOf(string pattern, optional MatchCase matchCase = CaseSensitive, ...)

だろな。
435デフォルトの名無しさん:2009/12/27(日) 18:30:50
つーか、全ての検索を1つのindexOfに実装するのは多機能すぎて良くないと思う。
436デフォルトの名無しさん:2009/12/27(日) 18:37:27
>>435
君さあ、例えば検索条件の違いごとにgoogleのURLが別々になってたとしたら、
それでもgoogle使いたいと思う?
437デフォルトの名無しさん:2009/12/27(日) 19:08:56
>>435のいわんとしてることは
20も30もフラグのくっついた indexOf はありえねーとかってことだと思うよ。

それに正規表現で検索するとかあいまい検索するとかまで盛り込むか?ってなると
結構分離する人の方がおおいんじゃないかなぁ?
438デフォルトの名無しさん:2009/12/27(日) 19:10:48
そういう人のために神はオーバーロードをつかわした。
国際化の判断だの大文字小文字比較だのぐらいは一つの関数に含めてもいいんじゃないかなとは思う。
439デフォルトの名無しさん:2009/12/27(日) 19:11:26
分割とか統合とか設計論じゃないの?
440デフォルトの名無しさん:2009/12/27(日) 19:31:29
>>436
googleのように検索文字列で検索オプションを指定するのは、indexOfではやりたくないでしょ。
「デフォルトを用意すれば多機能でも良い」というのはプログラミングには当てはまらないよ。
つーか、プログラミングに関係ない例で反論するのはやめてくれ。

>>438
ignore caseとかオーバーロードできない(引数が違わない)のもあるよ。

>>439
>>410以降の流れにレスしたのがいけなかったかも知れない。
441デフォルトの名無しさん:2009/12/27(日) 19:32:01
>>424
史上最悪
442デフォルトの名無しさん:2009/12/27(日) 19:32:51
>>425
GetChunk(n)
443デフォルトの名無しさん:2009/12/27(日) 19:34:37
>>437
indexOfに付ける事が考慮される20から30のフラグを是非挙げて見てくれ
そしてその20から30を関数として分離した場合の名前もよろしく
444デフォルトの名無しさん:2009/12/27(日) 19:41:41
中学生かよ
445デフォルトの名無しさん:2009/12/27(日) 20:15:05
条件が異なるだけの同じ処理にそれぞれ別の関数(オーバーロードも)を作成するのはやめて欲しい

文字列の一致条件だと一般的なところで、CS/CI、AS/AI、KS/KI、WS/WI があるけど、
Search_CS_AS_KS_WSみたいな関数を16個も作るとかありえん
446デフォルトの名無しさん:2009/12/27(日) 20:36:59
普通オーバーロード作る時って
・引数少ないバージョン、
・よく変更されるオプションだけだしたバージョンが幾つか、
・フルセットのバージョン
みたいな感じでしょ?

>>445みたいに全組合せ網羅なんて聞いたことないけど。


447デフォルトの名無しさん:2009/12/27(日) 22:21:27
実装する方も大変だろw
448デフォルトの名無しさん:2009/12/28(月) 07:41:20
内部処理が違ってそれぞれインライン展開させたいときはそうするかもしれない
449デフォルトの名無しさん:2009/12/28(月) 20:16:04
Builderパターン使うかも
450デフォルトの名無しさん:2009/12/28(月) 20:20:13
そろそろ設計の話はやめにしようぜ兄弟
451デフォルトの名無しさん:2009/12/28(月) 20:38:23
>>425
new/delete
pop/push
get/return

予約語とかぶるのが多いかな……
452デフォルトの名無しさん:2009/12/28(月) 20:44:06
いくらなんでもpop/pushは適当すぎる
453デフォルトの名無しさん:2009/12/28(月) 21:22:32
get/returnてなんだよ
releaseだろ
454デフォルトの名無しさん:2009/12/28(月) 21:26:25
Objective-Cは alloc release
455デフォルトの名無しさん:2009/12/28(月) 21:49:16
キャッチ&リリース!
456デフォルトの名無しさん:2009/12/28(月) 22:35:22
ドリンク&リバース!
457デフォルトの名無しさん:2009/12/29(火) 00:03:41
蒸着!
458デフォルトの名無しさん:2009/12/29(火) 07:32:46
赤射!
459デフォルトの名無しさん:2009/12/29(火) 07:42:44
焼結!
460デフォルトの名無しさん:2009/12/29(火) 14:21:42
音楽再生で
A 音楽ファイルの先頭部分
B 実際に再生が開始される部分(先頭の空白部分を除いた、実質的な音楽の先頭部分)
C ループの開始位置
D ループの終端位置
E 再生の終了位置
F 音楽ファイルの末尾位置
の6箇所に適した命名って、なんだろう?
例えば60秒の音楽ファイルがあって、先頭の2秒と終端の5秒が無音部分だったとする。
10秒〜40秒の範囲を任意の回数だけループさせるとすると、
A 0秒
B 2秒
C 10秒
D 40秒
E 55秒
F 60秒
となるわけなんだけど。。。

461460:2009/12/29(火) 14:24:41
長くなって失礼。
A 命名なし(常にゼロだから)
B SoundHead
C LoopHead
D LoopTail
E SoundTail
F SoundFileLength
で通じるかな? Head-Tail よりも Begin-End か Start-End のほうがいい?
462デフォルトの名無しさん:2009/12/29(火) 14:38:39
>>461

A PreGapTop
B PreGapEnd
C Loop.Top
D Loop.End
E PostGapTop
F PostGapEnd
463デフォルトの名無しさん:2009/12/29(火) 14:50:52
Top,Begin,Startの反対語はすべてEndなのか
464デフォルトの名無しさん:2009/12/29(火) 21:01:58
top ⇔ bottom begin ⇔ end start ⇔ limit
というイメージ
465デフォルトの名無しさん:2009/12/29(火) 21:04:30
start/stop
466デフォルトの名無しさん:2009/12/29(火) 21:09:46
ループ使う場所でheadって使うとhaed部分って感じがする
ヘッドを再生→ループスタートからエンドまでを何回か再生→フック(?)を再生
467デフォルトの名無しさん:2009/12/29(火) 21:20:28
startはfinishでしょ
468デフォルトの名無しさん:2009/12/29(火) 22:52:32
よく考えたら head<-->tail ではなくて head <--> foot か。
では tail の逆は?
469デフォルトの名無しさん:2009/12/29(火) 22:55:35
自然言語の対語関係が、そんな人が人為的に設計したような
論理的な関係に必ずしもなってるわけがないでしょ。

あんまり意味のない議論だ。
470デフォルトの名無しさん:2009/12/29(火) 22:58:22
>>468
ヘビとかだったらhead tailでいいんじゃね?
471デフォルトの名無しさん:2009/12/29(火) 23:38:12
UNIX のコマンド的にも head/tail の方が馴染むし。
472デフォルトの名無しさん:2009/12/29(火) 23:56:48
そろそろ誰か突っ込んでやれよ
頭部の方の意味じゃないって
473デフォルトの名無しさん:2009/12/30(水) 10:13:54
head = front = car
tail = rest = cdr
foot = back
474デフォルトの名無しさん:2009/12/30(水) 11:00:34
carとcdrは違うと思うぞ。
475デフォルトの名無しさん:2009/12/30(水) 11:23:31
コイントスが "head or tail?" だからそれでいーんじゃねーの?
476デフォルトの名無しさん:2009/12/30(水) 21:29:54
イテレーター実装したときcarとcdrはよく使う
477デフォルトの名無しさん:2009/12/30(水) 22:20:57
lispの仲間達意外でcar/cdr使う奴は気違い
478デフォルトの名無しさん:2009/12/30(水) 22:49:10
carとcdrは、先頭と末尾というより、先頭と残りだな。
479デフォルトの名無しさん:2009/12/31(木) 01:04:12
しかし、また質問だけしてトンズラかよ
実にウンコな人間性だな
480デフォルトの名無しさん:2009/12/31(木) 01:04:28
だったらtail=rest=cdrであってるじゃん
481デフォルトの名無しさん:2009/12/31(木) 08:05:39
>>480
A B C D E F G
のとき
headはAで、tailはG
carはAで、cdrはB C D E F G
じゃねーの、という話。
482デフォルトの名無しさん:2009/12/31(木) 09:53:04
何にしても car/cdr は Lisp 知らない人にはイミフな上に
なまじっか知ってる人には誤解を与えかねないから不適当だと思う。

・・・曲のお尻の部分の名前の話だよね?
483デフォルトの名無しさん:2009/12/31(木) 12:56:39
もう質問者はお前らに愛想を尽かして帰ったよ。
484デフォルトの名無しさん:2009/12/31(木) 12:59:57
tailは尻尾=頭以外ということだからtail=cdrでOK
485デフォルトの名無しさん:2009/12/31(木) 13:05:34
>>484
>尻尾=頭以外
wwwwwww
bodyはどこいったんだよ
486デフォルトの名無しさん:2009/12/31(木) 19:24:13
インターフェースから元のオブジェクトの参照を取得するインターフェースを
定義したいのですが、そのインターフェース名とメソッド名を組でお願いします。
インターフェースからオブジェクトへのキャストができない言語使ってるので・・
487デフォルトの名無しさん:2009/12/31(木) 19:26:19
GetThisRef
488デフォルトの名無しさん:2009/12/31(木) 19:29:03
GetImpl
489デフォルトの名無しさん:2009/12/31(木) 19:45:52
ああ、すみませんインターフェース名とメソッド名を*組*でお願いします。
490デフォルトの名無しさん:2009/12/31(木) 19:49:17
続き、メソッド名なら自分を>>488さんみたなGetImplementerとかGetSource(Original)Object
とか、いろいろ考えました。がそういう場合インターフェース名をどうしようかなとか。
491デフォルトの名無しさん:2009/12/31(木) 19:50:47
?
そのインターフェイスは何のためにあるの?
それを名前にすればいいという話ではないの?
492デフォルトの名無しさん:2009/12/31(木) 19:54:07
>>491
このインターフェースには元のオブジェクト参照を取得する上記のメソッドしか定義しません。
純粋に.NETでいったらICloneableのCloneメソッドとかそんな感じのインターフェースです。

493デフォルトの名無しさん:2009/12/31(木) 20:07:04
ObjectProvider.GetInstance
494デフォルトの名無しさん:2009/12/31(木) 20:16:31
みなさん色々ありがとうございます。ニュアンス的?には逆参照?かなと思ったので、
IDereferenceableのGetDereferencedObjectでいいかなと。 まぁ、とりあえず、これで
進めてみます。ありがとうございました。
495デフォルトの名無しさん:2009/12/31(木) 22:03:42
>>491じゃないけど、そんなインターフェイスの必要性がわかんないね。

元のオブジェクトって、どのインターフェイスに型付けされた変数に入っていようが、
入っているのは「元のオブジェクト」そのものでしょ?
496デフォルトの名無しさん:2009/12/31(木) 22:55:11
>>495
>>486です。
>入っているのは「元のオブジェクト」
そうです。で、あるインターフェースで定義されているメソッド以外のメソッドを
呼ぶ必要があったので、インターフェースからオブジェクトへのキャストが許されていない
言語を使っているので、元のオブジェクトへの戻す必要があったのです。もちろん、別のインターフェースを
定義してインターフェースから別のインターフェースへのキャストしてもいいのですが。


497デフォルトの名無しさん:2009/12/31(木) 23:06:50
具体的にいうと
あるメソッドの実装で、あるインターフェースIInterfaceAを受け取るのですが、その内部実装で、
void Method(IInterfaceA A) {
 // ここで、AのIInterfaceAを実装している元のオブジェクト
 // のIInterfaceAで定義されていない他のメソッドをいくつか呼びたい。
}

IInterfaceAは外部に公開されるインターフェースです。先ほど書いたように他のメソッドを呼ぶ時に外部に
公開しないIInterfaceBを定義して、IInterfaceA->IInterfaceBへキャストしてもいいんですが。
498デフォルトの名無しさん:2009/12/31(木) 23:14:00
設計見直せば?
インターフェースの意味完全に見失ってるよねそれって
499デフォルトの名無しさん:2009/12/31(木) 23:22:04
>>496-497
丁寧に解説ありがとう。
でも、俺も>>498と同意見。

なんか事情があるにせよ、メソッドが本当に必要としている型は引数とは別の型だ、
ってのはかなり間違ってると思う。
500デフォルトの名無しさん:2009/12/31(木) 23:29:21
>>497です。
実は俺もこんなことって普通なの?って思ったんですよ。
ですが、インターフェース設計してるのは俺じゃなくて、公的な規格でただそれを実装
してるだけなんです。で、その規格の有名なJavaの実装のソースを見たら
そうしてたんで、まねてるだけなんです。

501デフォルトの名無しさん:2009/12/31(木) 23:35:34
>>497です。
>>500への補足です。もちろん公的な規格でインターフェースが定義されていても
実装を切り離せるのがインターフェースなのは知ってますが、その有名なJavaの実装の
ように元のオブジェクトへの参照へ変換するか、先ほど書いたように別の非公開のインターフェースを
定義してそれ経由で呼び出すがぐらいしか方法ないかなーと。
って、何の話だかわからないと思いますが。
502デフォルトの名無しさん:2009/12/31(木) 23:38:08
後、もう1点だけ。先ほどの>>497のメソッド自体もその公的な規格のインタフェースのメソッド
の実装で、引数のIInterfaceAもその公的な規格のインターフェースの一つです。
503デフォルトの名無しさん:2009/12/31(木) 23:46:40
ひょっとしてアダプタを作るメソッドをインターフェースに含めてるのかな?
だとしたらMakeHogeAdapterかなぁ
まあ真似する対象があるならそれのメソッド名見ればいいんじゃね
504デフォルトの名無しさん:2010/01/01(金) 00:04:28
まぁ、実装の話はスレ違いなのは知ってますが。実際に実装してるおはW3Cで定義されている
XMLやHTMLをツリー構造で扱うDOM(Document Object Model)を実装してるのです。ttp://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core.html
参考にした実装はXercesというJavaの実装です。

そこでノードを表すINodeインターフェースが定義されているのですが、
例えば、そのメソッドの1つである子ノードを追加する

メソッドappendChild(INode newNode);
で、newNodeを子ノードとして追加するのですが、この実装で、
追加と同時にnewNodeの親ノードを変更してやる必要があるのですが、
INodeには親ノードを取得するメソッドはあるのですが、変更するメソッドはありません(つまり、外部的にはread-only)。
で、その親ノードを変更するために、引数として渡されるのはあくまでもINodeインターフェースなので、
元のオブジェクトに変更するか、別の非公開のインターフェースを用意するか方法ないかなーと。
505デフォルトの名無しさん:2010/01/01(金) 00:38:04
Factoryメソッドなんかでたまにそういうのあったりするっていやあったりする気もするなぁ。

メソッドの中で is ??? でオブジェクト調べた上でのダウンキャストだから
問題ないっていや問題ないとは思ってたけど。
506デフォルトの名無しさん:2010/01/01(金) 01:18:40
ノードの具体的な実体を生成する機能を親ノードと同じパッケージだけに持たせる
つもりなんだろうから(そうでないと>>504の話は破綻するよね)、それならノードを
インターフェイスにする意味は普通に考えれば何もないね。

むしろノードは普通にクラスで定義すれば、「親ノードを変更するメソッド」は
default(C#のinternalに相当するアクセサってこれでよかったっけ?)にすれば、
変な細工なんかしなくてもパッケージの外に対しては隠蔽できると思うんだけど。
507デフォルトの名無しさん:2010/01/01(金) 01:35:00
ここは何スレ?
508デフォルトの名無しさん:2010/01/01(金) 16:29:45
TONが無知を晒すスレです
509デフォルトの名無しさん:2010/01/01(金) 17:22:52
チンパンジーのアイちゃんが(ry
510デフォルトの名無しさん:2010/01/04(月) 19:22:51
字句解析を行っている最中の、
未だトークンに満たない文字列を納めた変数の名前を考えてます。

たとえば、文字列 "void main () {" をトークンに分けたいとします。
先頭の3文字目まで読み取って、変数Aに文字列 "voi" が入っているとします。
これはまだトークンとは見なせないので次の文字 'd' を読み取り、
変数Aは "void" となります。
まだ完全にトークンとは見なせないので次の文字 ' ' を読み取り、
その結果変数Aの "void" はトークンと認識され、これを元にトークンを作ります。

この変数Aに付ける名前です。
お願いします。
511デフォルトの名無しさん:2010/01/04(月) 20:34:29
>>510
俺は tokenBuffer って名前にしてた。




512デフォルトの名無しさん:2010/01/04(月) 20:55:19
>>511
あ、なるほど。
難しく考えすぎてました。

ありがとうございます、参考にさせてもらいます。
513デフォルトの名無しさん:2010/01/04(月) 20:56:44
>>510
この辺りの形容詞(じゃないのもあるけど)でも付けてみるとか

pending
unsolved
unfinished
unsettled
unterminated
indeterminate
candidate

ローカル変数なら単にcandidaiteが良いかも
514デフォルトの名無しさん:2010/01/04(月) 21:01:42
俺なら単に source で済ませちゃうな。
何か付け足すにしても sourceBuffer、sourceString ぐらいで。
515デフォルトの名無しさん:2010/01/04(月) 21:15:38
スコープが狭ければbufで済ませるかもしれん。
516デフォルトの名無しさん:2010/01/04(月) 21:17:21
sourceだと読み込み元の方にならね?
切り出し前の "void main(){" の方がsourceって感じがする。
tokenのsourceって考えると合ってる感じもするけど。
517514:2010/01/04(月) 21:47:23
>>516
確かにそーだね……んじゃ buffer にしよっと。
518デフォルトの名無しさん:2010/01/05(火) 04:04:15
>>513
どれもこれも酷いな
絶対つけないわ
519デフォルトの名無しさん:2010/01/05(火) 10:12:17
>>518
時々直訳したのを列挙するだけの人がわくのがこのスレ
520デフォルトの名無しさん:2010/01/07(木) 11:12:01
いつも悩むの例外クラスの名前やそれにまつわるもの命名(エラーメッセージの定数とか)なんだけど。
みんなどうしてる?例外クラスの名前とかにやっぱNoとかNotとか付くように否定文的に名前付ける?
まぁ、例えば、何でもいいけど、メソッドに無効な引数が渡された例外クラスの名前は
EInvalidArgument?(肯定文的に)
ENoValidArgument?(否定文的に)
それか
EArugmentCheckErrorとか?
言語によってもスタイルがある?だろうけど、今いちどうしていいかわからん。
521デフォルトの名無しさん:2010/01/07(木) 11:33:11
.NETでは単にArgumentException
例外の時点で値が無効なのは明らかだから不要というスタンス
522デフォルトの名無しさん:2010/01/07(木) 11:59:09
あくまで例として出したにしてもNoValidはさすがにねえよw

.NETとかJavaなんかだと例外の命名ガイドラインあったと思ったけど
接尾辞ぐらいしか決まりなかった。

523デフォルトの名無しさん:2010/01/07(木) 12:41:32
>>520です。
>>例外の時点で値が無効なのは明らかだから不要というスタンス
なるほど、そう考えると何か見えてきました。
>>.NETとかJavaなんかだと例外の命名ガイドライン
一度見てみようと思います。
524デフォルトの名無しさん:2010/01/07(木) 21:06:05
>>521
>例外の時点で値が無効なのは明らかだから不要というスタンス
それはない。

現にArgumentExceptionには複数の派生クラスがあるし、FormatExceptionなんてのもある。
「引数がオカシイ」にしてもどうオカシイかはいろいろありうるから当たり前。

ただ、誰が使うか分からないライブラリでも書いてるんじゃなきゃ、
わざわざ細かく分類した例外クラスが必要になることって実はあんまりない気もする。
525デフォルトの名無しさん:2010/01/07(木) 21:16:44
「何が」だけでよくて「オカシイ」は不要ってことだろ
InvalidFormatExceptionやArgumentCannotBeNullExceptionじゃないでしょ
526デフォルトの名無しさん:2010/01/07(木) 21:27:50
FileNotFoundException はどうしましょ?
527デフォルトの名無しさん:2010/01/07(木) 22:31:55
言ってみるなら FilePathException とかになるのか?
528デフォルトの名無しさん:2010/01/07(木) 22:46:35
FileFoundExceptionだろ
529デフォルトの名無しさん:2010/01/07(木) 23:03:32
>>526
え?何か問題でも?
Formatがオカシイ
Argumentがオカシイ
FileNotFoundがオカシイ

InvalidFormatがオカシイはオカシイ
530デフォルトの名無しさん:2010/01/07(木) 23:07:18
まあInvalidOperationExceptionとかあるけどな
OperationExceptionだと意味不明だからな
531デフォルトの名無しさん:2010/01/09(土) 10:26:17
JavaScriptです。

与えられた文字列をJavaScriptで利用可能なCSSプロパティ名に
変更して返す関数。
例:background-color => backgroundColor

いい案ありましたらよろしくお願いします。
532デフォルトの名無しさん:2010/01/09(土) 11:07:12
単に連結時の語頭を大文字にする(camelCaseにする)機能なら
camelize() でいいかもしれんが、これだとCSSプロパティとして
認識すること、たとえばプロパティ名として未定義のものなら
エラーにするみたいなことは期待できない名前だな。

toCssPropertyName() などでどうか。
533デフォルトの名無しさん:2010/01/09(土) 11:21:45
>>532
妥当性については検証しませんので toCssPropertyName を
利用したいと思います。

camelize は知らなかったです。参考になりました。

どうもありがとうございました。
534533:2010/01/09(土) 11:22:33
すみません。

手違いです。前者と後者は逆です;
535デフォルトの名無しさん:2010/01/09(土) 11:27:53
cssname2jsname
536533:2010/01/09(土) 11:41:40
>>535
やはりJSで利用可能なプロパティ名に変更するという点を
明記した方がいいのかもしれませんね。

これから実装しながら検討していきたいと思います。

どうもお付き合い下さりありがとうございました。
537デフォルトの名無しさん:2010/01/09(土) 12:46:11
CSVファイルを読み込み書き込み変更するクラスの名ですが

class CSVだけでは言葉足らずな気がするし
CSVReader〜〜としていくと冗長な感じですし
端的にあらわすいい名前ないでしょうか?
538デフォルトの名無しさん:2010/01/09(土) 12:54:50
CSVFile CSVDocumentなどでよいのでは?
539デフォルトの名無しさん:2010/01/09(土) 13:34:42
>CSVファイルを読み込み書き込み変更するクラス
たぶんそういう考え方で作ると破綻するよ。
スレ違いだけどね
540デフォルトの名無しさん:2010/01/09(土) 13:41:30
>>538
そのものずばりでいいかんじですね

>>539
込み入った話になるとスレチになってしまいますが
どういう風に不味いのか教えていただけないでしょうか
541デフォルトの名無しさん:2010/01/09(土) 13:50:01
>>540
分かった風な事を書いてオナってるだけの人なんでスルーしてあげてください
542デフォルトの名無しさん:2010/01/09(土) 14:06:22
propertize とか
543デフォルトの名無しさん:2010/01/09(土) 14:15:33
たぶん機能詰め込みすぎじゃないかって指摘だと思うけどね
CsvFile CsvDocumentのほうがしっくり来るのは俺だけ?
544デフォルトの名無しさん:2010/01/09(土) 14:36:47
>>539
機能を集めてクラスを作るんじゃなくて、
物(というのは実はこれも語弊あるんだけど)に対してどんな操作が
あるかという向きで考えるほうがいいよってことだと思う。
545デフォルトの名無しさん:2010/01/09(土) 14:37:57
>>539じゃなくて>>540でおじゃる。
546デフォルトの名無しさん:2010/01/09(土) 15:09:30
>>540
なぜ不味いかって言われると返答が難しいけど、普通に

(1) データ(レコードの配列)を操作するクラス
(2) 文字列の配列をCSVファイルに書き込むクラス
(3) CSVファイルから文字列の配列を取り出すクラス

みたいに、データとその保存形式は分けて考えたほうが簡単でしょ。
まあ実際コード書いてみりゃ分かると思う。
547デフォルトの名無しさん:2010/01/09(土) 15:33:39
返答に困ってる時点で何も考えずに吐いた放言だったと言う事が明らか
1時間かけて捻り出した返答も空気読めてない上投げっぱなしの酷い物だな
548デフォルトの名無しさん:2010/01/09(土) 15:52:20
まあ実装の話はよそでやれってことで。
549デフォルトの名無しさん:2010/01/09(土) 20:33:42
>>546
それはクラスがまた別なクラスを一時的に生成して、
目的の機能を実現するように作ればいいだけのことだろ
550デフォルトの名無しさん:2010/01/09(土) 20:53:18
何が「だろ」か知らんけど、
「CSVファイル」を抽象化の対象とするようなコーディングは、
少なくともまともなプログラマならやらないと思う。

「CSVファイルを読み込み書き込み変更するクラス」
これはちょっとありえんよ普通は。

っていうか、このあいだのカーソルの件といい、「現実世界の物を・・・」式の
間違ったオブジェクト指向を身に着けちゃってる人って結構いるのかね。
551デフォルトの名無しさん:2010/01/09(土) 21:11:02
……。
552デフォルトの名無しさん:2010/01/09(土) 21:20:30
CSVFile(仮)の是非はともかくとして,
CSVFileオブジェクトを二次元配列の代わりに持ちまわるような作りなのであれば間違いなく良くないな
どこかでデータをフォーマットから分離するべき
553デフォルトの名無しさん:2010/01/09(土) 21:24:20
またスレタイ読めないアホが頑張ってるな
554デフォルトの名無しさん:2010/01/09(土) 21:24:29
いや、class CSVFile implements Matrix<String>してるのかも知れんぞ、、、
555537:2010/01/09(土) 21:33:20
いまいちどこをどうしたらいいのかわからないので初質スレに行ってきいて見ようと思います

ありがとうございました
556537:2010/01/09(土) 21:51:27
あー・・・

ファイルを読み込んできてフォーマットにしたがってデータを切り分けするクラスと
(このクラスを抽象化してフォーマットごとに対応できるようにする)

二次元配列を内部に持っていて、そこにデータをset/get等するデータテーブルのクラスと

データテーブルの内容をフォーマットにしたがってファイルに書き出すクラス
(ここも抽象化しておく)

こういう風に切り分けた方がいいということでしょうか?
これでなければ質問スレにいってきます

スレ汚し失礼しました
557デフォルトの名無しさん:2010/01/09(土) 21:57:44
データテーブルのクラスがあれば別にファイルフォーマットは抽象化する必要ないでしょ
558デフォルトの名無しさん:2010/01/09(土) 21:57:52
ス レ タ イ 読 め
559デフォルトの名無しさん:2010/01/09(土) 23:54:35
>>546
CSVを文字列の配列読み込みにしか使わないなんて
贅沢な使い方してるな
560デフォルトの名無しさん:2010/01/10(日) 00:15:11
>>559
これを恐らくネタじゃなくマジで言ってるところが怖いところだw
しかし、馬鹿はいいけど馬鹿の自覚がないのは嫌だね
561デフォルトの名無しさん:2010/01/10(日) 00:16:30
ス  レ  タ  イ  読  め
562デフォルトの名無しさん:2010/01/10(日) 01:55:05
>>556
いちゃもんつけてるのはこのスレの名物基地外だからスルーした方がいいよ

「今、他のデータフォーマットにも対応する必要があるかどうか」が全て
無いなら妄想基地外の戯言だから無視でおk

無駄な事考えて時間食っても給料下るだけ
563デフォルトの名無しさん:2010/01/10(日) 02:44:13
そういう問題と違うんだけどねw
まあ、こういうのは経験上、「馬鹿の壁」が存在するようだから
理解できない奴には本当に理解できないんだろう。
564デフォルトの名無しさん:2010/01/10(日) 03:01:32
っていうか、そもそも「いちゃもんつけてる基地外」はお前さん自身だし
「スルーした方がいいよ」ってスルーしてないのも。

文字通りストーカーそのものだなw
馬鹿な癖に他人にいちゃもんをつけて、それを返り討ちにされると逆恨みして年単位で粘着する、と。
そのくせ本人にはまったく自覚がないのもストーカーと一緒。
気持ち悪過ぎる。
565デフォルトの名無しさん:2010/01/10(日) 13:35:24
>>564
鏡が必要か?
566デフォルトの名無しさん:2010/01/10(日) 13:40:26
おっさんどもは引き際というものを知らないな
567デフォルトの名無しさん:2010/01/10(日) 16:55:03
自分で設計スレでも立てりゃいいのに
このスレに居座ってスレチを続けるTONさんに引き際とな
568デフォルトの名無しさん:2010/01/10(日) 18:00:54
canReadThreadTitle
569デフォルトの名無しさん:2010/01/10(日) 19:17:16
>>550
馬鹿じゃないの?
570デフォルトの名無しさん:2010/01/11(月) 23:43:12
boolean型の変数の命名に関して質問させてください。

can + 動詞は、〜することが可能か否か、を表すとして、
has + 過去分子はどういう時に使うのでしょうか。
571デフォルトの名無しさん:2010/01/11(月) 23:49:03
>>570
booleanはisもあるよね
572デフォルトの名無しさん:2010/01/12(火) 00:08:21
後ろが過去分詞の場合は、○○されたかどうか、ということ
名詞の場合は○○を持ってるかどうか、ということ
573デフォルトの名無しさん:2010/01/12(火) 00:25:18
>>572
○○されたかどうかは is + 過去分詞じゃないか?

has + 過去分詞はあんまり使わないと思うけど、 has received で受信したかどうか、とか?
これなら received でもいいような気がするけどね。
574デフォルトの名無しさん:2010/01/12(火) 00:27:25
>>571
ええ、is + 名詞なら、〜か否か、ということなので解りやすいのですが。

>>572
ありがとうございます。疑問は晴れました。

このスレで以前、bool型の変数名で動詞から初めてもいいのかどうか、みたいな
議論がありましたが、私は動詞から始めたくないので、では何を頭に付けたらよいか
ということで悩んでます。
例えば、trueなら特定の処理を無視する、という変数があり、その名をignoreHogeとするとsetter/getterの命名に困ります。
setterがsetIgnoreHoge()だと何か変な気がしますし、getterがignoreHoge()だと"Hogeを無視する処理"みたいです。
あとhas○○という変数のsetterの命名法もわかりません。
575デフォルトの名無しさん:2010/01/12(火) 00:40:09
>>573
確かに英語の文法からすると、〜される、はbe + 過去分詞ですね。
やはりhas + 過去分詞はよくわかりません。
"既に"〜された、みたいなニュアンスなんでしょうか。
576デフォルトの名無しさん:2010/01/12(火) 00:43:05
>>574
setter/getterは半ばアプリケーションハンガリアンのつもりで使って、
少々おかしくなっても機械的にset〜, get〜にしてしまえば良いと思う。

canの代わりに〜ableも一つの手。ignorableHogeとか。
577デフォルトの名無しさん:2010/01/12(火) 00:43:56
>>575
普通 has+過去分詞 なんて使わない気がする
578デフォルトの名無しさん:2010/01/12(火) 00:55:51
>>576
やはりその方法が考えなくて済むのでいいのかもしれませんね。
なんか英語としての正しさを完全に保った命名なんてムリなのかもしれないと思えてきました。
579デフォルトの名無しさん:2010/01/12(火) 06:00:36
名前をつけるんであって
作文してるわけじゃないんだから文法上の正しさを気にする必要はあんまない
580デフォルトの名無しさん:2010/01/12(火) 07:59:39
have + 過去分詞は現在完了って中学校でならうだろ。
hasDone 実行ずみ(か?)
hasDrawn 描画ずみ(か?)
のように、何かを既に行ったかどうかを判定するときに使う。
581デフォルトの名無しさん:2010/01/12(火) 08:04:18
なんでこんな口調で書くんだろうね
582デフォルトの名無しさん:2010/01/12(火) 09:25:47
hasExpired なんてのは普通に使うしな。
でも
isExpired も使ってるの普通に見るけど。
ぶっちゃけどっちでも良い気はするけど。通じるし。
583デフォルトの名無しさん:2010/01/12(火) 09:28:43
>580のいうとおり、setするフラグが内部的処理によるものだったりするんだろう
たとえばObserverの登録可能なクラスで、bool hasChanged()なんてのがあったり。
これは結構自然に思う
584デフォルトの名無しさん:2010/01/12(火) 19:52:06
好みの問題と言えばそれまでだけど、
>>580のような例ならhasじゃなくalreadyを使った方がいいと思うよ。

ドトネトだと(javaでも?)「三単元ルール」に引っかかるし(例. HasValue
のようなプロパティと紛らわしい)、alreadyの方がより明示的だから。

まあ最初に言ったように全否定はしないけど。
585デフォルトの名無しさん:2010/01/12(火) 19:53:23
三単現が大三元みたいになってやがる......
586デフォルトの名無しさん:2010/01/12(火) 20:00:43
……。
587デフォルトの名無しさん:2010/01/12(火) 21:38:40
hasExpired の人は
wasExpired と迷っちゃうの?
588デフォルトの名無しさん:2010/01/12(火) 22:16:10
それはそもそも単に冗長。
expiredで十分。
589デフォルトの名無しさん:2010/01/12(火) 22:50:12
>>588
boolean 使う時にはなんかプリフィクス付ける方が主流じゃない?
俺は何も考えず isExpired にしそうだなぁ。
590デフォルトの名無しさん:2010/01/12(火) 22:57:15
>>588
notの場合は、そうしちゃいそうね:notExpired
591デフォルトの名無しさん:2010/01/12(火) 22:58:09
isは取っ払えるものは取っ払っちゃうな
592デフォルトの名無しさん:2010/01/13(水) 01:50:42
>>589
何も考えずに is 付けるやつがいて困る。
is + 動詞とか全然平気。ヤバイ。 if is item get とか、もう読みたくない。
593デフォルトの名無しさん:2010/01/13(水) 09:11:25
is + 動詞はさすがの俺でもありえない
594デフォルトの名無しさん:2010/01/13(水) 09:56:43
複数形の場合は、areHogesとかにするのでしょうか?
595デフォルトの名無しさん:2010/01/13(水) 10:12:36
インスタンスメソッドだとありえないが、それ以外ではたまに見かけるな
596デフォルトの名無しさん:2010/01/13(水) 20:15:37
複数形って何だよw
自分で言ってる意味わかって言ってるのかな
597デフォルトの名無しさん:2010/01/13(水) 23:00:34
複数形ってことは・・・名詞が入る場合ってどんな場合だろ?

麻雀を例にでっちあげてみると

//tile は牌クラスのインスタンス
tile.isDragonTile() // 三元牌かどうか

//hand は牌クラスのコレクション
hand.areCharacterTiles() // 牌のコレクションが全て字牌かどうか

みたいな感じか??無理矢理すぎてなんかぜんぜんピンとこねぇ。
598デフォルトの名無しさん:2010/01/14(木) 09:01:22
> hand.areCharacterTiles

自分だったら、isAllCharTiles にするかな。
599デフォルトの名無しさん:2010/01/14(木) 09:45:12
>>598
おれもやるとしたら

hand.isCharacterTileOnly()

にする。
600デフォルトの名無しさん:2010/01/14(木) 10:30:42
おれなら、 hand.hasCharacterTilesOnly()
601デフォルトの名無しさん:2010/01/14(木) 10:32:28
例えコレクションでもインスタンスは1つだから普通は複数形にならないな
有りうるとすれば、staticメソッドで複数のパラメータを主格としてとる場合くらいで
602デフォルトの名無しさん:2010/01/14(木) 10:44:22
Assert.AreEqual(Object, Object) とか。
603デフォルトの名無しさん:2010/01/15(金) 08:28:51
hogeの配列が必要なとき、
複数形にしてhogesにすることは、多々ある。

一瞬、見分けが付かない場合もあるかな?とは思うけど、
今のところそんな経験はない。

下手に別の単語を考えるよりは、分かりやすい&元の変数名も想像しやすいかなと思ってる。
自分は英語の語彙が少ないから大変だ。
604デフォルトの名無しさん:2010/01/15(金) 09:31:38
>>603
うん。普通の配列とかの場合は複数形にする人多いとおもうよ?
ただboolean返すメソッドとかプロパティで複数形かつプリフィクスのbe動詞もareに変化させるのは
あんまないよなって話であって。
605デフォルトの名無しさん:2010/01/15(金) 10:11:53
>603
equals(Object, Object)じゃダメですか
606デフォルトの名無しさん:2010/01/15(金) 11:56:18
>>605
Assertの場合って普通のequalsより一歩踏みこんだ状態を強調しているような命名が多い気がするけどな。
変な日本語ですまんが。
607デフォルトの名無しさん:2010/01/16(土) 11:01:39
MoveChara

CharaMove

キャラクターの移動はどっちがよいでしょうか?
608デフォルトの名無しさん:2010/01/16(土) 11:49:59
>>607
どっちでもいいんじゃない?
オブジェクト指向だったら Character.move だけど
他の言語パラダイムなら自分で好きな方のルールを決めればいいと思う。
もちろん他の関数も同じルールで命名しないと気持ちわるいけど。
609デフォルトの名無しさん:2010/01/16(土) 14:10:23
いや、俺はOOPじゃなくても、今時関数名は動詞が先頭(名詞句っぽくない名前)
が基本だと思う。

少なくともCharaMoveは今時ありえんと思うわ。
610デフォルトの名無しさん:2010/01/16(土) 14:39:36
一貫してりゃどっちでもいいよ
611デフォルトの名無しさん:2010/01/18(月) 14:36:07
オセロ作ってて、オセロ板が持っているマス目、って扱いをしたいんだけど、
マス目ってGridでいいのか・・・?
こう、マスの一個一個っていうのを指す場合、なんて名前にしたらいいだろう。
どうもしっくりこないんだ。
612デフォルトの名無しさん:2010/01/18(月) 14:36:50
Cellとかは?
613デフォルトの名無しさん:2010/01/18(月) 15:38:44
マス目は俺もCell使うなあ。
614デフォルトの名無しさん:2010/01/18(月) 15:43:57
ボードゲーム関連の単語を挙げると

盤=board
升=square
駒=piece
615デフォルトの名無しさん:2010/01/18(月) 15:44:20
>>611
チェス用語を流用すれば square
616デフォルトの名無しさん:2010/01/18(月) 15:48:21
駒は piece なのか。
どうもシミュレーションゲームの影響で Unit とか使っちゃうわ・・・
617デフォルトの名無しさん:2010/01/18(月) 15:51:12
unitは予約語だろ
異論は認めない
618デフォルトの名無しさん:2010/01/18(月) 15:57:00
unitが予約語な言語なんてあったのか
勉強不足だったぜ
619デフォルトの名無しさん:2010/01/18(月) 15:58:47
俺も勉強不足だったぜ
620デフォルトの名無しさん:2010/01/18(月) 16:11:25
Delphiか
言語によって異なるけど、一般的な単語が予約語だと困るよな、switchとかnewとか
621デフォルトの名無しさん:2010/01/18(月) 16:15:34
>>611
盤=board
マス=square
石=disk
だよ
622デフォルトの名無しさん:2010/01/18(月) 16:26:29
>>611
ついでに
石を置く=move
石を返す=flip
だけど
他の標準的な語はここで使われてるのを見てみるといい
http://en.wikipedia.org/wiki/Reversi
623デフォルトの名無しさん:2010/01/18(月) 19:56:25
俺が以前作ろうとして挫折したボードゲームでは

盤=field
マス=panel
駒=player

って付けてたな。
624デフォルトの名無しさん:2010/01/18(月) 20:03:29
駒なんてintで十分だろ
そういう瑣末な事に拘る奴が完成せずに投げだしちゃうんだよな
625デフォルトの名無しさん:2010/01/18(月) 20:34:49
おいおいintは変数名じゃなくて型だろ何言ってんだ・・・
626デフォルトの名無しさん:2010/01/18(月) 21:16:23
string str みたいな感じか
627デフォルトの名無しさん:2010/01/18(月) 23:09:10
間を取って
CellInterior か SquareCell で
628デフォルトの名無しさん:2010/01/19(火) 21:14:56
単純にcellでいいじゃん
629デフォルトの名無しさん:2010/01/19(火) 21:24:45
>>614>>621-622が正解
630デフォルトの名無しさん:2010/01/19(火) 21:37:36
……。
631デフォルトの名無しさん:2010/01/20(水) 00:21:36
正解ですってよ奥さんww
632デフォルトの名無しさん:2010/01/20(水) 06:08:40
x y
dx dy
この次の座標変数にはなんて名前つければいい?
633デフォルトの名無しさん:2010/01/20(水) 07:03:40
いくらなんでも説明不足すぎ

z
dz
と答えるぞ
634632:2010/01/20(水) 07:55:13
自己解決しました
635632:2010/01/20(水) 08:01:18
誰だよお前
636デフォルトの名無しさん:2010/01/20(水) 09:42:26
オレだよ、オレオレ!
637デフォルトの名無しさん:2010/01/20(水) 10:23:01
ddx か d2x だな。
638デフォルトの名無しさん:2010/01/20(水) 13:09:04
俺も d2x かなぁ。加速度でもとるのかね?
639デフォルトの名無しさん:2010/01/20(水) 13:33:30
加速度で、ax, ay とかどうだろう
640デフォルトの名無しさん:2010/01/20(水) 15:33:00
(x1, y1)
(x2, y2)
(x3, y3)
641632:2010/01/20(水) 15:45:47
自己解決したってば
642デフォルトの名無しさん:2010/01/24(日) 03:55:39
タクティクス系のゲームを作ってるんですが、コマの種類が持つパラメータとして
そのコマが移動可能なセル、そのコマの攻撃が貫通できるセル、
そのコマが攻撃可能なコマ、そのコマが初期配置可能なセルの位置
を考えているのですが、何かいい名前はありませんか
現在はそれぞれ
movable_cells, atackable_cells, atackable_tips, puttable_cells
にしていますが、見た通りダサダサです
643デフォルトの名無しさん:2010/01/24(日) 05:28:32
セルが主語や目的語(英語の)になるのはおかしい。
movableだとセル自体が移動することになる。
attackableは受身の意が含まれるけど、セル自体に攻撃することになる。
puttableは受身かどうかは分からんが、セル自体が配置するのもされるのも変。

あと、attackのスペルが違うし、tipに至ってはどこから来たのやら。
644デフォルトの名無しさん:2010/01/25(月) 01:35:53
passable_cell, attack_passable_cell, character_in_fire_range, prepositable_cell

preposible は preposition からの造語
645デフォルトの名無しさん:2010/01/25(月) 01:36:49
> preposible は
prepositable は
646デフォルトの名無しさん:2010/01/25(月) 08:28:26
prepositionable
647デフォルトの名無しさん:2010/01/25(月) 10:39:11
cells_in_move_range
cells_in_attack_range
units_in_attack_range
cells_for_initial_formation
六角形なら cell の代わりに hex
648デフォルトの名無しさん:2010/01/25(月) 13:11:42
無理しなくていいんだよ^^
649642:2010/01/25(月) 21:47:25
>>643
ありがとうございます
コマのことを暫定的にTipとしておりました
もうちょっと英語らしい発想ができるといいのですが、、、

>>644, >>647
名詞+副詞句という発想はありませんでした
使わせていただきます
650デフォルトの名無しさん:2010/01/26(火) 00:15:08
chipのつもりか
651デフォルトの名無しさん:2010/01/26(火) 10:53:13
Javaで追加と編集のサービスに関するインターフェイス名はどのような名前がお勧めなのでしょうか?
652デフォルトの名無しさん:2010/01/26(火) 21:23:34
EditingService
653デフォルトの名無しさん:2010/01/28(木) 15:21:47
パソコンに保存されているエクセルとかのデータの「ファイル」と、
現実世界にある書類とかを保管するための物理的な「ファイル」を
それぞれをパッと見で区別できるような
アバンギャルドな名前ないでしょうか。
654デフォルトの名無しさん:2010/01/28(木) 15:28:38
テキストバッファで

aaa
bbb
ccc[EOF]

aaa
bbb
ccc
[EOF]

を判別するisXXX()と
どちらか一方に揃える関数名(例:normalizetext(bool matubi_no_karagyou_ari))
は何がいいですか。
655デフォルトの名無しさん:2010/01/28(木) 15:44:01
>>653
とっさの反射で答えるなら、現実のファイルはFileBookなんかにするかなあ。

>>654
isEndWithLineFeedとか。そろえるのはEndWithLinefeedとかEnsureEndWithLineFeedとか。
656デフォルトの名無しさん:2010/01/28(木) 15:53:02
>>653
データ: logical_data_binding
現実: solid_state_binding

>>654
判別: isTerminatedReturnCode
関数: normalize
657デフォルトの名無しさん:2010/01/28(木) 16:20:11
考えてもらったのに否定するのも気がひけるけど、

>>655
エクセルのファイルのことをBookっていう事もあるので、
ちょっとまずいかも。


>>656
その変数名から「ファイル」を連想できないと思うw
658デフォルトの名無しさん:2010/01/28(木) 21:07:41
>>654
そもそもそれ本当に必要な処理なん?
必要な場面が思い浮かばん....

っていうか、例えば改行コードだけが並んでる文字列が仮にあったとして、
それを前者の方に整形した場合はどういう結果になることを想定してるんだろう。
659デフォルトの名無しさん:2010/01/29(金) 00:20:04
必要だから求めてるんだろ
一々ケチつけんな糞
660デフォルトの名無しさん:2010/01/29(金) 00:26:24
そういう設定のあるエディタもあるよ。
最終行の改行コードを削除する、とか
最終行で改行してなかったら改行コード付与するとか。
661デフォルトの名無しさん:2010/01/29(金) 00:56:03
そんなもんか。
そんじゃ

EndsWithLineDelimiter
TrimEndLineDelimiter

# 改行コードはline delimiterかnew line codeでないとまずいんじゃないのか?
662デフォルトの名無しさん:2010/01/29(金) 01:41:27
is_ends_with_eol()
enable_ends_with_eol()
disable_ends_with_eol()
663デフォルトの名無しさん:2010/01/29(金) 02:04:25
見比べると>>661が不細工すぎる
単語を短く綺麗にまとめられない奴がキャメルケース使うと酷いな
664デフォルトの名無しさん:2010/01/29(金) 03:22:45
名前付けは極端に長くならなければ、
実際の処理をなるべく正確に表現すべきだと思うんだけど。
>>661のってそこまで不細工なもんなの?
あと、キャメルケースじゃなければ良いの?
665デフォルトの名無しさん:2010/01/29(金) 03:52:59
不細工だよ
666デフォルトの名無しさん:2010/01/29(金) 07:38:55
>>662が良くて、>>661が悪いなんて英語ができないにもほどがある。

おれにとっては、最終行のnew lineはあって当然なので。
missingNewLineAtEnd
ensureLineAtEnd

667デフォルトの名無しさん:2010/01/29(金) 07:40:37
> ensureLineAtEnd
ensureNewLineAtEnd のまちがい。
addNewLineAtEndIfMissing もある。
668デフォルトの名無しさん:2010/01/29(金) 09:16:06
>>666
お前にとってはなんざ関係ねぇw
669デフォルトの名無しさん:2010/01/29(金) 10:07:37
まあ、選ぶのは質問者だから。候補が多い方がいいじゃないか。けんかすんなよ。
670デフォルトの名無しさん:2010/01/29(金) 11:09:44
俺も改行コードはあってしかるべき派だなぁ。
Emacsだと require-final-newline ってので制御してた。

671デフォルトの名無しさん:2010/01/29(金) 11:36:48
C でも C++ でも、空でないソースファイル(ヘッダファイル)は改行で終わらないと未定義動作。
672デフォルトの名無しさん:2010/01/29(金) 12:15:53
最終行が終端されていないと問題のある系が多いからな
RFC2223(RFCを書くためのRFC)だと全ての行はCRLF終端となっているし
673デフォルトの名無しさん:2010/01/29(金) 12:17:21
でっていう
674デフォルトの名無しさん:2010/02/01(月) 03:21:36
外人と作業するわけでもない人たちが、
わざわざ英語使ってて恥ずかしい(//)

日本人なら日本語で、ひらがな・カタカナ・漢字を用いて命名すべき。
母国語を使うと読みやすさが格段に違う。至極当然の話。
675デフォルトの名無しさん:2010/02/01(月) 03:34:47
日本人なら縦書きでプログラミングするべきだよねー
676デフォルトの名無しさん:2010/02/01(月) 03:57:43
名称をいちいち外国語に翻訳してるから、生産性激減。

isXXX()
normalizetext(bool matubi_no_karagyou_ari)

ファイルが改行のみの行で終わるかどうか()
ファイルの終端を揃える(bool 改行コードのみで終わる)

isTerminatedReturnCode
normalize

EndsWithLineDelimiter
TrimEndLineDelimiter

is_ends_with_eol()
enable_ends_with_eol()
disable_ends_with_eol()

missingNewLineAtEnd
ensureNewLineAtEnd


↑パッと見で、どこまで内容を理解出来るか。
  日本人なら一目瞭然。
677デフォルトの名無しさん:2010/02/01(月) 04:04:14
C#で日本語変数でも使ってればいいじゃない
678デフォルトの名無しさん:2010/02/01(月) 07:15:09
ローマ字の日本語は英語より可読性悪いだろ
679デフォルトの名無しさん:2010/02/01(月) 07:35:44
ローマ字じゃなくて普通にかな漢字使えよ
680デフォルトの名無しさん:2010/02/01(月) 08:40:36
実際日本語使える開発環境で周りと合意が取れる場合は日本語変数名使ってるよ。

隠れた後ろ向きのオフショア対策でもある・・・
681デフォルトの名無しさん:2010/02/01(月) 09:13:06
予約語も好きな文字に変換できたらいいよね。

#define もし if
#define 繰り返し for
682デフォルトの名無しさん:2010/02/01(月) 09:13:59
>>681
ひまわりでも使ってろ
683デフォルトの名無しさん:2010/02/01(月) 09:43:53
>>681
それは要らね
684デフォルトの名無しさん:2010/02/01(月) 10:28:13
プログラム書いてるだけなのに英語的に間違ってるだの何だの言い出す馬鹿を撲滅するために日本語変数を導入すべき
685デフォルトの名無しさん:2010/02/01(月) 10:29:49
馬鹿だな
日本語的に間違ってると言い出すだけ
686デフォルトの名無しさん:2010/02/01(月) 10:36:10
墨すって筆で書け
687デフォルトの名無しさん:2010/02/01(月) 10:41:28
>>685
日本語的に間違ってると言い出すあたりで自分が間違ってる事に気付くかも知れない
無理か、馬鹿だし
688デフォルトの名無しさん:2010/02/01(月) 11:04:41
>>676
日本語の命名に関する是非は兎も角、意味が変わったらいかんと思うが。
その条件が真になるのは下のようなデータのときで>>654とは違ってる。

※見た目の改行は見易さのため
--
apricot\r\n
blueberry\r\n
cranberry\r\n
\r\n
--
689デフォルトの名無しさん:2010/02/01(月) 11:10:27
>>654にはどちらの場合をtrueとするかの定義はされてないんだが
妄想のたくましい人だな
690デフォルトの名無しさん:2010/02/01(月) 11:34:21
>>689>>688宛であれば、条件の真偽の話し以前に
>>654が判定したいものと>>676の条件があっていないことが問題なんだが

>>676で判定できるのは>>688だが、>>654が判定したいのは下記
--
apricot\r\n
blueberry\r\n
cranberry
--

--
apricot\r\n
blueberry\r\n
cranberry\r\n
--
691デフォルトの名無しさん:2010/02/01(月) 11:52:33
ファイルの終端が改行で終わるか()
ファイルの終端を揃える(bool 改行で終わる)
692デフォルトの名無しさん:2010/02/01(月) 12:02:52
bool....
693デフォルトの名無しさん:2010/02/01(月) 12:44:07
日本語として間違ってるが始まっててワロタ
694デフォルトの名無しさん:2010/02/01(月) 18:00:45
紛らわしいのはドキュメント書いたり用語集に入れたりするからどうでもいいよ。
695デフォルトの名無しさん:2010/02/01(月) 20:47:48
ははは
696デフォルトの名無しさん:2010/02/02(火) 02:16:22
コメントのために変換モード切り換えるのもめんどくさいのに日本語変数とか死ねるじゃん。
697デフォルトの名無しさん:2010/02/02(火) 08:54:56
慣れれば別にどうということもない
698デフォルトの名無しさん:2010/02/02(火) 10:26:48
そんな貴方にSKK

SKKの変換システムはともかく辞書登録機能は他のIMEでも採用して欲しいぜ
699デフォルトの名無しさん:2010/02/03(水) 23:41:01
データにレベルを設定して格納するコレクション型みたいなクラスのメソッド名で
あるレベルのデータを全て破棄する(コレクションから取り除く)ようなものの名称お願いします。
とりあえず自分で考えたもの
throwがいいかなと思うのですが、c/c++なので・・・
dumpは表示するとかの意味が強いかなと
700デフォルトの名無しさん:2010/02/03(水) 23:43:34
素直にremoveLevelとかでいいじゃん
わざわざ恰好付けて凝った名前付けても分かりづらいだけ
701デフォルトの名無しさん:2010/02/03(水) 23:55:08
あとはpurgeとかね。
702デフォルトの名無しさん:2010/02/04(木) 00:04:25
removeIf とか removeWhen とかみたいなので条件をコールバックとかで渡せるようにするのが
一般的な実装じゃない?
703デフォルトの名無しさん:2010/02/04(木) 19:55:42
名前どうこう以前に、「データにレベルを設定して格納するコレクション」
って仕様が謎過ぎるw

ただの連想配列と何が違うんだ
704デフォルトの名無しさん:2010/02/04(木) 22:19:06
collection.remove(level);
705デフォルトの名無しさん:2010/02/05(金) 00:44:45
RemoveSpecialLevel(404, list)
706デフォルトの名無しさん:2010/02/05(金) 16:47:48
ThreadFunc
FuncThread

どっちがよさげ?
707デフォルトの名無しさん:2010/02/05(金) 18:02:25
Thread な Func なら上、Func な Thread なら下。

もし、メインのスレッドとは別のスレッドで実行する関数、
あるいは別スレッドを起動させる関数に付ける名前のことなら、
そんな機能や役割が分かりにくい名前はそもそも付けないが。
708デフォルトの名無しさん:2010/02/05(金) 18:27:33
普通はどうつけるの?
709デフォルトの名無しさん:2010/02/05(金) 18:58:28
threadでやる作業を固めた関数ならそのやる作業そのものに
基づいて付ける。あるいはその後ろに worker とか付けたり。
710デフォルトの名無しさん:2010/02/05(金) 19:42:07
workerは良く使うなぁ。
〜er みたいな名前付けることが多い気がする。
711デフォルトの名無しさん:2010/02/05(金) 21:34:50
>>707 で答えた者だが、>>709 とほぼ同意見。
私の場合はたいていは動詞で始まる名前に落ち着く。
たとえば別スレッドで特別な計算を行いたい場合は calc〜 にする。
描画したいなら draw〜。

個人的には 〜worker は不要だと思ってる。
ほとんどの関数が何らかの worker であるから。

また、 〜worker だと、その関数に指示を与えるもの
(今回の場合だと別スレッドを起動する関数、あるいはそれを呼ぶ関数)と
対になる関係を強いられるイメージがあるような気がして、なんかイヤ。
712デフォルトの名無しさん:2010/02/05(金) 21:36:22
他の意味で使ってなければ、xxx_task もいいかもね。
何が何でもsuffixを付けろとは言わないけど。
713デフォルトの名無しさん:2010/02/05(金) 21:36:53
do+動詞も
714デフォルトの名無しさん:2010/02/05(金) 21:39:52
そのソースの中で一貫してて、かつ他の関数とある程度区別付くなら
読んでて意味を汲み取ってくれるとは思うよ。

その意味じゃThreadHogeでもHogeThreadでもたいして気にならないと思う。
715デフォルトの名無しさん:2010/02/05(金) 22:02:43
>>714
それは大いに気にするべきだと思うが(ThreadHogeってどういう意味なんだwそんな命名ありえない)
そもそも論からいって、ワーカースレッドで実行される関数だからといって
特別な名前を与える必要性があるとは思えないな。
716デフォルトの名無しさん:2010/02/05(金) 22:16:15
というか基本的に利用側の都合で命名しちゃいかんだろ
スレッドプールやプロセスに変更になったら名前付け直すのか?
717デフォルトの名無しさん:2010/02/05(金) 23:04:07
>>do+動詞
リアルにあるの?
718デフォルトの名無しさん:2010/02/05(金) 23:09:47
テンプレートメソッドパターンで、実際に使うインターフェイスに
なるメソッド名が「動詞」のときに、その「動詞」から呼ばれる、
サブクラスで実装する部分を「do動詞」にするのは見たことがある
気がする。
719デフォルトの名無しさん:2010/02/05(金) 23:34:26
そもそも、do+動詞って強調構文じゃなかったっけ?
720デフォルトの名無しさん:2010/02/05(金) 23:43:47
>>719
助動詞として使えば強意の意味になる。
721デフォルトの名無しさん:2010/02/06(土) 00:25:07
別に命名がおかしくてもいいんだよ。
後で整合性とれるようにリファクタリングすりゃいい。
722デフォルトの名無しさん:2010/02/06(土) 07:46:46
動詞+名詞の関数/メソッド名で統一したら
ExecHogeかRunHogeかCalcHogeばかりになって困ったことがある。
723デフォルトの名無しさん:2010/02/06(土) 13:56:48
>>721
名前そのものだけのことなら、
(関係者が気にしなければ)それでもいいと思う。

ただ、名前を付けるという行為は、
その名前を付ける対象の本質をよく理解しているか、
という自己テストも兼ねている場合が多い。
724デフォルトの名無しさん:2010/02/06(土) 15:14:41
ズレてるな。
そもそも>>721の「リファクタリング」とは名前をあるべき姿に修正することだろう。

名前なんかあとであるべき姿に修正すればいいんだ、っていうのを、
その「あるべき名前」を考えるスレで言うって頭おかしいとしか思えない
725デフォルトの名無しさん:2010/02/06(土) 20:23:15
>>712
エロいな君は
726デフォルトの名無しさん:2010/02/06(土) 22:50:13
赤くしとくか

>>721
バーカ
727デフォルトの名無しさん:2010/02/07(日) 00:35:37
C++でプログラミングをする時に命名規則に困っているわけですが、
お前らはC++でプログラミングをする時の命名規則はどうしていますか?
728デフォルトの名無しさん:2010/02/07(日) 01:02:56
俺はドトネト式
729デフォルトの名無しさん:2010/02/07(日) 11:07:18
>>727
命名規則の何で困ってるんだ?
それぞれの命名規則の長所短所が分からないとか、具体的に質問してくれよ。
730デフォルトの名無しさん:2010/02/07(日) 11:29:21
名前なんて適当でいいだろ
辞書作っておいて、文句いわれたらあとで置換すればいい
731デフォルトの名無しさん:2010/02/07(日) 11:52:32
じゃあ連番で付けて台帳に載せよう。
732デフォルトの名無しさん:2010/02/07(日) 13:27:40
>>731
マジ天才。

kadfajsldkfajsdfasとか
ehernqwekrkweみたいなユニークな文字列にするようにして
各自ソース取り込んだ後は好きな名前に置換、コミット時にもとに戻すとかやれば最強じゃね?
733デフォルトの名無しさん:2010/02/07(日) 19:24:39
参照のみを複製→コピー
等価な別のオブジェクトを作って渡す→クローン

おk?
734デフォルトの名無しさん:2010/02/07(日) 20:30:17
>>733
スレ違い。誤爆?
参照とかいってるからドトネトかな。

コピーとクローンに明確な区別があるとは思えない。
そして、何をもってクローン(コピー)とするかはそのクラスの性質次第で
そんなものに一意な定義なんてあるわけない。
735デフォルトの名無しさん:2010/02/07(日) 21:36:05
Shallow Copy
Deep Copy
で十分じゃない?
736デフォルトの名無しさん:2010/02/07(日) 22:14:41
モジュール(DLL)ごとにユニークな識別番号が動的に振り分けられてるとして
そのモジュールの識別番号を取得する関数名はなにがいいでしょうか?
737デフォルトの名無しさん:2010/02/07(日) 22:16:29
GetModuleIDでいいじゃん。
UniqueIDは頭痛が痛いになるから避けた方がいい。
738デフォルトの名無しさん:2010/02/07(日) 22:25:55
そうですねGetModuleIDにします
どうもでした
739デフォルトの名無しさん:2010/02/07(日) 23:18:04
GUID とか COM Component とか普通にあるけどね
740デフォルトの名無しさん:2010/02/07(日) 23:51:13
識別子は一意とは限らないからな
741デフォルトの名無しさん:2010/02/07(日) 23:57:52
>>732
・・・・・・
742デフォルトの名無しさん:2010/02/08(月) 17:35:37
>737
表現が冗長であることの例として、
日本語として誤りがある『頭痛が痛い』という言葉を上げるのは不適切。

また、暗に含まれるニュアンスを明言するような修飾をつけて、
冗長な表現とするのは、誤解を生まないようにするための良いアイデアといえる。
というわけで、GetUniqueID() は一つもおかしくない。
743デフォルトの名無しさん:2010/02/08(月) 17:39:15
言われなきゃわからないなんてのは意味ないもんな。
744デフォルトの名無しさん:2010/02/08(月) 18:43:13
>>736
getDLLID()

DLLの識別番号なんだからそこんとこ強調してみた。
745デフォルトの名無しさん:2010/02/08(月) 18:48:56
CreateUniqueId とか GenerateUniqueId なら意味もあるだろうが、
すでにモジュールにつけられているIDを取得するのにUniqueかどうかなんて意味がない。
どんなIDかではなく、何のIDかがわかるようにするとよい。
GetModuleIdで必要十分。 GetDLLIDは字面が残念。
746デフォルトの名無しさん:2010/02/08(月) 18:53:47
uniqueでないidなんてあまり相手にしたくないなあw
747デフォルトの名無しさん:2010/02/08(月) 22:43:07
「頭痛が痛い」は一応日本語として成立してると思うけど。

頭が痛い、という意味ではもちろん成立しない。
「ぎっくり腰が痛い」とか「筋肉痛が痛い」と同じ言い回しだと解釈すれば
日本語としておかしくないな。
748デフォルトの名無しさん:2010/02/08(月) 23:03:26
日本語も柔軟になったな
749デフォルトの名無しさん:2010/02/09(火) 00:19:38
頭痛が痛いってのはともかく UniqueID は普通に色々なところで見かけるよね。
750デフォルトの名無しさん:2010/02/09(火) 00:32:58
日本語のネイティブスピーカーとして今の暴言許して良いのかw
751デフォルトの名無しさん:2010/02/09(火) 00:33:06
本当にそう?
俺は正直見たことない。

GUIDに限っていえば、あれは"Global-Unique" IDであって、uniqueがIDに掛かってる
訳ではないと思うけどな。
752デフォルトの名無しさん:2010/02/09(火) 00:37:09
753デフォルトの名無しさん:2010/02/09(火) 00:40:31
>>751
君の経験がしょぼい事なんか参考になりませんから
754デフォルトの名無しさん:2010/02/09(火) 01:44:07
速攻論破わろたw
googleコードサーチは便利だのう
755デフォルトの名無しさん:2010/02/09(火) 10:16:09
タイマーが複数あるのですが、
タイマーの「個数」と
それぞれの「時間」「分」「秒」に対する変数、なにかいいのないでしょうか
minuteとsecondminuteは長いです
jikan funはさすがに恥ずかしいですし
iniファイルにも使いますので、人に見られてもよくタイプミスなどないような短く分かりやすい単語はないものでしょうか
756デフォルトの名無しさん:2010/02/09(火) 10:27:04
time count
hour min sec
757デフォルトの名無しさん:2010/02/09(火) 10:28:15
timerのrが抜けた
758デフォルトの名無しさん:2010/02/09(火) 10:54:15
ありがトンございます
759デフォルトの名無しさん:2010/02/09(火) 19:29:54
>>754
論破てw
存在するからって正しい理由にはなってないだろう。頭悪いのかな。
760デフォルトの名無しさん:2010/02/09(火) 19:31:38
英語圏でたった17万6千件程度しか使われてないんじゃ論拠としては弱すぎだよな。
761デフォルトの名無しさん:2010/02/09(火) 19:37:12
UniqueID の検索結果 約 4,470,000 件中 1 - 10 件目 (0.30 秒)

そっか、MSDNはマイナーだったのか。
762デフォルトの名無しさん:2010/02/09(火) 19:38:49
763デフォルトの名無しさん:2010/02/09(火) 19:42:25
存在しないことの証明は難しい

よって Unique ID は用法として間違ってる【完】

これが本当の論破。
764デフォルトの名無しさん:2010/02/09(火) 19:43:36
>>761
ダブルクォーテーション付けろよ。
765デフォルトの名無しさん:2010/02/09(火) 20:06:05
そもそもIDにもともとユニークであるって意味が含まれてるって前提がおかしいわけだが。
どこ情報よそれ?
766デフォルトの名無しさん:2010/02/09(火) 20:09:44
>>765
それマジで言ってるのかな。
重複してたらどう"identify"するんだよw
頭悪すぎないか
767デフォルトの名無しさん:2010/02/09(火) 20:16:43
さみしそうなおっさんだな…
768デフォルトの名無しさん:2010/02/09(火) 20:18:31
文法における正しさと文脈における正しさをごっちゃにするからこうなる
769デフォルトの名無しさん:2010/02/09(火) 20:41:34
共有ID
770デフォルトの名無しさん:2010/02/09(火) 22:01:33
無線LANのSSIDはnon-uniqueらしい。
771デフォルトの名無しさん:2010/02/09(火) 22:14:54
>>766
バーカ
問題が起きない時にidentifyできればいいんだよ
772デフォルトの名無しさん:2010/02/09(火) 22:37:50
>>766
お前が頭悪すぎるんだが
文脈上uniqueである事が多いからって言葉の意味まで履き違えるな
773デフォルトの名無しさん:2010/02/09(火) 22:42:25
>>772
お前ほんと馬鹿だな
774デフォルトの名無しさん:2010/02/09(火) 22:42:53
>>772
じゃあその俺が履き違えているらしい、言葉の意味とやらを説明してみてよ。
まあ無理しなくていいよw
775デフォルトの名無しさん:2010/02/09(火) 22:46:01
>>774
なに心拍数上がってんの?
そんなに悔しかったんだw
776デフォルトの名無しさん:2010/02/09(火) 23:24:43
標準例外クラスにデバッグ情報を追加した派生クラスですが
ExceptionAddInfo
ExceptionWithInfo

それともほかにいい案があるでしょうか?
777デフォルトの名無しさん:2010/02/09(火) 23:28:13
普通は派生クラスの名前は 固有の名前 + 基底クラスの名前 としないか?
DebugExceptionとか
778デフォルトの名無しさん:2010/02/09(火) 23:41:49
>>774
ヤフーでググレよカスが
同定する、できる事がメインで、固有であるなんて意味は含まれてねぇ
779デフォルトの名無しさん:2010/02/09(火) 23:46:37
ExceptionEx にしとけw
780デフォルトの名無しさん:2010/02/09(火) 23:52:01
MyExceptionでFA
781デフォルトの名無しさん:2010/02/09(火) 23:53:53
My〜なんて頭悪い方法は恥ずかしくてとても使えないわ
782デフォルトの名無しさん:2010/02/09(火) 23:58:36
>>778
お馬鹿さん相手の会話って必ずループするよな。
3歩歩くと忘れる鳥頭とはよく言ったものだw
>>766
783デフォルトの名無しさん:2010/02/10(水) 00:03:26
>>782
過去そのIDを使用して結び付けられた「何か」と
今回同じIDを使用して結び付けられた「何か」が「同じ物と認識される」なら
過不足無くidentify出来てる

馬鹿はそろそろ死ねば?
784デフォルトの名無しさん:2010/02/10(水) 00:09:34
オレもIDはユニークで当然っては思ってたけど、
identifyは、同定するだけなので、固体の同定とも書いてない。
システムの同定、カテゴリの同定などありうるので、その辺
注意してから、レスしたがいいよ。
辞書見ると身分証明さえできればいい感じだし
785デフォルトの名無しさん:2010/02/10(水) 00:44:53
じゃuniqueの方はどうなのよ?
786デフォルトの名無しさん:2010/02/10(水) 00:50:32
>>783
自分で自分の吐いてる言葉の意味を理解してないんじゃないの君。

IDを使って同一性の検査が可能であるための必要条件の一つは、
同一でない2つに割り当てられるIDは必ず異なる(同じIDが割り当てられることはない)こと。

そしてユニークとは、「同一でない2つに割り当てられるIDは必ず異なる」ことを意味する。
ここまで噛み砕いて説明しないと分からないって、まともな教育受けてないだろ君は。
787デフォルトの名無しさん:2010/02/10(水) 00:55:06
>>776
Exception2
788デフォルトの名無しさん:2010/02/10(水) 00:57:50
>>786
おまえ自演だろ
789デフォルトの名無しさん:2010/02/10(水) 01:16:32
>>786
お前の想定が限定的過ぎるだけ
790デフォルトの名無しさん:2010/02/10(水) 01:19:21
>>786
DBの入門書でも読んでみたらどうだい?
791デフォルトの名無しさん:2010/02/10(水) 01:34:38
ていうか、それって十分条件じゃないの?
中学からやり直したほうがいいかもよw
792デフォルトの名無しさん:2010/02/10(水) 02:52:55
よく使用されるuniqueでないidとしては名前が良い例だわな
idがuniqueかどうかなんてdomain次第の結果論でしかない
そして殊更に重複の可能性を排除した物をunique idと言う
793デフォルトの名無しさん:2010/02/10(水) 02:54:52
uniqueじゃなかったらidじゃなくてtagにしてる俺
794デフォルトの名無しさん:2010/02/10(水) 03:04:08
>>786がDBの開発経験絶無だという事だけはわかる。
795デフォルトの名無しさん:2010/02/10(水) 03:42:08
このスレだけいつも得意げに語っちゃうんだよね
796デフォルトの名無しさん:2010/02/10(水) 18:00:49
>>786が論破されててわろた
797デフォルトの名無しさん:2010/02/11(木) 03:13:03
まともな教育受けてないんだろ
こういうキチガイは特にw
798デフォルトの名無しさん:2010/02/11(木) 03:18:30
>>794-797
自演乙
799デフォルトの名無しさん:2010/02/11(木) 03:42:32
俺が含まれてるからその指摘はハズレだな。
800デフォルトの名無しさん:2010/02/11(木) 03:57:53
だと思ってた
801デフォルトの名無しさん:2010/02/11(木) 04:06:31
この人論破される度に自演乙で逃げてるけど
自演と言うには微妙なケースばかり
802デフォルトの名無しさん:2010/02/11(木) 04:12:01
論破されたのは俺じゃないよ
俺は茶々入れてるだけ
803デフォルトの名無しさん:2010/02/11(木) 04:56:50
>>802
自演乙
804デフォルトの名無しさん:2010/02/11(木) 10:09:33
この板も早急にユニークなIDを導入すべきだな。
805デフォルトの名無しさん:2010/02/11(木) 10:11:51
でIDとuniqueってどう違うわけ?
806デフォルトの名無しさん:2010/02/11(木) 10:16:20
はいはい、一緒でいいよ一緒で。
807デフォルトの名無しさん:2010/02/11(木) 11:09:51
PKなら間違いなくユニーク
808デフォルトの名無しさん:2010/02/11(木) 13:56:00
ID=有効なら常に同定できる。同定さえできれば何個だろうと関係ない。
unique=有効なら常に一つ。他に同じ物が無いだけで前回と違う物かも知れない。
uniqueID=有効なら常に一つの物と同定できる。
809デフォルトの名無しさん:2010/02/11(木) 14:00:08
>>1-808
自演乙
810デフォルトの名無しさん:2010/02/11(木) 16:13:06
>>808
有効てなに?
811デフォルトの名無しさん:2010/02/11(木) 19:16:12
効果が有る事
812デフォルトの名無しさん:2010/02/11(木) 20:07:32
次にお前は「効果ってなに?」と言う
813デフォルトの名無しさん:2010/02/11(木) 20:31:38
効果ってなに?ハッ
814デフォルトの名無しさん:2010/02/12(金) 08:10:34
わろたww
815デフォルトの名無しさん:2010/02/12(金) 11:13:40
はいはい、一本一本
816デフォルトの名無しさん:2010/02/13(土) 18:03:42
わ、わざあり…っ
817デフォルトの名無しさん:2010/02/14(日) 03:47:16
すみませんゲームプログラムで広域に使う変数の名前が被りそうになり
自分でも紛らわしい名称ばかり付けてしまいます。
せめて変数名の頭に3D用は3D 2D部分は2Dと付けてしまいたい気分なのですが
長ったらしくなるため用途名だけがずらずらと増え続けています。
これはどう解決するのが妥当でしょうか?

また何かゲーム系のオープンソースで変数の命名が上手な物があれば
教えて頂けると幸いです。
818デフォルトの名無しさん:2010/02/14(日) 03:48:46
広域で使わなければいい。
819デフォルトの名無しさん:2010/02/14(日) 04:44:48
>>818
ごもっともですが・・自分で考えるとします。ありがとうございました
820デフォルトの名無しさん:2010/02/14(日) 08:24:55
オブジェクト指向で書きなさいよ
そうでなければある程度長くなるのはしょうがない
821デフォルトの名無しさん:2010/02/14(日) 13:25:00
せめて構造体ちゃんと使って階層付ければマシになる
822デフォルトの名無しさん:2010/02/14(日) 21:48:31
そもそも、たいていの言語は "2D" や "3D" の接頭辞は付けられない。

3D レンダリング用のライブラリを C++ で作ってて、
名前を 3DObject とかにできずに苛ついた覚えがある。
823デフォルトの名無しさん:2010/02/14(日) 22:27:21
>>817
C++ならnamespaceを分けるとか
824デフォルトの名無しさん:2010/02/15(月) 00:56:10
にちゃん用のライブラリ作ってて 2ch って接頭辞が付けられなくてイライラした記憶があるな
825デフォルトの名無しさん:2010/02/15(月) 08:24:20
ch2 にしたらええやん?
826デフォルトの名無しさん:2010/02/15(月) 08:33:30
パイオツカイデーみたいなもんですか。
827デフォルトの名無しさん:2010/02/16(火) 00:12:55
ディレクトリのなかのすべてのファイルの属性を調べ上げていくクラス&メソッドの名前が思いつかない
828デフォルトの名無しさん:2010/02/16(火) 00:17:30
>>827
「調べ上げる」って随分抽象的だな。
名前が思い浮かばないんじゃなくて、そもそも何をやらせたいのかが頭の中で
まとまってないんじゃないのか。
829デフォルトの名無しさん:2010/02/16(火) 00:19:55
>>828
そんなきがしてきた
考え直します
830デフォルトの名無しさん:2010/02/16(火) 01:30:42
VisitAllFilesかTraverse
831デフォルトの名無しさん:2010/02/16(火) 07:10:46
enum
832デフォルトの名無しさん:2010/02/17(水) 06:58:27
from/toとsrc/dstは、どう判断して使い分ければいいですか?
また引数の順番はsrc,dst?dst,src?from,to?to,from?
833デフォルトの名無しさん:2010/02/17(水) 07:58:39
from, to で書いてあるのってなに?具体的にどこで見たんだ。
俺も見た記憶はあるんだが。
834デフォルトの名無しさん:2010/02/17(水) 08:35:39
>>833
C++のboostやD言語の標準ライブラリのソースを検索すると出てきますね。

あと、こういうサンプルで見ることも結構ある気がします。
ttp://www.kmonos.net/alang/boost/classes/enable_if.html
835834:2010/02/17(水) 08:43:06
追記。
引数が2つかあるいはそれに近い数なら、from/toをそのままの順番で、
引数がたくさんあるなら、引数のin/out的な意味でoutを先頭に持ってきたくなる感がしてきました(このときto,fromは変な感じがするからdst,srcかな?)。
なんか微妙だなぁ・・・。
836デフォルトの名無しさん:2010/02/17(水) 09:27:40
C のコピー系は dst, src だな。

to, from は確かになんか気持ちわるいね。
837デフォルトの名無しさん:2010/02/17(水) 09:29:52
dst src の順て、代入のイメージだよね。
838デフォルトの名無しさん:2010/02/17(水) 19:57:54
普通にfrom、toは序数だと思うんだけど違うの?
コピーで言えば、srcのfromからtoまでをdstにコピーするって調子なんじゃないの?
839デフォルトの名無しさん:2010/02/17(水) 22:01:14
>>838
そういうのは見たことないなぁ。
begin/endかfirst/lastをよく見る。
840デフォルトの名無しさん:2010/02/17(水) 22:09:45
アルトオモイマス
841デフォルトの名無しさん:2010/02/17(水) 22:21:30
alt_ommo_i_math
842デフォルトの名無しさん:2010/02/17(水) 23:19:00
fromとtoが両方あると範囲と混同しやすいのであまり使われないんだと思う
インスタンスメソッドでCopyFromやCopyToのように意味が明確ならいいが

順序はCの流儀に則るならdst, srcだけど、近代的なライブラリならsrc, dstが多いかな
843デフォルトの名無しさん:2010/02/18(木) 04:52:33
通信ならfrom/toかなー?
844デフォルトの名無しさん:2010/02/18(木) 07:36:58
JavaとかC#はsrc,dstだね。
845デフォルトの名無しさん:2010/02/18(木) 08:20:34
destかとおもてたら、dstが多かったのか
846デフォルトの名無しさん:2010/02/18(木) 10:29:04
src dst の検索結果 約 1,260,000 件中 1 - 10 件目
src dest の検索結果 約 2,550,000 件中 1 - 10 件目
文字数揃えたくなるけど
847832:2010/02/18(木) 16:47:05
from/toだと意味が特定できないんですね。
引数の順序はsrc,dstで統一することにします。
ありがとうございました。
848デフォルトの名無しさん:2010/02/19(金) 01:21:45
>>846
"src" "dst" の検索結果 約 1,260,000 件
"src" "dest" の検索結果 約 741,000 件

Googleがdestをdestinationに補完しただけ
849デフォルトの名無しさん:2010/02/20(土) 21:55:01
みんなパス関連はどうしてますか?

/foo/bar/foobar.txt = filepath
/foo/bar/ = dirname, path
foobar.txt = filename, basename
txt = fileext, extension
foobar = ??
850デフォルトの名無しさん:2010/02/20(土) 22:18:01
foobar.txt は filename
foobar は basename が一般的じゃない?
851デフォルトの名無しさん:2010/02/20(土) 22:21:19
本当はhogeとかfooとかbarとか使いたくないんだけど、使わないと上司から馬鹿にされんだよね
「プログラマなら常識だろう」って、そりゃ知ってるけどさ
話が伝わるのも円滑だけどさ、なんかさ、ダサい
852デフォルトの名無しさん:2010/02/20(土) 22:23:27
C#で日本語のクラス変数関数名よく見かけるけど、はやってんの?
853デフォルトの名無しさん:2010/02/20(土) 22:28:51

foobarはドトネトだとベタにFileNameWithoutExtension。
でもデリミタがスラッシュだからそっち方面ではbase nameと呼ぶ習慣なんだろうか。

あと、
> /foo/bar/ = dirname, path
これはかなり違和感ある。
単にDirectoryかDirectoryPathでないとおかしいのではないか。
dirname(DirectoryName)だと、"bar"のことを指すように聞こえる。

>>851
被害妄想に聞こえるけど
そんな奴はいないと思うけどw
854デフォルトの名無しさん:2010/02/20(土) 22:44:39
ありがとうございます
これでいこうかな

/foo/bar/foobar.txt = filepath
/foo/bar/ = dirpath
foobar.txt = filename
foobar = basename
txt = extension
855デフォルトの名無しさん:2010/02/20(土) 22:48:00
POSIX.1 的には、

path,     dirname(path), basename(path)
/a/b/c.txt,  /a/b,       c.txt
/a/b/c/,   /a/b,       c
856デフォルトの名無しさん:2010/02/20(土) 22:49:01
>>852
うん。
UMLのクラス図から直接生成させたり出来て便利だし
業務用語は日本語そのまんまで別に困らない。
オフショアするなら話は変るが。
857デフォルトの名無しさん:2010/02/20(土) 23:10:51
>>856
レスd
そうなんだ。慣れてないからびびった
858デフォルトの名無しさん:2010/02/21(日) 00:23:00
日本語名はインテリセンスがウンコになるけどな
859デフォルトの名無しさん:2010/02/21(日) 00:32:14
うんこみたいなIDE使ってるからそうなるだけでは?
860デフォルトの名無しさん:2010/02/21(日) 00:32:25
分かりやすさの面でメリットがあるとしても、
入力の手間を考えれば普通は日本語のシンボルは避けると俺は思うけどね。

本当に流行ってるのかそんなのと思うけど。

それに、コメント書くだけでもありがちなIME切替ミスに伴うイライラ(「pりヴぁて」とかw)
とかも増えそうw

しかしMSはなんでWindowsのGUIを設計する時点でIMEのモードをキャレットで表示できるようにしなかたのかね。
861デフォルトの名無しさん:2010/02/21(日) 09:08:45
>>860
今は亡きWXGがモード表示をキャレットのところでやってたなー。
862デフォルトの名無しさん:2010/02/21(日) 12:03:11
うちでは業務知識だけそのまま日本語にするようにしてるな。
ドメインモデルはほぼ全て日本語のクラスになってる。

ビジネスルールの実装部分とか見てると
ああこれもう客に書いてもらうのも可能な時代なんだなぁと・・・
863デフォルトの名無しさん:2010/02/22(月) 00:22:11
データベースのテーブルから
条件に一致するレコードのIDを探してきてIDを返す。
もし一致するレコードがなかった場合、
INSERTしてから、レコードのIDを返す

...というようなメソッドなのですが、よい名前が浮かびません;

よろしくお願いします。
864デフォルトの名無しさん:2010/02/22(月) 08:32:33
げっとれこーどあいでいー
865デフォルトの名無しさん:2010/02/22(月) 12:55:18
FindRecord(id)とか
866デフォルトの名無しさん:2010/02/22(月) 14:15:21
getid
867デフォルトの名無しさん:2010/02/24(水) 16:15:35
preProcess();
mainProcess();
postProcess();

mainじゃない部分(preとpost)をなんて言いますか?
prePostでもいいんですが、もっと格好いいのがあればそれにしたいです。
868デフォルトの名無しさん:2010/02/24(水) 17:04:07
initializeとfinalize?
869デフォルトの名無しさん:2010/02/24(水) 17:09:12
>>868
別々の名前じゃなくて2つ併せての総称が欲しいです。
870デフォルトの名無しさん:2010/02/24(水) 17:39:56
prologue
epilogue
871デフォルトの名無しさん:2010/02/24(水) 17:44:55
>>870
「mainの処理」と「mainの前後の処理」の2つに分けたいです。
後者の命名に困っています。
872デフォルトの名無しさん:2010/02/24(水) 18:02:40
envelop ?
873デフォルトの名無しさん:2010/02/24(水) 18:31:31
>>872
うーん、見てすぐ意味がわかるか微妙な気がします。

mainに対してsubというのを今思いつきましたが、前後という意味が消えて、これも微妙かなぁ。
prePostが一番いいのかなぁ。
874デフォルトの名無しさん:2010/02/24(水) 18:51:42
around かなぁ?
emacs 上の elisp で関数に機能を後付けするのがあるんだけど
実行の前後で動かす場合は 'around ってモード指定をしてた。

あと sub は無いと思う。自分は sub って聞くとむしろ main から呼ばれる方と思っちゃう。
875デフォルトの名無しさん:2010/02/24(水) 18:57:45
ベタだけど main wrapper
876デフォルトの名無しさん:2010/02/24(水) 19:25:49
>>874
うーん、処理の流れにおいての前後をaroundというのは、イメージが沸かないのですが、
私に英語力がないだけですかね。

subについては確かにそうでした。

>>875
wrapperと聞くと、利用者から直接触れなく(触る必要がなく)するための物というイメージがあります。
877デフォルトの名無しさん:2010/02/24(水) 19:53:52
>>876
だからさあ、君みたいな人が直面してる問題はそもそも命名じゃないんでしょ。
処理の抽象化、つまりそれが何をするための関数なのか、っていう意味づけが
ちゃんと出来てないんだよ。

どこの世界に「mainの前後の処理」なんていう抽象化があるんだよ。
ちゃんと処理の意味づけが出来てないんだから命名なんてできるわけないじゃん。
878デフォルトの名無しさん:2010/02/24(水) 20:11:25
強引にエスパーしてcontext_switch
879デフォルトの名無しさん:2010/02/24(水) 20:30:00
firewall
880デフォルトの名無しさん:2010/02/24(水) 20:44:08
prepost {
  ...

  main {
    ...
  }

  ...
}

こういうのを想定してるのか?
もうちょっと説明しないとみんなわけがわからない飢餓
881デフォルトの名無しさん:2010/02/24(水) 20:54:05
__attributes__((constructor, destructor)) void f(void);

int main(void){ ... }

こういうのもあるからラッパーとは限らないかもな
882デフォルトの名無しさん:2010/02/24(水) 21:32:43
テンプレートメソッドパターンを再発明しようとしているのかなー??
883デフォルトの名無しさん:2010/02/24(水) 21:55:10
本日のエスパースレ
884867:2010/02/24(水) 22:05:20
class Hoge {
void process() {
  xxxProcesser.preProcess();
  /* ここにいわゆるmain */
  xxxProcesser.postProcess();
}
};

こんな感じです。
885867:2010/02/24(水) 22:20:07
デザインパターンで言えば、TemplateMethodパターンというよりStrategyパターンのような気がします。
886デフォルトの名無しさん:2010/02/24(水) 22:24:07
>>884
このソースでいうprocessの部分の名前が決めたいの?それともHoge?
887デフォルトの名無しさん:2010/02/24(水) 22:25:44
「どうやって実行するか」ではなく、「何を行うか」を名前にした方がいいんじゃね?
888デフォルトの名無しさん:2010/02/24(水) 22:27:45
>>886
xxxProcesserのxxxの部分です。

>>887
preProcessとpostProcessに関しては、これがぴったりだと思っています。
889デフォルトの名無しさん:2010/02/24(水) 22:33:00
>>888
xxxProcesserていうのはプロパティかローカル変数なんでしょ?そこはprocessorでいいんじゃないの?
890デフォルトの名無しさん:2010/02/24(水) 22:43:22
>>889
XxxProcesser xxxProcesser;
のつもりでクラス名と変数名を同じに考えていました。

変数名は確かに適当でもいいですが、クラス名(インターフェイス名)はProcesserだけだと後で名前が衝突する可能性があるかなと。
891デフォルトの名無しさん:2010/02/24(水) 22:49:48
じゃあHogeProcessorにするかEncoderみたいな具体的なもので
892デフォルトの名無しさん:2010/02/24(水) 22:56:23
こんなアフォな質問者に回答(になってないと思うがw)する奴も回答する奴だ。
処理の中身はワカンネエがとにかく名前が欲しいって正気の沙汰かよ
893デフォルトの名無しさん:2010/02/24(水) 23:04:43
>>891
うーん、確かにそのぐらいしか名前につけるものがないのかもしれません。

>>892
どのメソッドのどのタイミングで呼ばれるかの条件において、処理の内容を切り替えるStrategyパターンっておかしいですかね。
pre/postと呼ぶのがぴったりな処理も世の中にはあると思いますが。
894デフォルトの名無しさん:2010/02/24(水) 23:14:59
なぜそこまで処理の内容を隠したがるんだw
895デフォルトの名無しさん:2010/02/24(水) 23:28:52
クラスならコンストラクタとデストラクタがpre, postの役割でいいんじゃね。
896デフォルトの名無しさん:2010/02/24(水) 23:30:30
>>894
命名に関係しないからです。
例えば、
class Encoder {
void encode() {
  xxxEncoder.preEncode();
  /* ここにいわゆるmain */
  xxxEncoder.postEncode();
}
};
としたところで、命名の解決にはならないと思うんですが。
897デフォルトの名無しさん:2010/02/24(水) 23:33:29
>>895
XxxProcesserは抽象クラスです。
Hogeの利用者がXxxProcesserのサブクラスを生成し、Hogeに渡します。
898デフォルトの名無しさん:2010/02/24(水) 23:53:51
もうABCProcessorとかでいいよ、順番も表せてるっぽくていいだろ?
899デフォルトの名無しさん:2010/02/24(水) 23:56:08
decorator か、 filter じゃねえ?

xxxは後ろに来るけど。
900デフォルトの名無しさん:2010/02/25(木) 00:02:49
901デフォルトの名無しさん:2010/02/25(木) 00:14:58
struct ほげほげ{
  preProcess() = 0;
  postProcess() = 0;
};

void encode(ほげほげ &p){
  p.preProcess();
  エンコード処理
  p.postProcess();
}

たぶんこんなイメージなんだろうとエスパー。
包むイメージでFolderとか?
902デフォルトの名無しさん:2010/02/25(木) 00:22:42
それDecoratorだべ。
903デフォルトの名無しさん:2010/02/25(木) 00:44:57
もうbegin,endでいいやん
904デフォルトの名無しさん:2010/02/25(木) 05:37:20
もうMae,Atoでいいやん
905デフォルトの名無しさん:2010/02/25(木) 06:23:24
劇的Before,Afterでいいやん
906デフォルトの名無しさん:2010/02/25(木) 06:50:14
天下の.NETも
BeginUpdate()
Update処理
EndUpdate()
だしな
従っとけ
907デフォルトの名無しさん:2010/02/25(木) 09:16:26
>>898 それならPrePostProcesserにしたいです。
>>899 processDecoratorというのはいいですね。
>>900 >>867にも書いたように他によさそうなのがなければそれにするつもりです。
>>901,902
pはメンバ変数にするつもりですが、あとはそんな感じです。
Strategyパターンではなく、Decoratorパターンになるんですね。
デザインパターンは似たようなものに見えてしまって難しい。
>>903-906 そこはpre/postで満足してます。

ProcessDecoratorにします。
どうもありがとうございました。
908デフォルトの名無しさん:2010/02/25(木) 10:10:42
なるほど、ProcessDecoratorは悪くない気がする。
909デフォルトの名無しさん:2010/02/25(木) 10:45:39
Decoratorパターンと混同しそうだ
910デフォルトの名無しさん:2010/02/25(木) 11:12:28
やることによるが、decorateしたものを、元のものにフィーチャー
が追加されたように扱えるのでなければ、Decoratorパターンとは
違うのではないか。
911デフォルトの名無しさん:2010/02/25(木) 13:27:47
形式的な設計から名前を付けるのがそもそも間違ってるだろ
処理の目的に応じて付けるべき
912デフォルトの名無しさん:2010/02/25(木) 14:59:39
RAIIを利用して、コンストラクタでlock、デストラクタでunlockする処理がありますよね。
これと同じように、コンストラクタでパラメータXを書き換えて、デストラクタでパラメータXを元の状態に戻す処理を考えています。
このクラスの名前をお願いします。
913デフォルトの名無しさん:2010/02/25(木) 15:08:09
UnwindProtect
914デフォルトの名無しさん:2010/02/25(木) 15:47:02
>>913
Lispで使われてる呼び方でしょうか?
ちょっと馴染みがなくてわかりにくく感じます。
915デフォルトの名無しさん:2010/02/25(木) 16:43:57
>>877
お前一人が話についていけてないだけなんだから噛み付くなよバカが
完全に解決してんじゃねぇか
916912:2010/02/25(木) 16:50:58
SetXInScopeのように後ろにInScopeを付けるのを思いつきました。
しかし、クラス名なのに動詞というのもおかしいでしょうか?
917デフォルトの名無しさん:2010/02/25(木) 17:07:37
TemporaryValueBind bind(X, 新しい値).

Excite: 一時的な値のひも
ImTranslator: 一時的に値をバインドする
918デフォルトの名無しさん:2010/02/25(木) 17:13:34
XState
919デフォルトの名無しさん:2010/02/25(木) 17:21:29
>>917
束縛という感じじゃない気がします。
>>918
変更した値がスコープを抜ける時に元に戻る感じがしないです。

スコープの終わりで値が元に戻るっていうのがすぐ分かる名前がいいです。
920デフォルトの名無しさん:2010/02/25(木) 17:24:42
DirectX使ったゲームの描画状態管理なんかではXStateBlockを見かける
921デフォルトの名無しさん:2010/02/25(木) 17:32:42
>>920
確かにBlockというところからスコープの間だけというのが読み取れますね。
これにします
ありがとうございました。
922デフォルトの名無しさん:2010/02/25(木) 18:03:30
>スコープの終わりで値が元に戻るっていうのがすぐ分かる名前がいいです。
これを専門用語で「変数の束縛」って呼ぶんじゃないかなって思います。
923デフォルトの名無しさん:2010/02/25(木) 18:36:56
bindは広いからなあ
なんでもかんでも束縛と呼べる
924デフォルトの名無しさん:2010/02/25(木) 20:45:09
let
925デフォルトの名無しさん:2010/02/25(木) 23:07:09
lispでletをキーワード的に使いますがletを選んだ目的(語源)は一体なんだったんでしょうか?
926デフォルトの名無しさん:2010/02/25(木) 23:14:02
論文や教科書なんかで変数や記号の定義によく使うからでは?
Let A be a set. みたいな。
927デフォルトの名無しさん:2010/02/26(金) 00:32:53
やっぱりletは現代風な束縛って意味とはあまり関係ないんですか。
928デフォルトの名無しさん:2010/02/26(金) 00:53:03
KeepX var;
929デフォルトの名無しさん:2010/02/26(金) 18:21:02
サイトランキングを作っているのですが、
1.IN・OUTの履歴を記録しておくテーブルのテーブル名
2.そのレコードがIN・OUTのどちらなのかを記録するカラム名

1にはサイトID、IPアドレス、日時などのカラムがあります。

2についてはシンプルにtype、もしくはdirectionなどを考えたのですが、
おかしいでしょうか?

よろしくお願いします。
930デフォルトの名無しさん:2010/02/26(金) 19:18:02
〜の数ってみなさんどうしてるんでしょうか。
Numじゃ意味違うし・・・。
931デフォルトの名無しさん:2010/02/26(金) 19:29:16
ItemCount
932デフォルトの名無しさん:2010/02/26(金) 19:32:16
NumとNoで使い分けてるのはどっかで見た
933デフォルトの名無しさん:2010/02/26(金) 20:38:09
>>929
IN・OUTってなに?
934929:2010/02/26(金) 20:48:47
>>933
説明が足りなくてすみません。
ランキングサイトから登録サイトに飛ぶのがOUT、
登録サイトからランキングサイトに飛ぶのがINです。

http://blog.with2.net/rank1000-0.html

こんなかんじのイメージです。
935デフォルトの名無しさん:2010/02/26(金) 21:23:12
まあ、とりあえずINとOUTの履歴を同一のデータ構造で扱うのは変。
記録は別々で行っておいて、必要なら表示の段階で統合すればいい。

それなら名前に悩むことないと思うし。
936デフォルトの名無しさん:2010/02/26(金) 21:23:27
action_history
type
937デフォルトの名無しさん:2010/02/26(金) 21:25:25
>>935
将来にわたってINとOUTしかないんならそうだけど、
内部での移動とか考える可能性があるなら統合しておく手もある
938デフォルトの名無しさん:2010/02/27(土) 10:28:22
>>930
意味って違うの?

プリフィクスとしてnumofとかnofとか付けてしまえ、というのはアリかもしれない。
939デフォルトの名無しさん:2010/02/27(土) 10:48:07
NumOf とか
〜Count とか
〜s とかだなぁ。自分の場合
940デフォルトの名無しさん:2010/02/27(土) 11:00:58
>>938
a number of と the のことじゃね。
941デフォルトの名無しさん:2010/02/27(土) 12:04:28
nXxxxxs だべ
942デフォルトの名無しさん:2010/02/27(土) 12:30:38
>>938
numberは語順で意味が変わるから、サフィックスのつもりなんじゃないか?

the number of 〜s ≠〜 number
count of 〜s = 〜 count

>>940
プログラムで a number of は普通ない。単に複数形にするだけでいいし
943デフォルトの名無しさん:2010/02/27(土) 13:16:17
リスト 集約とくらいは区別のできる名前にしなよ
944デフォルトの名無しさん:2010/02/27(土) 14:13:47
リストだのコレクションは
〜List とか 〜Collection だなぁ。
言語の命名ガイドラインでもコレクション系はそういうの推奨してることあるしね。
945デフォルトの名無しさん:2010/02/27(土) 18:55:41
おれは以下のように使ってるが間違ってないよな?

Hogeの数
numHoge
hogeCount

Hoge番号
hogeNumber
hogeNo
946デフォルトの名無しさん:2010/02/27(土) 22:06:36
問題ないと思うけど。
どのみち人毎の多少のブレは文脈で判断するしね。
947929:2010/02/27(土) 22:10:45
>>935
>>937
ご指摘の通り、将来の拡張性も考えて一つのテーブルにしています。
集計もラクそうですし。

>>936
historyにtypeですね。
これが分かりやすくていいかもしれませんね。

1.はclicksとかtracksとかも考えたのですが、
かえって分かりにくいですかね。
948デフォルトの名無しさん:2010/02/28(日) 00:19:05
変数名とかでルールとして変数名を
日本語名をそのままローマ字にしてるプロジェクトと
ちゃんと英語に翻訳しているプロジェクトがあるのですが
企業文化以外にこうした方がこれがメリットとかってあるのでしょうか?
949デフォルトの名無しさん:2010/02/28(日) 00:39:58
統一さえされてればどっちでもいい
950デフォルトの名無しさん:2010/02/28(日) 00:49:51
ローマ字だと勝手に発狂した上にルール守らないPGが出てくる可能性があるかもしれない。
あと海外に外注出し辛いかもしれない。出したことないからわからんし仕様書もローマ字で入れときゃいいだけだろうけど。

英語に翻訳だと業務用語が上手く翻訳出来なくて不自然になるかもしれない。
あと間違った翻訳してたりすると恥かしい。大規模にやってる場合は各人が書いてるコードの
ローカル変数まで一気にリファクタリング、なんてのはとても出来たもんじゃないから後から修正はほぼ無理。
951デフォルトの名無しさん:2010/02/28(日) 01:45:34
昔BrakBardって変数を見たことあるなぁ
952デフォルトの名無しさん:2010/02/28(日) 02:22:59
uwarite
953デフォルトの名無しさん:2010/02/28(日) 03:36:43
ちなみに>>951は烏のことだった。いっそローマ字の方がよかったような
954デフォルトの名無しさん:2010/02/28(日) 11:46:45
Serchは今でもたまに見る。
955デフォルトの名無しさん:2010/02/28(日) 12:30:14
>>953
10ptの日本語フォントだと、鳥と烏も同じに見えちゃうわけで、
そっちはそっちで問題だなw
956デフォルトの名無しさん:2010/02/28(日) 13:26:33
日本語変数名はそういう問題もあるか。

ローマ字も"ju" vs "jyu" とか "xa" vs "la" みたいなので派閥闘争あったりするのかな。
957デフォルトの名無しさん:2010/02/28(日) 14:02:34
それ、3/4はローマ字じゃないしw
ヘボン式/訓令式の話しなら shi/si、ja/zya とかだ
958デフォルトの名無しさん:2010/02/28(日) 14:12:21
そろそろスレタイ読もうねボクチャンたち
959デフォルトの名無しさん:2010/02/28(日) 14:17:08
>>958
お前こそスレの流れ読めよ。
960デフォルトの名無しさん:2010/02/28(日) 19:28:54
>>957
何を突然
ヘボン式/訓令式の話なんか誰もしてないが?
961デフォルトの名無しさん:2010/03/04(木) 03:06:05
>>960
自然な流れじゃね?
962デフォルトの名無しさん:2010/03/04(木) 10:05:34
スレ違い失せろカス
963デフォルトの名無しさん:2010/03/04(木) 21:51:33
PHP で、簡単なタイマーを作ろうとしています。

if ($timer->before('2011-01-01 00:00')) {
echo "まだ 2011 年じゃないです。\n";
}
if ($timer->after('2010-01-01 00:00:00')) {
echo "もう 2010 年を迎えました。\n";
}

ここでもうひとつ、特定の期間であれば true を返すメソッドが欲しいのですが、

if ($timer->period('2010-01-01 00:00:00', '2011-01-01 00:00:00')) {
echo "2010 年です。\n";
}

before や after に比べると、period って直感的じゃないなー、と・・・。

何かいい名前はないでしょうか?
964デフォルトの名無しさん:2010/03/04(木) 21:56:12
between
965デフォルトの名無しさん:2010/03/04(木) 22:32:55
isAfterTime, isBeforeTime, isTimeBetween
966デフォルトの名無しさん:2010/03/04(木) 22:55:51
$timer->in(xxxx,yyyy) がいいと思うんだけどここまで短かいとちとあれかね。
967デフォルトの名無しさん:2010/03/04(木) 23:16:41
それならwithinでいいんじゃないの。より意味も狭いし。

しかし、php知らんのであれだけど、
[時刻]オブジェクトが「ある時刻と時刻の範囲内かどうかを調べるメソッド」を持つよりも、
[時間範囲]オブジェクトが「[時刻]を引数にとってそれを含むかどうかを調べるメソッド」
を持つほうが考え方としては分かりやすいんじゃないのかね。
968デフォルトの名無しさん:2010/03/05(金) 00:38:32
それはない。
969デフォルトの名無しさん:2010/03/05(金) 00:52:40
>>968
無知 and/or 経験が足りないんだね。
970デフォルトの名無しさん:2010/03/05(金) 00:57:33
だからなんでスグ設計論になるんだよ
971デフォルトの名無しさん:2010/03/05(金) 00:59:50
>>970
無知 and 経験が足りないんだね。
972デフォルトの名無しさん:2010/03/05(金) 01:34:47
>>967
知らんなら
せめて黙ってろ
無知ゴミが
973963:2010/03/05(金) 07:32:19
みなさんありがとうございます!

within で行こうと思います。
between は MySQL のイメージで、境界値を含みそうですが、
自分が作ろうとしているのは

// 現在が 2010-01-01 00:00:00 と仮定

$timer->after('2010-01-01 00:00:00');
// => true (境界値含む)

$timer->before('2010-01-01 00:00:00');
// => false (境界値含まない)

という仕様なので、within が一番近い気がしました。
ありがとうございました!
974デフォルトの名無しさん:2010/03/05(金) 16:17:25
処理落ち(http://ja.wikipedia.org/wiki/%E5%87%A6%E7%90%86%E8%90%BD%E3%81%A1)の事を英語でなんといいますか?
975デフォルトの名無しさん:2010/03/05(金) 16:43:40
frameskip
976デフォルトの名無しさん:2010/03/05(金) 16:50:51
>>975
それは処理落ちがおきた時の対処法な気がします。
処理落ちが起きている状態の呼び方が知りたいです。
977デフォルトの名無しさん:2010/03/05(金) 17:38:03
lag
978デフォルトの名無しさん:2010/03/05(金) 17:46:04
>>977
lagだけだと通信のラグをイメージしてしまいます。
processLagかなぁ。
979デフォルトの名無しさん:2010/03/05(金) 17:51:11
missing of step
980デフォルトの名無しさん:2010/03/05(金) 19:04:12
frameskip でググって英語サイトの前後の文脈読んでみたりしたけど
一言であらわす単語はあんまり見あたらないなあ。
981デフォルトの名無しさん:2010/03/05(金) 19:36:50
framerate drop
982デフォルトの名無しさん:2010/03/05(金) 20:22:25
処理落ちって考えてみると結構漠然とした概念だな。
だからwikipediaでも日本語版にしか載ってないんだろう。

全部を処理することを優先した結果リアルタイム性がなくなることも、
リアルタイム性を優先した結果特定の処理をスキップすることも、どっちも
処理落ちっていいがちだけど、本当は全然違う概念のような気もする。

前者ならdelayで、後者ならframe rate dropかね
983デフォルトの名無しさん:2010/03/05(金) 21:15:18
>>979,981
>>976と同じ感想です。

>>980
はっきりとした用語がないのでしょうか。

>>982
規定量の処理を規定の時間内に行えない時点で処理落ちと呼べると思います。
処理落ちになった時の対処法に処理をスキップするという方法があるという解釈です。

delayだけだと、これも通信をイメージしてしまいます。
processDelayとかframeDelayの方向で考えます。
ありがとうございました。
984デフォルトの名無しさん:2010/03/05(金) 21:23:06
ThroughputDelay はググったらHITした。
google code サーチだと2ファイルだけど。

http://www.google.com/codesearch?hl=ja&lr=&q=ThroughputDelay
985デフォルトの名無しさん:2010/03/05(金) 21:24:39
処理落ち?もっと高いグラボ変え。HAHAHA
986デフォルトの名無しさん:2010/03/05(金) 21:30:27
C#なんですけど、この場合a,b,c,p,nにそれぞれどんな変数名つければいいでしょうか?

string p = "C:\foo\";
string n = "bar.txt";

string a = p + n;
string b = p;
string c = n;
987デフォルトの名無しさん:2010/03/05(金) 21:33:15
それだけでは決めない
変数の使用目的によって決める
988デフォルトの名無しさん:2010/03/05(金) 21:39:46
C#のPathクラス参考にして
p,b=>dirname
n,c=>filename
a=>fullpath
989デフォルトの名無しさん:2010/03/05(金) 21:50:40
なるほど!fullpathかー
その言葉が思いつかなくてどう区別すべきか悩んでた
ありがとう
990デフォルトの名無しさん:2010/03/05(金) 22:43:48
>>983
お前の語感がおかしい
991デフォルトの名無しさん:2010/03/05(金) 23:21:40
人をお前呼ばわりして平気な奴が「語感がおかしい」って面白くないジョークだな
992デフォルトの名無しさん:2010/03/05(金) 23:25:11
↑馬鹿
993デフォルトの名無しさん:2010/03/05(金) 23:45:46
語感はおかしくないと俺は思う
ただ文章が淡々としているから冷たく感じてしまい、
批判をしてるように見えてしまったのではなかろうか
994デフォルトの名無しさん:2010/03/05(金) 23:57:58
まあ正直にいうと、lagとかdelayって聞いて通信を連想するのはちょっと変じゃないの?
とは俺も思うんだけどねw
995デフォルトの名無しさん:2010/03/06(土) 00:23:24
そう?
delayはともかくlagって聞くと通信回線が重いイメージわくけどな。
まあ人それぞれってことで。
996デフォルトの名無しさん:2010/03/06(土) 01:16:37
通信を連想するのが変だと言っているのではなく、
通信方面専用のワードだと思ってるとしたら変だって意味ね念のため。
997デフォルトの名無しさん:2010/03/06(土) 01:22:28
どうでもいいけどそろそろ次スレ立ててね
998デフォルトの名無しさん:2010/03/06(土) 01:43:23
>>983
ネトゲオタの人なのかも知らんけど
そこまで行くとお前がおかしいと考えるべきだよ
というかそんなケチつけるならもっと前提情報をだしなよ
999デフォルトの名無しさん:2010/03/06(土) 01:50:43
>>1000
次スレは?
1000デフォルトの名無しさん:2010/03/06(土) 01:51:45
task incompletion
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。