クラス名・変数名に迷ったら書き込むスレ。Part22
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/09/06(木) 17:19:40.71命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part21
http://toro.2ch.net/test/read.cgi/tech/1327197884/
0002デフォルトの名無しさん
2012/09/07(金) 11:59:30.87void Node::addChild(Node * p) {
assert(p);
if(p->hasParent()) {
throw XException("XMessage");
}
else {
container.insert(p);
p->parent = this;
}
}
このときXExceptionの名前とXMessageの内容は?
0003デフォルトの名無しさん
2012/09/07(金) 14:59:57.19メッセージ Node must be root.
0004デフォルトの名無しさん
2012/09/07(金) 19:44:47.02普通にArgumentExceptionでいいんじゃね
0005デフォルトの名無しさん
2012/09/07(金) 21:58:31.79InvalidNodeOperationException
AddNodeFailedException
NotRootNodeAddedException
--------
追加しようとしたNodeはルートノードではありません。
0006デフォルトの名無しさん
2012/09/08(土) 12:52:56.480007デフォルトの名無しさん
2012/09/09(日) 13:06:29.030008デフォルトの名無しさん
2012/09/09(日) 13:12:37.87後者はテストやないか
0009デフォルトの名無しさん
2012/09/09(日) 15:36:52.720010デフォルトの名無しさん
2012/09/11(火) 00:16:42.322カラム(左サイドバー)テンプレート、
サイドバーなし1カラムテンプレートとかどういうファイル名にしたら良いでしょうか
template_2c_left.tpl これはちょっとなぁ
0011デフォルトの名無しさん
2012/09/11(火) 00:30:02.46サイドバーなし1カラム.tpl
0012デフォルトの名無しさん
2012/09/11(火) 14:17:53.82sidebar_no.tpl
0013デフォルトの名無しさん
2012/09/11(火) 19:29:50.230014デフォルトの名無しさん
2012/09/12(水) 21:28:00.470015デフォルトの名無しさん
2012/09/12(水) 21:34:37.88一流と思う
0016デフォルトの名無しさん
2012/09/12(水) 21:38:43.660017デフォルトの名無しさん
2012/09/12(水) 21:40:10.69なんかあったのなら、ここでぶちまけていいんだぞ。聞いてやる
0018デフォルトの名無しさん
2012/09/12(水) 21:57:50.61リーダブルコードを読んだ後でも同じ台詞が吐けるなら、
同僚じゃなくて本当に良かったと思う
0019デフォルトの名無しさん
2012/09/12(水) 23:16:31.730020デフォルトの名無しさん
2012/09/12(水) 23:29:32.74お前用のクラス用意しといてやる
CSpec072implementee
0021デフォルトの名無しさん
2012/09/13(木) 00:00:43.35意味がわからんが
0022デフォルトの名無しさん
2012/09/13(木) 07:33:42.22話の流れから言って、なんかのギャグを言って >>19 を馬鹿にしているなぁ
ということは分かるが、内容が全く分からん。
0023デフォルトの名無しさん
2012/09/13(木) 09:27:35.09072 しこしこ
implementee 実装されるもの
0024デフォルトの名無しさん
2012/09/13(木) 15:24:42.71褒めてくれてありがとう
0025デフォルトの名無しさん
2012/09/16(日) 15:02:37.29fromとtoにしたいけど、fromは予約語
さて どうしたものか
0026デフォルトの名無しさん
2012/09/16(日) 15:12:30.33toAddr
fromAddress
toAddress
from_
to_
0027デフォルトの名無しさん
2012/09/16(日) 21:40:26.79ffrom とか重ねておく妥協
0028デフォルトの名無しさん
2012/09/16(日) 23:27:44.360029デフォルトの名無しさん
2012/09/17(月) 07:52:44.13それするぐらいなら、from_ の方が意味がないだけマシじゃね?
まあ普通に fromAddress に一票。
0030デフォルトの名無しさん
2012/09/17(月) 07:56:21.060031デフォルトの名無しさん
2012/09/17(月) 09:09:02.36誰に言っている?
0032デフォルトの名無しさん
2012/09/17(月) 09:33:47.180033デフォルトの名無しさん
2012/09/17(月) 09:47:46.960034デフォルトの名無しさん
2012/09/17(月) 10:29:00.990035デフォルトの名無しさん
2012/09/21(金) 08:26:28.09つまり 2D での cross product ってことで crossProduct2d って関数を作ってたんですが、
2次元の外積なんてない、と算数のエラい人に言われました。
よく使われる式じゃないかと思うんですが、何ぶん算数が苦手で名前も思い浮かびません。
いい名前をお願いします。
0036デフォルトの名無しさん
2012/09/21(金) 11:11:50.14で、ここで真に重要なのは、2D云々じゃなく、
zが0のときにのみ使える「簡易版の外積」ってことなんじゃないだろうか。
0037デフォルトの名無しさん
2012/09/21(金) 12:28:30.13crossProductWithoutZ
こうですか?わかりません><
0038デフォルトの名無しさん
2012/09/21(金) 20:40:35.82そもそもz = 0の時専用の関数を用意しなきゃならん意味が全然分かりません
0039デフォルトの名無しさん
2012/09/21(金) 20:47:54.98そもそも、その crossProduct2d 関数は、
何を引数にとって、何を返す、何のための関数なんだ?
まずはそこからしっかり説明してくれ。
0040デフォルトの名無しさん
2012/09/21(金) 21:47:56.12> >>1
> > 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
0041デフォルトの名無しさん
2012/09/22(土) 09:28:43.16その理由はクラスが Vector2d だからです。
Vector3d なら問題ないんです。
実際 AS3 だと交差判定やらなにやらで 2 次元座標を Vector3d の z = 0 で使ってたりします。
お前も真似して 3d クラス使えよってんなら話は終わりですが、気持ちが悪いなぁと。
>> 39
外積ってやつです。
引数は外積をとりたいもう一つのベクトルをとります。
2次元でも線の交差判定とかでちょいちょい出てきます。
戻り値は 3D ならベクトルなんですが、
2D の場合は z が 0 のため x, y が 0 になってしまうので事実上 z 座標の値を返す感じです。
0042デフォルトの名無しさん
2012/09/22(土) 09:36:47.35算数とプログラミングを混同するな馬鹿って言っておけ
普通に2Dベクトル計算でも外積は定義するし関数名はCrossProdとかありきたりな名前を付ける
それでIT技術者には通じるしもし不安に思ったらドキュメントで仕様を確認するからそこに書いておけばいい
004339
2012/09/22(土) 13:36:08.45いや、表面上は外積を計算したがっているのは分かってる。
最初の質問にも書かれているから。
その外積の計算で、戻り値にどのゆうな意味を付与しているのかを知りたかった。
もし明確な意味があるのなら、その意味を端的に表す単語を名前に使えるから。
それが「何のための関数」を訊いた訳。
逆質問の仕方が悪かったのは謝る。
もし特定の意味はなく、汎用ライブラリ的な抽象度の高い計算関数であるなら、
たとえば determinant(行列式)はどうだ。
実際に計算していてるそれは外積ではなく2次正方行列の行列式だ。
0044デフォルトの名無しさん
2012/09/23(日) 00:00:27.76結論から言うとcrossProduct2dでも、あるいは非OOPみたいだからVCT2D_OuterProduct
みたいな名前でよいのでは?
俺ももうそんな数学はさっぱり忘れたのでググって見たけど、2Dの外積は
xy平面(Z = 0)上の2つのベクトルの外積と考えることが多く、演算結果も
実用上ベクトルではなくスカラーとして扱う場合が多いらしい。
0045デフォルトの名無しさん
2012/09/23(日) 13:35:33.060046デフォルトの名無しさん
2012/09/23(日) 13:51:27.65isCommon
isComparable
isGeneral
isUsual
などはどうだろうか。
それぞれ固有のニュアンスがあるから詳しくは英英辞典などで調べてくれ。
ちなみに、>>45 の書き方からして恐らく真偽値を扱う変数や関数だろうから、
紛らわしいので真偽値変数などに否定形の名前は避けるべき
という理由で安易な isUnunique はお勧めしない。
0047デフォルトの名無しさん
2012/09/23(日) 13:56:48.54それは逆だと思うよw
明示的な名前にしたいのなら素直にisUnuniqueとかisNotUniqueにすべき。
なぜなら、例えば"common"であることはuniqueであることと必ずしも矛盾しないからだ。
004846 じゃねーけど
2012/09/23(日) 14:01:55.40> なぜなら、例えば"common"であることはuniqueであることと必ずしも矛盾しないからだ。
だから、「固有のニュアンスがあるから詳しくは英英辞典などで調べてくれ」って書いてるんじゃね?
0049デフォルトの名無しさん
2012/09/23(日) 14:05:17.180050デフォルトの名無しさん
2012/09/23(日) 14:18:10.26> なぜなら、例えば"common"であることはuniqueであることと必ずしも矛盾しないからだ。
それは、Unique が Common の対義語になってないということだろ。
Unique も複数のニュアンスがあるから、対義語になってる語を選べと言ってるだけ。
>>46 に有るかどうかは知らんけど。
0051デフォルトの名無しさん
2012/09/23(日) 14:23:14.08あるかどうか知らんってどういうことだよ。
あるから反論してるんじゃないのか。
005246
2012/09/23(日) 14:32:36.50設計の善し悪しに関わることだからここで言ってはいけないのかも知れないが、
if (肯定形 == true) { }
if (肯定形 == false) { }
if (否定形 == true) { }
if (否定形 == false) { }
if (肯定形 != true) { }
if (肯定形 != false) { }
if (否定形 != true) { }
if (否定形 != false) { }
これらがソース中に混在していると、
後からソースを見たときに処理が追いにくくなったり、
うっかりミスによるバグが発生する可能性が高くなる。
(実際、自分や他人のコードのこの手のうっかりミスを数多く直してきた)
だから、2つくらいに絞ってそれ以外は使わないようにする方がいいのだが、
わたしはその中で [肯定形 == true] と [肯定形 == false] の組みを勧めているだけ。
**は真だ、**は偽だと言った方が命題がはっきりしてわかりやすいと思うから。
もちろん、別の理由で [肯定形 == true] と [否定形 == true] の組みの方が
もっとわかりやすいとして勧める人も大勢いるだろう。
0053デフォルトの名無しさん
2012/09/23(日) 14:45:55.43VBerじゃないんだから
if (isNotUnique){}
これで十分。
何でboolの値と比較しなきゃならんのよ
0054デフォルトの名無しさん
2012/09/23(日) 14:47:34.34>あるかどうか知らんってどういうことだよ。
>>45 が Unique をどういうニュアンスで使ってるかは >>45 にしかわからんだろ JK
君、ちょっと論理的思考能力が欠けてるんじゃね?
>>52
前から不思議なんだがなんで if(肯定形 == true) とか if(否定形 == false) とか、
書くんだろう…
普通に if(肯定形) とか if(!否定形) って書けばいいと思うのだが…
ましてや if(否定形 != false) なんてありえへん…
>>53
だよねぇ。
0055デフォルトの名無しさん
2012/09/23(日) 14:50:51.03じゃあはっきり言ってやる。
そもそもuniqueにニュアンスがあるとも思えないが、百歩譲ってあるとして
しかしいずれにせよuniqueの対義語になる言葉なんか>>46の案に一つも存在しない。
あるというなら明示的に言ってみな。
005646
2012/09/23(日) 15:00:46.36> uniqueの対義語になる言葉なんか>>46の案に一つも存在しない。
どれも、いくつかの antonym dictionary で unique を調べた結果です。
005746
2012/09/23(日) 15:06:19.71もう少し具体的に言うと
たとえば unique を incomparable(無類の)というニュアンスで使っているのなら、
対義語として comparable が挙げられるのではないか、というように、
unique に込めたニュアンスによっていくつかリストアップしてみました。
0058デフォルトの名無しさん
2012/09/23(日) 15:06:32.14> しかしいずれにせよuniqueの対義語になる言葉なんか>>46の案に一つも存在しない。
だったら君が案を提示してやればいいんじゃね?
0059デフォルトの名無しさん
2012/09/23(日) 15:16:19.94プログラミングの文脈でそんな文学的表現が要求される場面があるんだろうか。
むしろないと断言してよいと思うが...
>>58
何が「だったら」か意味が分からない。
0060デフォルトの名無しさん
2012/09/23(日) 15:21:48.62> 何が「だったら」か意味が分からない。
マジでわからないの?
日本語勉強した方がいいんじゃね?
0061デフォルトの名無しさん
2012/09/23(日) 15:25:22.22馬鹿はこれだからな。
俺がuiqueの対義語が(他に)存在する、というのなら君の言い方(「だったら」)は成立する。
俺がいつそんなことを言ったんだ?
むしろそんなものはないと考えるから>>47のように書いている。
0062デフォルトの名無しさん
2012/09/23(日) 15:31:26.46あとは >>45 が選ぶだけ。
>>45 が案について質問してきたら、それに答える。
それじゃいかんの?
なんで感情むき出しにして馬鹿とか言ってるの?
0063デフォルトの名無しさん
2012/09/23(日) 16:37:07.92is already exists
0064デフォルトの名無しさん
2012/09/23(日) 17:08:09.92Unique の対義語は存在しないというのか?
別にその意見は言ってもいいと思うが、違う意見もあるというだけだろ。
例えば: http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1334342848
もう少し、他の人と会話すること覚えた方がいいぞ。
0065デフォルトの名無しさん
2012/09/23(日) 17:29:07.69他人と会話できない幼稚な馬鹿はどっちだ。
下らないことグダグダ言ってないで建設的なことを言え。
uniqueの対義語ってじゃあ何だよ。一つでいいから挙げてくれ。
もちろんuniqueの用法のうちプログラミングの世界で意味を持つもののそれでなければ
何の意味もない。
0066デフォルトの名無しさん
2012/09/23(日) 17:30:53.60プログラミングの世界でuniqueはどのような意味を持つ?
0067デフォルトの名無しさん
2012/09/23(日) 17:34:17.720068デフォルトの名無しさん
2012/09/23(日) 17:44:13.65> uniqueの対義語ってじゃあ何だよ。一つでいいから挙げてくれ。
なに熱くなってるんだよ、ちゃんと挙げてるだろ。
例えば: http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1334342848
これをお前が対義語と認めるかどうかは知らんが、こういう意見もあるというだけのことだ。
0069デフォルトの名無しさん
2012/09/23(日) 17:54:15.86「こういう話はある」とか逃げるんじゃないの。
他人に偉そうなことをいうのならお前の意見を言え。
それもないのに偉そうに人に突っかかってきたのか。
0070デフォルトの名無しさん
2012/09/23(日) 17:57:32.550071デフォルトの名無しさん
2012/09/23(日) 18:12:05.49死ねゴミ
0072デフォルトの名無しさん
2012/09/23(日) 18:44:18.35>>45のレス待とうや
0073デフォルトの名無しさん
2012/09/23(日) 18:58:33.08馬鹿同士が罵り合ってるのでトンズラ
0074デフォルトの名無しさん
2012/09/23(日) 19:04:08.190075デフォルトの名無しさん
2012/09/23(日) 20:43:07.97べつに URL 先の意見と同じって言うだけのこと。
何いきり立ってるんだ?
>>70
「自称英語得意な俺が間違ってるわけねーだろ」君でしょ。
厨坊なら見込みあるけど、高坊以上ならちょっと痛いレベル。
0076デフォルトの名無しさん
2012/09/23(日) 20:47:45.53別にisNotUniqueでもいいんじゃね
0077デフォルトの名無しさん
2012/09/23(日) 21:06:49.86といことはその反対は「一意でない」、「重複している」。はい答え出た
質問者の補足が無い以上、それ以外の稀な用例なんて考慮する必要ないと思うがね
0078デフォルトの名無しさん
2012/09/23(日) 21:18:15.63これでこの話は終わりだろ
質問者が適当に選べばいい
0079デフォルトの名無しさん
2012/09/23(日) 21:26:19.91誰とは言わないけど (w
0080デフォルトの名無しさん
2012/09/23(日) 22:55:52.43こんな思いするくらいなら もう二度と書き込まん
0081デフォルトの名無しさん
2012/09/23(日) 23:12:39.88CSで「high」といったらほぼ用例が決まっていて「高い」
といことはその反対は「高くない」。はい答え出た
馬鹿すぎ。(w
0082デフォルトの名無しさん
2012/09/24(月) 00:19:31.970083デフォルトの名無しさん
2012/09/24(月) 03:58:29.52馬鹿すぎ
0084デフォルトの名無しさん
2012/09/24(月) 07:57:04.320085デフォルトの名無しさん
2012/09/24(月) 12:46:28.25みんなに反論するわけじゃなくて、ただのおっさんの一意見として聞いてくれ。
bool isActive = false;
bool isNonunique = false;
bool isVisuable = false;
という感じのコードを読んでると、私は一瞬「ん?」ってつまずく事が多い。
他にも、もしクラスに isNonunique というメンバ変数があって、
書き込みしか許さない場合、そのアクセサ関数はどういう名前で、
どういう内部処理にになるんだろとか、まぁいろいろ余計なことを考えてしまう。
0086デフォルトの名無しさん
2012/09/24(月) 13:19:58.63だから自分のコードではそれを徹底して排除している
if (a.isActive() && b.isSelected() && !c.isDisabled())
みたいな簡単な式でも、何だろうな、ワーキングメモリが多く削られる
0087デフォルトの名無しさん
2012/09/24(月) 20:07:59.22というより、否定神学じゃないけど、世の中否定形でしか語れないとか、
そこまでいかなくても否定形で語った方が簡潔な概念もあるんですよ。
例えば物質の三態でisSolidOrLiquidより、素直にisNotGasの方が普通の頭の人には分かりやすい。
0088デフォルトの名無しさん
2012/09/24(月) 20:26:47.230089デフォルトの名無しさん
2012/09/24(月) 20:38:04.44そうだった
単なるミス、恥ずかしい・・・
0090デフォルトの名無しさん
2012/09/24(月) 20:40:25.290091デフォルトの名無しさん
2012/09/24(月) 20:43:29.14!isGas
0092デフォルトの名無しさん
2012/09/24(月) 20:51:22.66いや、そういうのは別に良いんだよ。
どうしても否定形じゃないと語れないとか、
否定形の方がはるかにわかりやすいとか、そりゃあると思う。
そういうのは躊躇せず否定形使うよ。
ただ私はプログラミングソースの中では
「できるだけ避ける」 「安易に否定形は使わない」 だけのこと。
理由は >>85
0093デフォルトの名無しさん
2012/09/24(月) 20:53:16.070094デフォルトの名無しさん
2012/09/24(月) 20:55:02.11isDisable
0095デフォルトの名無しさん
2012/09/24(月) 21:01:00.76勝手にお前が普通の人代表すんな
0096デフォルトの名無しさん
2012/09/25(火) 07:18:52.610097デフォルトの名無しさん
2012/09/25(火) 17:43:42.750098デフォルトの名無しさん
2012/09/25(火) 22:03:40.36毎度質問者が居なくなってからオレオレ解釈で大暴れするんだよなぁ
0099デフォルトの名無しさん
2012/09/26(水) 06:29:00.12class x {
Attribute earth, wind, fire, water;
}
クラス x の名前を教えてください
ただの集約クラスなら AttributeSet か AttributeContainer
まとめて何かしらの処理を行うのであれば AttributeManager にしようかなと
0100デフォルトの名無しさん
2012/09/26(水) 07:12:55.76Attribute と x それぞれの役割や意味が分からない。
> ただの集約クラスなら
> まとめて何かしらの処理を行うのであれば
Attribute と x との関係がはっきりしない。
これらのことが分からないと、名前が決められないと思う。
0101デフォルトの名無しさん
2012/09/26(水) 08:00:13.00同意
0102デフォルトの名無しさん
2012/09/26(水) 08:01:41.120103デフォルトの名無しさん
2012/09/26(水) 08:03:16.710104デフォルトの名無しさん
2012/09/26(水) 08:04:51.97マクスウェルに決まってるだろテイルズ的に考えて。
0105デフォルトの名無しさん
2012/09/26(水) 10:05:05.39class Attribute
{
AttributeItem earth, wind, fire, water;
}
…にするかなあ。
-Itemじゃなくても-Objとか-Entityとか。
0106デフォルトの名無しさん
2012/09/26(水) 11:22:14.850107デフォルトの名無しさん
2012/09/26(水) 12:41:20.78「クラス x の名前を教えてください」という質問に対して、
それだけでは決められない、理由はこうだと、
ちゃんと訊かれたことだけに応えたつもりだ。
0108デフォルトの名無しさん
2012/09/26(水) 14:02:21.34Attribute : 何の変哲もない、1つのクラスです
1. > ただの集約クラスなら
2. > まとめて何かしらの処理を行うのであれば
xについて、この2つのばあいの共通点は「いくつかのAttributeクラスをまとめる」ということ
1のばあい、上記の例では4つ以外のメンバ変数は持ちません
2のばあい、制御用の何らかの変数を持ちます
例では4つの変数を持ちますが、3つでも10つでもかまいません
ゲームが新要素として新しい属性を追加するようなアップデートでも起こらない限り、数は変更されません
また、4つの変数を固定長の配列で扱わないのは、単に見やすくするためです
> Attribute と x との関係がはっきりしない。
わざとにごらせたつもりです
Attribute を Unit、x 内の4つのメンバを alpha, bravo, ..., zulu にして扱っても構いません
0109デフォルトの名無しさん
2012/09/26(水) 14:04:21.01機械的に名付けたいなら最初からそう書いて欲しかった。
0110デフォルトの名無しさん
2012/09/26(水) 14:58:33.540111デフォルトの名無しさん
2012/09/26(水) 20:12:51.40「集約している」とか「何かしら処理を行う」とか、そんな機能の記述としては
抽象度の高すぎて何の意味も持たない情報をベースに名前を付ける奴は、馬鹿。
0112デフォルトの名無しさん
2012/09/26(水) 23:33:17.22すみません。言っていることをうまく理解できませんでした
template <typename T, typename U>
class Hoge { T key, U value; }
template <typename T>
class Piyo { T x, y; }
template <typename T>
class Fuga { T x, y, z, w; }
class Hogera { Attribute earth, wind, fire, water; }
これらのクラスはそれぞれ何と命名しますか?
0113デフォルトの名無しさん
2012/09/26(水) 23:39:14.81上から順に
KeyValuePair
文脈による
文脈による
文脈による
0114デフォルトの名無しさん
2012/09/26(水) 23:46:55.69「文脈による」項目に関して、名前が決まる具体例をお願いします
ちなみに自分であれば、見た地点で
KeyValuePair
Pair
Vector2(利用可能性が位置情報だけとは限らないので、Point2やCoord2とは名づけない)
Vector4
AttributeSet
と名づけます
0115デフォルトの名無しさん
2012/09/26(水) 23:47:20.97死ねカス
0116デフォルトの名無しさん
2012/09/26(水) 23:51:47.03ハンガリアンみたいだね。
Hoge: KeyValue
Piyo: XY
Fuga: XYZW
Hogera: マクスウェル
>>114
> 「文脈による」項目に関して、名前が決まる具体例をお願いします
例えばpiyoに関して、
位置情報であれば Point { T x, y; }
二次元であることを強調したければPoint2D { T x, y; }
などさまざまなバリエーションがあります。
0117デフォルトの名無しさん
2012/09/27(木) 00:24:24.88では「全ての属性をまとめたクラスであること強調したい」ばあいにおいての、Hogeraクラスの名前を教えてください
0118デフォルトの名無しさん
2012/09/27(木) 00:28:08.23AllAtributes
0119デフォルトの名無しさん
2012/09/27(木) 00:30:02.15List<Hoge> に HogeList と名づけるのと同じです
0120デフォルトの名無しさん
2012/09/27(木) 06:13:54.39class Shinekasu
こうですか?分かりません><
0121デフォルトの名無しさん
2012/09/27(木) 20:21:44.521行に式を詰め込むと読みづらくなるから分割…
こういうのってやった方がいいと思うのですが、関数や変数の命名が難しくなってきます。
1つの処理を3つのパートに分けた場合の関数の名前とか、途中式の結果を受け取る変数の名前とか。
命名に何かコツはないのでしょうか?
皆さんはどうしていますか?
0122デフォルトの名無しさん
2012/09/27(木) 20:32:38.89CやJavaなら処理を{ }で区切る。または無名関数を使う。
つまり一々命名しない。
0123デフォルトの名無しさん
2012/09/27(木) 21:17:27.73確かに1箇所しか呼び出しがない関数はわざわざ名前をつける必要もないですね。
途中式を代入する変数については、xやnみたいに意味のない名前か長くてわかりにくい名前かのどちらかになりがちだけど、
これは仕方ないか…
0124デフォルトの名無しさん
2012/09/27(木) 21:25:10.131つの関数の実装が長くなると読みづらいからというきっかけと、
分割したという結果の間に、もう一段明確にすべきものがある。
「何に」分割するのか
その「何」を端的に表す名前を付ければいい。
逆に言えば、「何」を明確にするように分割する。
明確にできないような形に分割してはいけない。
(こちらは設計の善し悪しにも関わるから、これ以上言わない)
0125デフォルトの名無しさん
2012/09/27(木) 22:50:26.59それが難しいです。
処理Aを1つの関数で命名するのは簡単としましょう。
しかし、処理Aが大まかに3つの処理によって成り立っていて、3つの関数に分割する事を考えた場合、ぴったりとした命名が難しくなる場合があります(やたら長くて説明くさい名前になったりとか)。
0126デフォルトの名無しさん
2012/09/27(木) 23:13:28.20短くしようとすると他の動作をするものと誤解しやすくなるようであれば
長くて説明臭いものも受け入れないといけない
それはそれがぴったりという事
0127デフォルトの名無しさん
2012/09/27(木) 23:15:43.86やたら長くて説明くさい名前になって困った時に、
その処理や意味を丁寧に説明し、
現時点の自分の名前案を提示してアドバイスをもらうのが、
このスレの趣旨だと思うのだが。
> 処理Aが大まかに3つの処理によって成り立っていて
大まかにというのが、どうもぼやけた感じで引っかかるな。
明確に3つの処理に分けられるのなら、
それぞれの処理の役割や戻り値の意味を明確に説明できるはず。
であれば、後はセンスとボキャブラリの問題で、
自分で解決できなければここで質問すればいいだけだ。
もしかして、やたら長くて説明くさい名前になるのは、
分けた処理の境界がぼやけてはっきり説明できないからという可能性はないか?
(はっきり説明できないなら、長くても分割するなというのが俺の持論)
>>121
> 命名に何かコツはないのでしょうか?
書籍「リーダブルコード」に命名のコツや考え方がいくつか紹介されている。
0128デフォルトの名無しさん
2012/09/27(木) 23:22:46.41スパッと解決する理屈なんかないしな。
俺もその都度ここで質問しろって思うわ。
0129デフォルトの名無しさん
2012/09/27(木) 23:57:03.56意味のある名前が付けられないようなコード片なんていくらでもあるだろ
0130デフォルトの名無しさん
2012/09/28(金) 00:12:53.17WinAPIなどのライブラリを見ても長い名前のもたくさんあるし、長くなるのもあるのは仕方ないのかもしれません。
しかし、プライベート関数の名前が長くなるのはなんだかなぁと思ってしまいます。
>>127
処理の境界がぼやけているというより、処理の内容が限定的、局所的で、その場でしか通用しないような名前になりがちというか…
リーダブルコード、新しい本ですね。読んでみたいと思います。
>>128
一般的な解決方法なんてなくて、ケースバイケースで考えるしかないと言われれば、まぁそうなんですけど。
>>129
どうも細かいところに拘るところがあるのかもしれないです。
8割の出来でいいから早く進めた方がいいと思いつつもつい…
0131デフォルトの名無しさん
2012/09/28(金) 00:25:03.68namespace { namespace MyFuncLocal { // ry
void MyModule::MyFunc(...) {
using namespace MyFuncLocal;
Process1(...);
Process2(...);
Process3(...);
}
これで良いんだよクソッタレが
インターフェースだけ気にしたらあとはしょんべんしてもう寝ろ
0132デフォルトの名無しさん
2012/09/28(金) 00:27:52.13ちゃんとしたPGはどうでもいいところは適当に済ませる
徹頭徹尾はPGとしては絶対に持ってはいけない精神だからもっと適当に生きよう
0133デフォルトの名無しさん
2012/09/28(金) 01:00:32.59doなんちゃら
postなんちゃら
0134デフォルトの名無しさん
2012/09/28(金) 01:25:16.15結局抽象的なことしか言ってないから抽象的な答えしか返ってこない訳で。
もう既に同様のことを言ってる人が居るけど、もちろん意味付けのできる(つまり名前を与えられるような)
処理に分割することが第一選択なのは間違いないが、だからと言ってどんな場合でもそれが可能とも
言い切れないのも確か。
無理に命名に困るような関数に分割するより、関数内でコメントで大雑把に仕切った方が
ましということもあると思う。
0135デフォルトの名無しさん
2012/09/28(金) 08:13:38.320136デフォルトの名無しさん
2012/09/28(金) 12:52:36.04・納期を守る
・他人と意思疎通を図る
・識別子に適切な名前を付ける
これはプロのプログラマとして最低限持っていないといけない能力
0137デフォルトの名無しさん
2012/09/28(金) 16:56:52.56さらに付け加えれば、残業をせずに納期を守れることが好ましい
残業は仕事ができないものがすること
>・他人と意思疎通を図る
なぜか偉そうだったり、ケンカ口調で話すプログラマは非常に多い
>・識別子に適切な名前を付ける
そもそも文章力の足りない者が多い
理解しやすい命名をし、理解しやすいコメントを書けるように心がけるべき
0138デフォルトの名無しさん
2012/09/28(金) 19:24:51.49来年度から社会人なのにこんなんでやっていけるのか不安
0139デフォルトの名無しさん
2012/09/28(金) 19:43:17.000140デフォルトの名無しさん
2012/09/28(金) 20:03:02.57この発言聞いて、ここの影の所有者って馬鹿だと思った。
コミュニケーション能力なんて全ての社会人に求められる最小要件だと思うんだが...
0141デフォルトの名無しさん
2012/09/28(金) 20:14:40.020142デフォルトの名無しさん
2012/09/28(金) 20:48:01.410143デフォルトの名無しさん
2012/09/28(金) 20:52:44.010144デフォルトの名無しさん
2012/09/28(金) 21:41:36.140145デフォルトの名無しさん
2012/09/28(金) 21:56:59.000146デフォルトの名無しさん
2012/09/28(金) 22:03:55.80イベント関連の名前付けが長くなってダサい気がする
もっとシンプルで十分正しい意味を示せるのない?
0147デフォルトの名無しさん
2012/09/28(金) 22:16:51.81NotifyValueChanged() → ValueChanged()
AddHandlerOnValueChanged() → AddValueChangedHandler()(変更しなくてもいいや)
mValueChangedHandlers
イベントハンドラは "主語" + ("過去分詞" | "現在進行形")
複数形を使うのは識別子の最後の単語だけ
あ、俺の規則ね
0148デフォルトの名無しさん
2012/09/28(金) 22:22:52.41> シンプルで十分正しい意味を示せる
何が正しいのか、こちらには分からないのだが。
ソースの読み手に対して、関数名からどのような情報を伝える必要があるの?
それをはっきりさせないと、名前を考えることはできないよ。
例えば AddHandlerOnValueChanged メンバ関数の方。
最初にこの名前を付けた理由は何?
「値が変更された時に通知されるイベントのハンドラを加える関数であることを
関数名から分かるようにする」
という要望が(必要が)あるから、このような名前を付けたの?
0149デフォルトの名無しさん
2012/09/28(金) 22:27:30.420150デフォルトの名無しさん
2012/09/28(金) 22:31:40.61x = "現在進行形" → やる前 itemInserting
x = "過去分詞" → やった後 itemInserted, mouseClicked
x = "名詞" → やった後 mouseUp
x = "動詞" → やった後 mouseClick
0151デフォルトの名無しさん
2012/09/28(金) 22:32:59.39まず自分の手法を示せよ
>>137の二項目にあたる人種か?
0152デフォルトの名無しさん
2012/09/28(金) 22:36:44.40どのような情報を読み手に伝える必要があるのか
先ずはこれをはっきり決めなければ識別子の名前は考えられない。
0153デフォルトの名無しさん
2012/09/28(金) 22:37:46.17中学生みたいな反応で滑稽だよ
0154デフォルトの名無しさん
2012/09/28(金) 22:49:04.78>>148 および >>152 は無視してください。
0155デフォルトの名無しさん
2012/09/28(金) 22:50:24.70イベントハンドラにValueChangedを使いたいから、イベントを通知する側はNotifyValueChangedにしたんだな
俺は通知する側のメソッドをOnValueChangedにするだろうけど、これって合ってるのかな
0156デフォルトの名無しさん
2012/09/28(金) 23:09:59.13される側じゃなくて?
0157デフォルトの名無しさん
2012/09/28(金) 23:21:41.05イベントが抽象化されてないからだと思う。
たぶん一般的なやり方じゃないと思うけど、Androidをちょっとかじったときには
イベントリスナを集約&イベントを通知する機能をEvent<T>みたいなクラスに分けて、
そのイベントを持つクラスは、
Event<EventArgs> ValueChangedEvent(){return mValueChangedEvent;}
みたいにその値を公開するようにした。
こうすれば、リスナを登録するのは、
hoge.ValueChangedEvent().Add(valueChangedHandler);
みたいに多少は簡潔になる。
いや長さはあんまり短くなってないが(笑)多少は可読性が上がってる(当社比)と思う。
0158デフォルトの名無しさん
2012/09/28(金) 23:43:51.25Onを付けるのは通知される側なのかな。よく分からん
>>157
ほう・・・というか鬼なった
やっぱりメソッドチェインが最強かー
0159デフォルトの名無しさん
2012/09/29(土) 00:09:29.76可読性は落ちたが、役に立ちそうな話だった
0160デフォルトの名無しさん
2012/09/29(土) 00:12:56.12obj.OnValueChanged().Add(...);
下はなんか気持ち悪くて許せない俺の心は狭いのか
0161157
2012/09/29(土) 00:14:09.95イベントのオブジェクトを外部に公開するときには、当然適当なインターフェイスを
被せるべきだ。
外からイベント発火できるのは普通はマズいもんねw
0162デフォルトの名無しさん
2012/09/29(土) 00:17:14.91readonlyのメンバ変数が作れれば()無くせるけど、C++にもあるんだっけ?
0163デフォルトの名無しさん
2012/09/29(土) 00:39:20.50C++よーわからんのでごめん
0164デフォルトの名無しさん
2012/09/29(土) 00:51:26.40Event<EventArgs>をもっと別の名前にしたくなるのは俺だけだろうか
EventSenderとかEventMulticaster的な
そして非const参照を返す関数はAccess〜()とう俺ルールがあって
あぁ、Add()はハンドラーを追加する関数だからAddHandler()にして
結果
hoge.AccessValueChangedMulticaster()->AddHandler(valueChangedHandler); \なげえ/
0165デフォルトの名無しさん
2012/09/30(日) 14:55:17.87クラスの親クラスの名前で良いのありませんかね?
0166デフォルトの名無しさん
2012/09/30(日) 14:58:29.330167デフォルトの名無しさん
2012/09/30(日) 15:00:13.92ありがとうございます
0168デフォルトの名無しさん
2012/09/30(日) 16:28:41.120169デフォルトの名無しさん
2012/09/30(日) 16:32:08.50State
Position
Condition
Location
Form
Body
Face
0170デフォルトの名無しさん
2012/09/30(日) 16:36:41.810171デフォルトの名無しさん
2012/09/30(日) 17:05:31.91うまい名前を付けられないのは、そういう名前が付けられないようないい加減な設計を
しているからだってどうして気が付かないんだろう。
0172デフォルトの名無しさん
2012/09/30(日) 17:33:26.040173デフォルトの名無しさん
2012/09/30(日) 17:47:48.350174デフォルトの名無しさん
2012/09/30(日) 17:53:46.630175デフォルトの名無しさん
2012/09/30(日) 17:59:17.74じゃあ君は意味不明な機能のクラスの名前を要求する質問者にも「我慢して」
答えを与えるように。
偉そうに人に命令するんだから必ずやれよ。
というか、そもそも設計の話なんかしてない。
うまく名前が付けれらないのは付けられるような設計になってないからだと言っただけだ。
名前が付けられない理由の説明まで禁止する合理的な理由があるなら言ってみろ。
0176デフォルトの名無しさん
2012/09/30(日) 18:06:23.470177デフォルトの名無しさん
2012/09/30(日) 18:34:31.20意味不明な機能のクラスの名前を要求する質問には「応えない」ようにしている
0178デフォルトの名無しさん
2012/09/30(日) 23:32:46.891よめぼけ
0179デフォルトの名無しさん
2012/10/01(月) 00:50:28.43位置情報とか状態とかを格納するクラス
をHogeとしたばあい
位置情報とか状態とかを格納するクラスの親クラスの名前
はHogeBase
親クラスがインターフェイスであればIHoge
抽象クラスであればAHoge
0180デフォルトの名無しさん
2012/10/01(月) 08:00:16.900181デフォルトの名無しさん
2012/10/01(月) 11:09:10.12それはどこで教わったんだ?
0182デフォルトの名無しさん
2012/10/01(月) 11:53:08.55抽象クラスの一種がインターフェイスだぞ
作成できないクラスが抽象クラス
C++でいうところの純粋仮想関数しか持つことができないのがインターフェイス
ただ、インターフェイスに関しては言語によって解釈が違う
抽象クラスみたいな扱いの言語もある
0183デフォルトの名無しさん
2012/10/01(月) 13:54:10.860184デフォルトの名無しさん
2012/10/01(月) 14:28:56.87フィールドでいいじゃん?
0185デフォルトの名無しさん
2012/10/01(月) 14:32:08.41フィールドだと意味が広いかなと思って・・・
画像を並べて作られたアレって典型的だから、何か用語がないかなと思いました。
0186デフォルトの名無しさん
2012/10/01(月) 14:42:21.730187デフォルトの名無しさん
2012/10/01(月) 15:18:49.84うーん、やはり意味の広い名前しかないかなぁ。
fieldにします。どうもでした。
0188デフォルトの名無しさん
2012/10/01(月) 15:36:02.51なら、アウトフィールド、ウィルダネスフィールド、バトルフィールド みたいにすれば
意味を多少狭く出来るんじゃない?
0189デフォルトの名無しさん
2012/10/01(月) 23:48:10.210190デフォルトの名無しさん
2012/10/01(月) 23:52:05.65IXの名前はどうするとクール?
0191デフォルトの名無しさん
2012/10/02(火) 00:13:16.640192デフォルトの名無しさん
2012/10/02(火) 00:25:43.23それだとFireも含まれててほしいイメージになります
Addに限定したインターフェースなのでそれはちょっとしがうかなと・・・
0193デフォルトの名無しさん
2012/10/02(火) 00:30:30.39そんなこと無いのでは?
.NETのEventだって外部からはハンドラの登録しかできないよ。
0194デフォルトの名無しさん
2012/10/02(火) 01:23:57.200195デフォルトの名無しさん
2012/10/02(火) 02:12:35.80重いけど、このURL何
0196デフォルトの名無しさん
2012/10/02(火) 19:28:28.160197デフォルトの名無しさん
2012/10/02(火) 19:53:47.340198デフォルトの名無しさん
2012/10/05(金) 18:06:14.34・同じ種類のキャラクタならば共通で変化しないステータス
・固体ごとに変化するステータス
の名前は?
例として
struct ???Status {
std::string typeName;
int maxHP;
};
struct ???Status {
std::string name;
int currentHP;
};
0199デフォルトの名無しさん
2012/10/05(金) 19:02:02.26同じ種類のキャラクタならば共通で変化しないステータス
CommonStatus
StaticStatus
GlobalStatus
PublicStatus
固体ごとに変化するステータス
IndividualStatus
VariableStatus
LocalStatus
PersonalStatus
まぁ、どれもイマイチな気がするが、これくらいしか思い浮かばん
0200デフォルトの名無しさん
2012/10/05(金) 19:35:21.69種類の名前と個体の名前をそのままクラス名にします。
0201デフォルトの名無しさん
2012/10/05(金) 19:47:57.94固体ごとに変化するステータスというのは、
・固体ごとにステータスのパラメータの値が変化する
・固体ごとにステータスの(パラメータの)種類が異なる
どっち?
0202デフォルトの名無しさん
2012/10/05(金) 20:17:14.05特に理由がないならxxxStatusなんていう型を別途用意するのがそもそも間違い。
入れ子にせず、パラメータはキャラクターのクラスそのもののメンバーにする。
共通の値は静的メンバーで実装。
個体ごとの値はインスタンスメンバーで実装。
0203デフォルトの名無しさん
2012/10/05(金) 21:16:44.770204デフォルトの名無しさん
2012/10/06(土) 04:07:06.95単純に所有元を、キャラクタ種類・キャラクタ(個体)に分けて、
CharacterTypeStatus
CharacterStatus
ではどうか。
んでstructじゃなくclass化。
これによりSetterを持つか否かで変化するしないを表明する。
まあどうしてもクラス名で強く表明したければ、
CharacterTypeStatusにBaseとかの単語を混ぜるといいんでない?
どこに挿入すべきかは英語詳しくないから分からんw
0205デフォルトの名無しさん
2012/10/06(土) 04:21:14.44連語?って区切りを伝えるの難しくない?
例えば
CharacterType Status
キャラクタ種類 のステータス情報
Character TypeStatus
キャラクタ の種類ステータス
のどっちにも取れない?
こういう場合って結構読み手の一般的推測に基いて判断されてる気がする。
英語の解釈的にはどちらの意味が優先されるとかあるものなの?
アンダースコアで区切れば良いかもしれないけど、
Javaとかではそんな不恰好な命名はされてないし‥。
0206デフォルトの名無しさん
2012/10/06(土) 04:24:49.46内部クラスで区切りを表すという方法があったわ。
でも内部クラスを使うまでもない、名前だけでのうまい区切り方法があったら教えて欲しいな。
0207デフォルトの名無しさん
2012/10/06(土) 08:09:19.340208デフォルトの名無しさん
2012/10/06(土) 08:54:50.06CharacheRTypeStatuS -> character typestatus
CharacterTypEStatuS -> charactertype status
0209デフォルトの名無しさん
2012/10/06(土) 09:40:19.03その例だと AbilityStatus / CapacityStatus と CurrentStatus かなぁ。
そもそも、Status とはちょっと違う気がする…
>>205
普通に StatusForCharacterType とか TypeStatusOfCharacter とかでいいんじゃね。
0210デフォルトの名無しさん
2012/10/06(土) 11:53:36.69こいつとは仕事したくないな
0211デフォルトの名無しさん
2012/10/06(土) 11:54:44.55じゃあアンスコ以外にほかにいい方法でもあんの?
0212デフォルトの名無しさん
2012/10/06(土) 12:01:20.15コメントで余裕
0213デフォルトの名無しさん
2012/10/06(土) 14:46:04.14205とか208みたいな意味不明な方向違いの努力をする。
使ったらカッコ悪いとでも思ってるんだろうか。
中学生か。
0214デフォルトの名無しさん
2012/10/06(土) 14:49:39.44今回の件で使った例を挙げてくれ
0215デフォルトの名無しさん
2012/10/06(土) 14:51:33.430216デフォルトの名無しさん
2012/10/06(土) 15:28:04.25「ヒカルの碁」とか名前最悪にだっさいやろ
でも「ドラゴンボール」はかっこいいスマート
これが「ドラゴンのボール」とかなってたら1巻打ち切り確定
その辺の美的センスっていうのPGにも持ってもらいたいんだよね
0217デフォルトの名無しさん
2012/10/06(土) 15:43:27.592語以上繋いだ名前も十分ダサい
ドラゴンボールとか、あずまんが大王とか
1語でズバッという名前は最高
HOLiCとか、ちょびっツとか
その辺の美的センスっていうのPGにも持ってもらいたいもんだ
0218デフォルトの名無しさん
2012/10/06(土) 15:47:43.540219デフォルトの名無しさん
2012/10/06(土) 16:04:42.99世界は一つのピースとか言うと予想
0220デフォルトの名無しさん
2012/10/06(土) 16:05:18.35とかかっこいいとおもう
0221デフォルトの名無しさん
2012/10/06(土) 16:12:44.43Avengersのほうがかっこいいっしょ
0222デフォルトの名無しさん
2012/10/06(土) 16:16:09.64ワンピースは「ワン」「ピース」で2語だタコ
0223デフォルトの名無しさん
2012/10/06(土) 16:17:19.78は?
0224デフォルトの名無しさん
2012/10/06(土) 16:28:32.48そうなの
0225デフォルトの名無しさん
2012/10/06(土) 16:38:52.87「ワンピース」っていう固有名詞でないとなぜ言い切れる?
0226デフォルトの名無しさん
2012/10/06(土) 16:47:33.490227デフォルトの名無しさん
2012/10/06(土) 16:50:16.20http://www.j-onepiece.com/
ここの表記が「ONEPIECE」ではなく「ONE PIECE」になってるから2語
0228デフォルトの名無しさん
2012/10/06(土) 16:59:12.890229デフォルトの名無しさん
2012/10/06(土) 17:09:44.400230デフォルトの名無しさん
2012/10/06(土) 17:29:04.45だがソースコードに関してはXxxxYyyyZzzz→XxxxのYyyyのZzzzと確実に解釈される。ofは使われていない
更に装飾詞だっけ?XxxxYyyyFinallyやXxxxYyyy(that)Zzzzといった命名も嫌われる
0231デフォルトの名無しさん
2012/10/06(土) 17:33:10.08かっこいいなw志が
0232デフォルトの名無しさん
2012/10/06(土) 17:34:03.640233デフォルトの名無しさん
2012/10/06(土) 17:37:42.42自分でソースを読んでこればいいだろ
オープンソースなんて腐るほどある
0234デフォルトの名無しさん
2012/10/06(土) 17:46:28.65で、お前の主張どおりなのか?
0235デフォルトの名無しさん
2012/10/06(土) 17:51:41.75言ってる意味が分からん
俺は「自分でソースを読んでこればいいだろ」と言っただけだが
もしかして、「オープンソースなんて腐るほどある」
という主張が正しいかどうかを訊いてるのか?
それは俺の主観だから正しいもなにもないと思う
0236デフォルトの名無しさん
2012/10/06(土) 21:53:24.960237デフォルトの名無しさん
2012/10/06(土) 22:29:01.86冷たい奴だな
0238デフォルトの名無しさん
2012/10/07(日) 00:52:55.870239デフォルトの名無しさん
2012/10/07(日) 08:03:03.020240デフォルトの名無しさん
2012/10/07(日) 09:06:23.340241デフォルトの名無しさん
2012/10/07(日) 09:35:51.78普通のプログラマなら普通に読めるだろ。
ただ、使い方はひとつのプロジェクトで統一して欲しいな。
キャメルケースを主で使って、補助としてスネークケースを使うとか。
for を表すときにアンダーバーを使うとか。
0242デフォルトの名無しさん
2012/10/07(日) 09:49:57.410243デフォルトの名無しさん
2012/10/07(日) 09:51:00.06インターフェースとかだけきっちりしてれば中身はクラス単位とかファイル単位で統一してくれれば十分だよ
0244デフォルトの名無しさん
2012/10/07(日) 21:46:51.190245デフォルトの名無しさん
2012/10/07(日) 22:13:30.850246デフォルトの名無しさん
2012/10/07(日) 22:31:30.97どうして?
0247デフォルトの名無しさん
2012/10/07(日) 22:54:05.71知らない。無用に潔癖症なんじゃないの?
0248デフォルトの名無しさん
2012/10/07(日) 23:22:58.28キモ過ぎワロタ
0249205
2012/10/08(月) 01:50:40.07>>207
一語に出来る情報なんてそうそうないでしょw
>>208
きめえwwと思ったけどそれでもう一つ方法を思い出したよ。
強調したい連語単位で頭大文字化するやつ。例:CharactertypeStatus
有名オープンソースな何かで見た覚えがある。
まあでも可読性はアンダースコアのほうが良いよね‥。
>>209,213
確かに普通に接続詞を使うのも悪くない方法かと思うのだけど、
>>230
の書いてくれたように、ofとかあまり使わない印象があったんだよね。
そのきちんとした理由があれば使わないようにしてようと思ったけど、無いようなら使っちゃおうかな。
0250デフォルトの名無しさん
2012/10/08(月) 07:49:59.87> ofとかあまり使わない印象
識別子は短いに越したことないから、省略しても問題ないなら省略することが
多いだろうけど、>>205 みたいなケースだと使った方がわかりやすいと思う。
CharacterTypEStatuS なんて言うのは個人でやるならいいけど、他の人には
逆にわかりづらいと思う。
まだ、キャメルとスネーク混在の方が間違った解釈されないだけマシ。
0251デフォルトの名無しさん
2012/10/08(月) 09:28:55.88別の単語になっちゃう可能性もあるしな
0252デフォルトの名無しさん
2012/10/08(月) 14:13:15.880253デフォルトの名無しさん
2012/10/08(月) 16:28:33.58個人的には無いかなー。
ただ、アクセサ等の命名は、既存の変数名に即したものにするべきという考え方も理解は出来る。
0254デフォルトの名無しさん
2012/10/11(木) 19:09:32.65どんな名前にしようか悩んでる
0255デフォルトの名無しさん
2012/10/11(木) 21:16:05.770256デフォルトの名無しさん
2012/10/11(木) 21:26:23.440257デフォルトの名無しさん
2012/10/11(木) 21:56:02.950258デフォルトの名無しさん
2012/10/11(木) 21:56:24.72split
0259デフォルトの名無しさん
2012/10/11(木) 23:03:38.19そもそも機能の説明が曖昧すぎる。
まあ、
- 一次元配列を二次元配列に変換するというより、二次元配列をストリームとみなして
それを初期化するイメージ
- row、columnの数と縦横それぞれのスキャン方向はコンストラクタで指定(変更不可)
こんな感じだと仮定してMatrixBuilderとか
0260デフォルトの名無しさん
2012/10/11(木) 23:14:57.85> 「悩んでる」と言っているだけで誰も質問してない件。
それがどうした? としか言いようがない
0261デフォルトの名無しさん
2012/10/11(木) 23:22:39.81っていうか馬鹿だろお前。
0262デフォルトの名無しさん
2012/10/13(土) 09:43:01.46struct IHoge {
virtual void VMethod() = 0;
virtual void VMemFunc() = 0;
};
struct ? : IHoge {
void VMethod() { throw NotSupportedException(); }
void VMemFunc() { throw NotSupportedException(); }
};
struct SomeHoge : ? {
// ry
0263デフォルトの名無しさん
2012/10/13(土) 09:49:10.690264デフォルトの名無しさん
2012/10/13(土) 11:02:52.47IHogeNotSuppoerted
0265デフォルトの名無しさん
2012/10/13(土) 11:03:31.720266デフォルトの名無しさん
2012/10/13(土) 11:52:28.560267デフォルトの名無しさん
2012/10/13(土) 13:35:15.150268デフォルトの名無しさん
2012/10/13(土) 15:12:56.56敢えて書けば、Java風にAbstructHoge。
そして各メソッドコメントに「デフォルト実装では、NotSupported例外を送出します。」を入れる。
派生クラスは基本クラスとis関係である、と自然に捉えられるか、を考えればこうなると思う。
最初はUnimplementedHogeって答えようと思ったけど、こいつを実装のある派生クラスが継承しているのは何か微妙に感じるでしょう?
0269デフォルトの名無しさん
2012/10/15(月) 17:18:25.80実装するのだからインターフェイスではない。よって頭文字Iは却下
AbstractHoge(AHoge)やHogeBaseといった命名で茶を濁すのが一番
俺ならEmptyHogeかな
0270デフォルトの名無しさん
2012/10/15(月) 22:51:00.06たとえばポーション(体力回復薬)だったらゲーム仕様にあわせてそのまま「ポーション」で行くべきか
あるいは機能を明示的に示すように「体力回復薬」とするべきか
あ、もちろんコード上では英語です
0271デフォルトの名無しさん
2012/10/15(月) 23:03:59.05一般名として充分通じるならそのまま
体力回復以外のポーションもあるならポーションは使わない
0272デフォルトの名無しさん
2012/10/15(月) 23:07:54.800273デフォルトの名無しさん
2012/10/17(水) 18:40:05.50俺なら飲み物全般を「Drink」としてインターフェイス化する
0274デフォルトの名無しさん
2012/10/17(水) 21:52:26.040275デフォルトの名無しさん
2012/10/18(木) 00:59:26.070276デフォルトの名無しさん
2012/10/18(木) 02:20:21.580277デフォルトの名無しさん
2012/10/20(土) 18:43:03.420278デフォルトの名無しさん
2012/10/20(土) 18:52:06.99それもできない低能なら同情するが
0279デフォルトの名無しさん
2012/10/20(土) 19:00:26.620280デフォルトの名無しさん
2012/10/20(土) 19:15:07.34俺はお前と違って辞書の使い方を知ってるから、むちゃくちゃ詳しいぞ
教えてやる
[英辞郎 より]
合計する / cach up、count up、sum up、<<他動>> aggregate、count <<自他動詞>> summate
他の単語もあったが、まぁこの辺りから適当に選んでおけばいいだろ
0281デフォルトの名無しさん
2012/10/20(土) 20:06:21.11sum
0282デフォルトの名無しさん
2012/10/22(月) 16:01:16.020283デフォルトの名無しさん
2012/10/23(火) 18:02:36.02同様に-π以上π未満の同じ位相の値にする関数の名前は?
0284デフォルトの名無しさん
2012/10/23(火) 19:07:56.44引数に渡すフラグや列挙子、数値などで範囲を指定
0285デフォルトの名無しさん
2012/10/23(火) 22:05:37.15{
return prms != null && Array.IndexOf(prms, target) != -1;
}
何かいいメソッド名ある?
Inだと短すぎてやだ
0286デフォルトの名無しさん
2012/10/23(火) 22:13:02.02containts
has
0287デフォルトの名無しさん
2012/10/23(火) 22:21:08.43使い方は、hoge.メソッド名(a, b, c) だから
0288デフォルトの名無しさん
2012/10/23(火) 22:25:09.480289デフォルトの名無しさん
2012/10/23(火) 22:31:39.71Array.Contains()とかDictionary.Exists()みたいなのがあるから主語と述語が逆っつーか…
0290デフォルトの名無しさん
2012/10/23(火) 22:35:31.080291デフォルトの名無しさん
2012/10/23(火) 22:44:40.02IsContainedIn か ContainedIn にするわ
0292デフォルトの名無しさん
2012/10/23(火) 23:57:00.230293デフォルトの名無しさん
2012/10/24(水) 08:49:33.740294デフォルトの名無しさん
2012/10/25(木) 02:15:36.970295デフォルトの名無しさん
2012/10/31(水) 18:15:57.520296デフォルトの名無しさん
2012/10/31(水) 18:16:31.85でした
0297デフォルトの名無しさん
2012/10/31(水) 19:56:07.22Or
In
Contains
あたりはどうか
0298デフォルトの名無しさん
2012/10/31(水) 19:58:01.210299デフォルトの名無しさん
2012/10/31(水) 19:58:07.040300デフォルトの名無しさん
2012/10/31(水) 20:22:27.78だから、毎度毎度言ってるように処理の意味を書こうよ。
そのプログラムでは「テキスト1から3で一個は入れてくれ」ることがどういう意味を持つんだ?
「3つのうちいずれかが〜かどうかチェック」ってそんな具体的な処理内容から
普通は名前付けないって。
0301デフォルトの名無しさん
2012/10/31(水) 20:27:40.95すまぬ
検索条件にテキスト1から3ませあって
検索前にいずれか必須のチェックをしたい
その関数名です、こんな感じで大丈夫でしょうか
0302デフォルトの名無しさん
2012/10/31(水) 20:28:06.48validate
check
oneOrMore
0303デフォルトの名無しさん
2012/10/31(水) 20:31:58.120304デフォルトの名無しさん
2012/10/31(水) 20:36:51.62ありがとう!
validateCheckかrequiredOneOrMoreにさせて頂きます
0305デフォルトの名無しさん
2012/11/01(木) 10:07:35.14.validate()か.isValid()でいいだろ
0306デフォルトの名無しさん
2012/11/01(木) 10:12:38.82validate(年齢).check(x => x < 30)
みたいな感じ?
0307デフォルトの名無しさん
2012/11/01(木) 14:36:29.11自分なら……うーん。
validate:
正しい値かどうかを調べる。例えば、酒・タバコは20歳以上じゃないと購入できないなど。
正しい/正しくないという文脈が存在しないときには使わない。
正しくない場合は、それを呼び出し元に返したり、整合性フラグをfalseにしたりする。
基本的に値の修正はしない。したい場合はcorrect()などと組み合わせる。
check:
与えられたデータに対して、何らかのフラグを返したり、そのフラグをデータに書き込む。
確認済み、生成済みなど。
何らかの条件が付随する場合は、CheckFoo()やCheckIfBar()という名前にする。
0308デフォルトの名無しさん
2012/11/01(木) 19:34:42.10check the validity of 〜 = validate 〜
0309俺的イメージ
2012/11/03(土) 01:44:26.82check = 単に何らかの確認をする。正誤とは限らない
0310デフォルトの名無しさん
2012/11/03(土) 02:00:36.00意味的にどう結びついてるのかよくわからないんだが
0311デフォルトの名無しさん
2012/11/03(土) 06:10:15.27ブレーク判定専用句と化した先輩
check = 検査する
プログラミングにおいて使い道が乏しい句
if (obj.Check()) → objを検査しているようだが、どういう状況にあることを調査しているかわからない
if (obj.Validate()) → objのParamが有効な状態にあることを確認する
validate = ものが正しい状態にあることを確認する。またはものを有効化する。
obj.Validate() 有効であるかどうかを示す。(有効化するかどうかは不明)
obj.IsValid() 有効であるかどうかを示す。本当に調べるだけであればこちらを推奨する
verify = 過程(プログラミングでいえばソースコード)が正しいことを確認する。
assertと同様に、ブレーク判定に使われる歴史があるので、それ以外での使用は推奨できない
0312デフォルトの名無しさん
2012/11/03(土) 06:16:40.98obj.Assert〜()はありえる
obj がインタプリタ言語のコードを示す変数だったら、obj.Verify()はありえ・・・やっぱりisValid()でいいや
但し、CDの焼きこみが正しく行われたことを確認することはVerifyという。これは例外
0313デフォルトの名無しさん
2012/11/03(土) 07:29:45.45今の状態が正しいかがis valid
今の状態が正しいか調べることを要求するのがvalidate
is validとvalidateの使い分けはコーディングルールによる
メソッドはすべてオブジェクトに対する命令だよルール(obj.DoSomething() = "Obj, do something.": オブジェに何かしろと命令をする)ならvalidate
基本的には命令だけどブールを返すだけのメソッドは例外的に命題形式(obj.Equals(x) = "Obj equals x.": オブジェがxに等しいという命題の真偽を返す)ならis valid
0314デフォルトの名無しさん
2012/11/03(土) 12:16:28.70知ってる範囲では java.awt の validate は、コンポーネントの配置、親子関係を
正しく(valid)するという意味。副作用としてサイズ変更や再描画が発生する感じ。
0315デフォルトの名無しさん
2012/11/15(木) 20:37:24.210316デフォルトの名無しさん
2012/11/20(火) 20:40:46.79台車やトラックや荷車などを使って、荷物や人や岩などを運ぶゲームなんですが、
運ぶ手段となる性質を持つキャラの共通のインターフェースとして Carrier クラスを作りました。
質問は、運ばれる対象となるキャラの共通のインターフェースとして、
どのような名前のクラスがいいか、ということです。
例えば caller <--> callee のように carrier とちょうど対称になる単語があればいいのですが。
0317デフォルトの名無しさん
2012/11/20(火) 22:42:48.610318デフォルトの名無しさん
2012/11/20(火) 22:58:20.03>>317
loadってそういう意味なのか。
でもデータ読み込み以外の意味では使いにくそうだなw
0319デフォルトの名無しさん
2012/11/20(火) 23:06:54.68動詞だと搭載、積載すること。
0320デフォルトの名無しさん
2012/11/20(火) 23:17:10.780321デフォルトの名無しさん
2012/11/20(火) 23:21:00.600322デフォルトの名無しさん
2012/11/20(火) 23:22:55.840323デフォルトの名無しさん
2012/11/20(火) 23:24:11.510324デフォルトの名無しさん
2012/11/21(水) 00:33:02.940325デフォルトの名無しさん
2012/11/21(水) 07:31:24.730326デフォルトの名無しさん
2012/11/21(水) 08:34:05.330327デフォルトの名無しさん
2012/11/21(水) 19:30:54.16そもそも運ばれるものが持つインターフェースってのがよくわからないけれど
0328デフォルトの名無しさん
2012/11/21(水) 20:53:09.62っていうわけでweightとか。
でも、
>台車やトラックや荷車などを使って、荷物や人や岩などを運ぶゲーム
なら、そんなインターフェイスなんか要らんような気がする。
どうせほとんどの物体クラスがそのインターフェイスを実装することになる。
0329デフォルトの名無しさん
2012/11/21(水) 21:36:19.210330デフォルトの名無しさん
2012/11/22(木) 14:18:36.64このテンプレートクラスのテンプレート引数T?を変換する関数の名前と、そのスコープを決めたい
変換関数はこんな感じ
template <typename TargetType, typename SourceType>
void Cast?(const Vector3<SourceType> & input, Vector3<TargetType> * pOutput)
{
pOutput->x = (TargetType) input.x;
pOutput->y = (TargetType) input.y;
...
}
1. T? の名称
2. Cast? の名称
を教えてほしい
例1)T? -> ContentType、 Cast? -> Vector3CastContentType
例2)template <U> Vector<T?>::CastTo(Vector3<U> * pNewValue) を作成する
例3)template <U> Vector<T?>::CastFrom(const Vector3<U> & source) を作成する
0331デフォルトの名無しさん
2012/11/22(木) 19:19:21.720332デフォルトの名無しさん
2012/11/22(木) 21:01:10.02それらがネットワーク上の何かを指してるときに
タイムアウトするまで待たせるクラス
さらにそれがタイムアウトするまでユーザーに表示するウィンドウのクラス
お願いします
0333デフォルトの名無しさん
2012/11/23(金) 01:36:06.08「それ」じゃわかんねぇんだよなぁ・・・
0334デフォルトの名無しさん
2012/11/23(金) 01:37:21.100335デフォルトの名無しさん
2012/11/23(金) 09:01:54.93タイムアウトするまで待たせるクラス: Get
タイムアウトするまでユーザーに表示するウィンドウのクラス: Progress
0336316
2012/11/24(土) 18:38:26.00・load
・carriable
・carriee
・weight
ぱっと見て一番意味が分かりやすいのは carriable なので、
これでいく事にしました。
ありがとうございました。
0337デフォルトの名無しさん
2012/11/25(日) 19:17:41.04int 関数名( int value )
{
if( value > = 100 ) return 100;
if( value < 0 ) return 0;
return value;
}
0338デフォルトの名無しさん
2012/11/25(日) 20:33:10.130339デフォルトの名無しさん
2012/11/25(日) 20:42:27.58定期的に出るなこれ
clampが定番
0340デフォルトの名無しさん
2012/11/25(日) 20:43:10.360341デフォルトの名無しさん
2012/11/25(日) 21:09:15.06LimitedValue
0342デフォルトの名無しさん
2012/11/25(日) 22:49:53.290343デフォルトの名無しさん
2012/11/25(日) 22:52:19.41広まった原因はDirectXのシェーダ関数だろうけど
0345デフォルトの名無しさん
2012/11/26(月) 00:44:36.020346デフォルトの名無しさん
2012/11/28(水) 01:14:40.40int Object::SetKariValue(...) { this->kariValue = ...; }
void Object::Update()
{
...
this->name = this->kariName;
this->value = this->kariValue;
...
}
string Object::GetName(...) const { return this->name; }
int Object::GetValue(...) const { return this->value; }
SetKariName()とSetKariValue()はどんな名前をつけるべきですか?
RequestSetName()とかにして、kariNameはrequestedNameなんてどうかな
0347デフォルトの名無しさん
2012/11/28(水) 01:24:06.530348デフォルトの名無しさん
2012/11/28(水) 01:38:19.66これらのプロパティはこれ以外のタイミングで変更されることはない
Update()時に設定される新らしい値は
SetKariName()、SetKariValue、SetKariXxx()で事前に設定しておく
0349デフォルトの名無しさん
2012/11/28(水) 01:45:30.23SetTemporalName
SetNextName
0350デフォルトの名無しさん
2012/11/28(水) 09:43:09.27アクセサメソッドはそういう内部の事情を隠蔽するのにも使うから
SetName
SetValue
0351デフォルトの名無しさん
2012/11/28(水) 14:01:11.39Temporalは意味がちがう
Temporaryなら可
>>350
それは読む人を混乱させるよ
俺案
PrepareName
0352デフォルトの名無しさん
2012/11/28(水) 18:03:40.97SetXxx()とGetXxx()が対にならないのは実際ややこしいので、そのセッタ(?)かゲッタのどちらかの名前を修飾したい
元々のソースでは>>346のメソッドが次のように命名されている
SetKariName -> SetName
GetName -> GetPrevName
つまり、
obj.SetName(...);
obj.SetXxx(...);
obj.Update();
NameTextArea.SetText(obj.GetPrevName());
XxxTextArea.SetText(obj.GetPrevXxx());
ようなコードになり、更新後の値をGetPrev...()で取り出さなければいけない。おかしい
なので、例のGetName()をGetOldName()みたいに修飾するわけにはいかない
つまり、SetKariName()側を修飾するべきだと自分は思った
>>351
自分でRequestSetName()みたいな例を挙げていて何だけど、GetKariName()が欲しくなったばあい
PrepareNameの対となるゲッタの名前はどうするべきだろうか
SetKariName -> SetNewName(>>349)として、GetNewName()を用意するのが一番わかりやすいんじゃないかと思ったが、どうだろうか
0353デフォルトの名無しさん
2012/11/28(水) 18:10:01.76public:
string Object::GetName(...) const { return this->name; }
int Object::GetXxx(...) const { return this->xxx; }
void Object::Update()
{
...
this->name = this->newName;
this->xxx = this->newXxx;
...
}
void Object::SetNewName(string newValue) { this->newName = newValue; }
string Object::GetNewName() const { return this->newName; }
void Object::SetNewXxx(int newValue) { this->newXxx = newValue; }
int Object::GetNewXxx() const { return this->newXxx; }
private:
string name;
int xxx;
string newName;
int newXxx;
};
こんな感じでどうだろうか
0354デフォルトの名無しさん
2012/11/28(水) 18:10:44.37それとも1回だけ?
0355デフォルトの名無しさん
2012/11/28(水) 18:19:44.51kariNameはUpdateするまでに 0〜N 回変更される
変更されない可能性もあるし、数回変更される可能性もある
0356デフォルトの名無しさん
2012/11/28(水) 18:31:34.01でないと、属性ごとに、Newなんちゃら作ることになる。
0357デフォルトの名無しさん
2012/11/28(水) 18:36:05.96それも考えたが、どのみちGetObject()とSetKariObject()が必要になるので、話の内容はほぼ変わらない
0358デフォルトの名無しさん
2012/11/28(水) 18:38:59.110359デフォルトの名無しさん
2012/11/28(水) 18:58:45.65で、kariObjはフラグがあってSetXxxができるけど、
honmonoObjはUpdate(というかkariObjのコピー)しか受け付けないみたいな。
0360デフォルトの名無しさん
2012/11/28(水) 19:43:30.09"kari"を"pre"に変えればいいと思うよ。
0361デフォルトの名無しさん
2012/11/29(木) 10:26:46.73逆に「女性」「woman」「female」など、女性を表す言葉なら偽を返す関数の名前は何が良いでしょうか。
男性名詞/女性名詞を判別するというような大袈裟なものではなく、単純に正規表現でマッチさせるだけです。
性別を判断できない場合は、デフォルトの値を返します。
0362デフォルトの名無しさん
2012/11/29(木) 10:28:27.560363デフォルトの名無しさん
2012/11/29(木) 10:40:57.070364デフォルトの名無しさん
2012/11/29(木) 11:45:32.78ありがとう。それにしてみます。
>>363
コーディングの際にはそれも考えたんですけどね。
最終的に真偽値でしか使わず、判別できないときは一方に固定(あるいはランダム選択)する使い方しかしないので、
単に真偽値を返すだけの方が使いやすいかな、という判断。
0365デフォルトの名無しさん
2012/11/29(木) 12:10:39.600366デフォルトの名無しさん
2012/11/29(木) 17:44:35.51PreNameだと名前の前(についているもの)になってしまわないか?
0367デフォルトの名無しさん
2012/11/29(木) 18:17:59.240368デフォルトの名無しさん
2012/11/29(木) 18:45:08.61じゃあ PreviousName とか?
レスあんまり読んでないけど、OldName でいいんじゃね?
>>367
生えてくるんかよwww
0369デフォルトの名無しさん
2012/11/29(木) 19:07:30.42造語だから多少いろんな意味に取れるのは仕方がない。
(1) 意図する意味に取れて
(2) 一度その意味を理解すれば二度目に見たときはすんなり頭に入る
のなら何も問題はない。少なくとも他の案よりまし。
0370デフォルトの名無しさん
2012/11/29(木) 19:43:31.450371デフォルトの名無しさん
2012/11/29(木) 20:04:05.580372デフォルトの名無しさん
2012/11/29(木) 20:45:09.78>>368が即効で勘違いしたように、Pre〜は前とか事前の意味が強いのでNG
Previousの語源もPre〜だからなぁ
逆にNextは確かに解かりやすいかもしれない
選択肢が以下の2つであれば、どちらが良いかな
1)SetNextXxx(Yyy newValue)
2)SetNewXxx(Yyy newValue)
0373デフォルトの名無しさん
2012/11/29(木) 21:19:39.27センスない人とは意見が合わないね。
>>346が必用としているのは値を「事前に」入れておく入れ物の名前だから
英語のニュアンス的には接頭辞preが一番あっている。
preloadとかpreregistという用語を使う分野があるが、そのpreと同じニュアンスだ。
っていうかnextって何だよ。英語脳で考えずに日本語脳で考えるからそういう発想になる。
0374デフォルトの名無しさん
2012/11/29(木) 21:28:58.37× preregist
○ preregister
0375デフォルトの名無しさん
2012/11/29(木) 21:34:30.51さすがゴミの考えは一味違いますね
0376デフォルトの名無しさん
2012/11/29(木) 21:44:13.79そんなんでよく英語脳とか言ってるよな。
0377デフォルトの名無しさん
2012/11/29(木) 22:36:00.93脳が英語か日本語かというより、
そのプログラムコードを読むのは誰なのかの方が大事だと個人的には思う。
読む人が日本人なら、日本人の感覚を優先すべき。
外国の人も普通に読むのなら、国際的な感覚を優先すべき。
0378346
2012/11/29(木) 23:06:13.78>>372は俺だわ
その命名方法でいくと、
SetPreXxx(事前Xxxを設定しろ)
PresetXxx(Xxxを事前設定しろ)
のどちらが良いですか?
0379デフォルトの名無しさん
2012/11/29(木) 23:43:39.90純粋にメソッドの名前だけならPresetXxxの方が分かりやすい気がするけど、
それだとその値を保持するメンバ変数の命名でまた悩むことになるね。
というか、命名と関係ない話になるし既に誰か書いてた気がするけど、
本当はUpdateで適用する値だけを別のクラスか構造体にまとめて置いたほうが
分かりやすいような気がしないでもない。
0380デフォルトの名無しさん
2012/11/30(金) 00:12:05.540381デフォルトの名無しさん
2012/11/30(金) 01:02:24.230382デフォルトの名無しさん
2012/11/30(金) 02:27:40.850383デフォルトの名無しさん
2012/11/30(金) 03:01:30.970384デフォルトの名無しさん
2012/11/30(金) 03:03:08.790385346
2012/11/30(金) 06:44:03.41レスさんくす
SetPreXxx(newValue) { this->preXxx = newValue; }
PresetXxx(newValue) { this->preXxx = newValue; }
どちらの場合でもpreXxxで良いんじゃないかと思った・・・が、ゲッタを作成するばあい
GetPresetXxx() { return this->preXxx; } になるのか・・・
自分的には名前を対照にしたいし、SetPreXxx()にしてみようかな
適応するプロパティなりをまとめるかどうかは検討中
0386346
2012/11/30(金) 06:46:25.94class Relation { // Body同士の関係を表すクラス
public:
void Update()
{
size_t b1(this->spCache.HasContact() ? 1 : 0);
size_t b2(this->spPreCache.HasContact() ? 1 : 0);
this->state = StateTable[b1][b2];
this->spCache = this->spPreCache;
...
}
void SetPreContactCache(spNewValue) { this->spPreCache = spNewValue; }
sp<ContactCache> SetPreContactCache(spNewValue) { return this->spPreCache; }
private:
const BodyPair bodies;
sp<ContactCache> spPreCache;
sp<ContactCache> spCache;
ContactState state;
};
map<BodyPairUniqueId, Relation> relations;
relations.insert(BodyPair.GetUniqueId(), Relation(BodyPair));
0387デフォルトの名無しさん
2012/12/01(土) 20:53:50.37実験の種類別にサブフォルダにコピーして
決まった命名規則に従いリネームする
というプログラムの名前はなにがいいですか?
0388デフォルトの名無しさん
2012/12/01(土) 21:01:34.45Makefile
0389デフォルトの名無しさん
2012/12/01(土) 21:28:57.86Log Filer
DAQ Log Filer
Lab Aid
0390デフォルトの名無しさん
2012/12/01(土) 21:44:51.76[分類する人]
classer
sorter
[分類器]
classifier
0391デフォルトの名無しさん
2012/12/01(土) 23:40:40.18足りない関数などを定義したソースファイルをまとめて入れるためのフォルダ名は何がいい?
0392デフォルトの名無しさん
2012/12/01(土) 23:44:01.90mysrc
0393デフォルトの名無しさん
2012/12/02(日) 00:10:59.44どっかで missing/ ってのを見た。
0394デフォルトの名無しさん
2012/12/02(日) 00:37:55.37別に普通に日本語でいいじゃん
0395デフォルトの名無しさん
2012/12/02(日) 01:38:21.140396デフォルトの名無しさん
2012/12/02(日) 02:58:54.02stub とか stubs とか
0397デフォルトの名無しさん
2012/12/02(日) 08:30:28.41marshal
ヘッダーかと思ったらフォルダかよ・・・
0398デフォルトの名無しさん
2012/12/02(日) 11:08:58.62キャラの当たり判定後の処理をする関数名が思いつきません。
キャラ同士や、キャラと背景とが当たったかどうかを判定する処理と、
判定後に、キャラにダメージを与えて表示を点滅させたり、
互いに弾かれて反対側へ飛ぶように速度ベクトルを変えたり、
背景にめり込まないように位置を調整したりする処理とを分けたいと思います。
当たり判定そのものは HitTester クラスが受け持ちます。
判定後の様々な処理は GameRule クラスが受け持ちます。
(GameRule クラスはその他の処理もいくつか受け持ちますが)
キャラが動いたら、そのキャラを HitTester::register 関数で登録し、
全ての移動キャラが登録されたら、HitTester::test 関数で判定します。
その後 GameRule::??? 関数で当たっているキャラに対して処理します。
この???関数の中ではHitTesterから当たっているキャラのリストを得て、
どのキャラ同士か、キャラと背景なのかによって処理をサブ関数に振り分けます。
その後、キャラが動くので再び HitTester で当たり判定をし、
GameRule::??? 関数で判定後の処理をし、当たらなくなるまで繰り返します。
この GameRule::??? 関数の名前は何がいいでしょうか。
私は postHitTest が思いついたのですが、この意味の post は動詞ではありません。
関数名はできるだけ動詞で始めたいのですが、なかなか思いつきません。
0399デフォルトの名無しさん
2012/12/02(日) 11:13:58.41GameRule::Do( )
0400デフォルトの名無しさん
2012/12/02(日) 11:46:17.53removeCollisions
0401デフォルトの名無しさん
2012/12/02(日) 12:02:53.440402デフォルトの名無しさん
2012/12/02(日) 14:41:17.15dispatchToHitHandler
0403デフォルトの名無しさん
2012/12/02(日) 14:43:12.010404デフォルトの名無しさん
2012/12/02(日) 14:45:35.98やることが決まってるなら>>400のように目的をはっきり名前にしたほうがいい
0405デフォルトの名無しさん
2012/12/02(日) 14:54:32.38自分で実装しようと思うとなかなか難しそうだな
0406デフォルトの名無しさん
2012/12/02(日) 15:03:26.86みなさん、ありがとうございます。
>>404 にはとても説得力を感じました。
やることは「めり込みの解消」や「ダメージ処理」など複数あって、
GameRule::??? はそれを振り分けるだたのエントリーポイントになるので、
>>401 >>402 のような感じの名前が良さそうですね。
参考にしてもう少し考えてみます。
それと・・・
キャラが動いたら、そのキャラを HitTester::register 関数で登録し、と言いましたが、
VC++ では識別子に register という名前が使えないことを今知りました。
(言い忘れていましたが、使用言語は C++ です)
こちらの代わりの名前も、もう少し自分で考えてみます。
0407デフォルトの名無しさん
2012/12/02(日) 15:52:27.08今までHaskellに合わせて関数名も変数名もCamel形式でやっていましたが、
ポリシーを変えようかな・・・
0408デフォルトの名無しさん
2012/12/02(日) 17:53:24.170409デフォルトの名無しさん
2012/12/02(日) 18:51:55.59すいません、ODEでregisterを引いてみると、
どうもデータを「記録する」という意味合いが強いみたいです。
それも、どちらかと言えば大事な(公式な、公的な)データを。
また、今回の(毎フレーム当たり判定するキャラを設定する)様に
ころころと内容が変わるものにはあまり使わず、
もっと長い時間記録しておくものに対して使う感じですね。
なので、enterあるいはsetを使うことにしました。
0410デフォルトの名無しさん
2012/12/02(日) 20:25:11.31Cのころからregisterは予約語よ。
賢いコンパイラにいろいろ任せて構わない環境では意識して使うことはあまりないけど。
0411デフォルトの名無しさん
2012/12/10(月) 04:57:33.870412デフォルトの名無しさん
2012/12/10(月) 07:55:46.61MAX_FOO や DEFAULT_BAR にする?
それとも FOO_MAX や BAR_DEFAULT にする?
あるいはそれ以外?
0413デフォルトの名無しさん
2012/12/10(月) 08:25:18.480414デフォルトの名無しさん
2012/12/10(月) 09:21:08.89過去に戻るのがrevert
過去を今に引っ張ってくるのがrestore
0415デフォルトの名無しさん
2012/12/10(月) 09:24:45.37俺はオブジェクト指向のとき、Integerというオブジェクトがあったとすると最大値、最小値、デフォルト値を
Integer.MAX, Integer.MIN, Integer.DEFAULT って定義するので後者。
インテリセンスで補完することを考えても、
ネームスペースをそろえる的な意味で、接頭辞は関連あるグループでまとめたい。
0416デフォルトの名無しさん
2012/12/10(月) 18:24:26.18迷ったけど、オブジェクト指向を意識して、階層分けをしてみることにする。
0417デフォルトの名無しさん
2012/12/17(月) 19:57:33.38X の各要素 x について、Y の要素と同値かどうかを調べるとする。
このリスト X の事を base list、Y の事を target list と呼ぶのはおかしいか?
0418デフォルトの名無しさん
2012/12/17(月) 20:00:50.30文脈がわかればもっと適切な名前が出てくるかもしれないけど、
別にbaseとtargetでも問題ないよ。
0419デフォルトの名無しさん
2012/12/17(月) 20:29:47.170420デフォルトの名無しさん
2012/12/17(月) 20:30:59.830421デフォルトの名無しさん
2012/12/17(月) 21:41:01.17>>417 の処理をする関数の仮引数の名前、および、
その関数を使用する側の実引数として使う変数の名前をどうしようかと。
関数自体は2引数で、一方がリストX、もう一方がリストY。
(リストの要素の型が文字列かどうかは、実はどうでもよかったりする)
その関数を使う側でも、関数の中でも、どの引数がどういう意味なのか、
プログラムを見て直ぐにはっきりと分かるようにしておきたい。
プログラム言語は Haskell なので、式はシンプルにできると思い、
仮引数は特に意味のない xs と ys を使ってプログラムしてみたが、
意外にぱっと見どちらが各要素調べるリストで、
どちらがその要素と同値か調べるリストなのか分かりづらかった。
(たぶん、数ヶ月後にはもっと分かりづらくなっているだろう)
実は base と target にしても、どちらの意味で base を使っていて、
どちらの意味で target を使っているのか曖昧で、
分かりやすさという点では xs や ys とたいして変わらないような気がするのだが、
どうだろう?
0422デフォルトの名無しさん
2012/12/17(月) 22:04:59.02個々に調べるだけだから違ったか。
0423デフォルトの名無しさん
2012/12/17(月) 22:19:41.81X: query, keywords, entry
Y: dictionary, base
もしXが入力されたコマンドのリストで、Yが受付可能なコマンドのリストとかいうのなら
XをcommandsにしてYをavailableにするとか
0424デフォルトの名無しさん
2012/12/17(月) 22:59:28.06すまん、>>421 でも括弧内に書いたが、今回は汎用型関数なんだ。
(>>417 で文字列と言ったのは、初めはそのつもりでプログラムしてたから)
同値かどうか判定できる型なら何でもいいから、
仮引数としては具体的な名前は使いにくい。
ただ、keywords や commands などは実引数の方で大いに使わせてもらいたい。
また、やはりと言うべきか、Y の方を base と考える人もいる事が分かり、
これもあまり良くないと分かった。
entry と dictionary(dic)の対は結構良いかもしれない。
X の方は、辞書や図鑑などで調べようとしている単語や事物を抽象的には何という?
という問題と本質的には同じっぽい(具体的には word や dinosaur などだけど)。
0425デフォルトの名無しさん
2012/12/17(月) 23:18:26.19探索アルゴリズムの解説なんかで、探すものがneedle、
探される集合がhaystackという文化もあるけど。
0426デフォルトの名無しさん
2012/12/18(火) 00:27:43.822つの引数は入れ替えても関数が返す値は常に同じ(数学でいう交換法則が成立する)
のように思えるから、むしろ意味がある名前を付けることこそ変に感じるけど。
x, yでいいじゃん。
0427デフォルトの名無しさん
2012/12/18(火) 12:55:54.96では同値判定の時はそれで問題ないとして、大小比較判定の場合は?
あるいはもっと一般的に2引数をとって真偽値を返す関数による比較の場合は?
そう考えると、2つの引数は入れ替えても関数が返す値は常に同じというのは、
今回の問題の本質では無いような気がするのだが・・・
本質は >>424 でも少し言ったが、
辞書や図鑑などで調べようとしている単語や事物の方Xと、
辞書や図鑑などの方Yの名前が分かれば綺麗に解決すると私は思う。
0428デフォルトの名無しさん
2012/12/18(火) 21:24:32.292つのパラメータを区別することに意味があるし区別しなきゃダメだけど、
乗算のように交換法則が成立する演算の場合は被乗数、乗数なんて区別しても
あんまり意味はない、そういうこと。
>大小比較判定の場合は
src、dstがシンプルでいいと思うけどアセンブラ経験者じゃないと違和感あるかな。
reference、evaluatedとか
0429346
2012/12/19(水) 14:30:03.95俺なら>>426と同じ理由でlistA、listBと名づける
大小比較であれば、leftList、rightListだな
0430デフォルトの名無しさん
2012/12/19(水) 14:35:11.26lhv/rhv(left/right hand value)ってのも
0431デフォルトの名無しさん
2012/12/19(水) 23:59:01.61>では同値判定の時はそれで問題ないとして、大小比較判定の場合は?
これ関してはa/b、x/y等が広く使われてる
>あるいはもっと一般的に2引数をとって真偽値を返す関数による比較の場合は?
特化するならともかく一般化するならなおさらa/b、x/y等しか使えない
0432デフォルトの名無しさん
2012/12/20(木) 23:32:45.10> 特化するならともかく一般化するならなおさらa/b、x/y等しか使えない
イメージとしては、リストXから一枚カードを抜き、
「そのカードを使ってyと何かをする」という関数を
リストYの全てのカードに順に施す。
という処理をリストXの全てのカードに対して行う。
と言うことなのでXとYは非対称、というのが私の個人的な感覚。
なので、できれば非対称である事をイメージできる名前が欲しかった。
でも、一般化するなら非対称も何もないから x や y で良いだろという言い分も分かる。
感覚の違いで、議論は平行線のままだと思うので、ひとまずこれで終わることにする。
いろんな意見ありがとう、参考にさせてもらう。
0433デフォルトの名無しさん
2012/12/21(金) 00:22:06.22X=山札?
Y=手札?
0434デフォルトの名無しさん
2012/12/21(金) 00:41:04.65>>430
今時はlhv/rhvは使わない。流行っていない。オープンソースでも見たことがない
交換法則が存在するのであれば、引数はleft/right
しないのであれば、a/b
交換法則が存在するというか、算術演算ではなくて順番に価値があるならば、first/second/third/...
>>432
void func(List xxx, List yyy) {
foreach (ListElement a : xxx) {
foreach (ListElement b : yyy) {
process(a, &b);
}
}
}
最初からこう(↑)説明するべきだったんじゃないかな。俺なら、
xxxはfactors,factorList
yyyはtargets,targetList
0435デフォルトの名無しさん
2012/12/25(火) 16:59:57.68ClassB
ClassC
と三つのクラスがあり、
渡されたインスタンスの型が A ならそのまま返し、
その他なら A に変換して返す、という関数の名前に迷ってます。
後者の場合は B.toA(), C.toA() のようなメンバ関数を実行して返すといった具合です。
Number(string) みたいなキャストと同じような動作を意識しています。
いいアイデアあったら教えて下さい。
0436デフォルトの名無しさん
2012/12/25(火) 17:30:46.79ToA()
0437デフォルトの名無しさん
2012/12/25(火) 20:36:32.380438デフォルトの名無しさん
2012/12/25(火) 20:45:02.25asA
0439デフォルトの名無しさん
2012/12/25(火) 22:12:26.03これ
0440デフォルトの名無しさん
2012/12/25(火) 22:22:06.66基本的に変換であれば、変換が必要だから変換していることが明示的に分かるように書くべきだし
(変換してるかもしれないししてないかもしれない、なんて気持ち悪い)
逆にある型をAとして扱いたいのなら普通に多態を使うべきじゃないかと思うんだけど。
0441デフォルトの名無しさん
2012/12/25(火) 23:41:42.270442デフォルトの名無しさん
2012/12/26(水) 00:41:31.77馬鹿がそうやって建前を利用して他人をコントロールしたがるのは、
無能ゆえに自分の実生活を自分でハンドリングしている感覚がないからだ。
まあ言ってもわかんないだろうけど。
本気で哀れだ。
0443デフォルトの名無しさん
2012/12/26(水) 02:12:39.96AにもToAし得るのは.StringにもToStringがあるようなもんだと思って目をつぶる
0444デフォルトの名無しさん
2012/12/26(水) 02:33:16.910445デフォルトの名無しさん
2012/12/27(木) 01:03:52.26というのは嘘で、俺は型変換はすべて ConvA() みたいにしてる。
ネイティブのToStringなどと混同しないように。
何でもいいから自分の中で統一しておいたほうが楽だよ。
0446デフォルトの名無しさん
2012/12/28(金) 01:13:30.71Higher LowerToHigher(Lower value);
void LowerToHigher(Lower input, Higher * pOutput);
void Higher::FromLower(Lower value);
static Higher Higher::FromLower(Lower value);
static void Higher::FromLower(Lower input, Higher * pOutput);
上位の型(Higher)から下位の型(Lower)への変換関数は
Lower HigherToLower(Higher value)
void HigherToLower(Higher input, Lower * pOutput)
Lower Higher::ToLower()
void Higher::ToLower(Lower * pValue)
同位の型(AaaとBbb)同士の変換関数は
Bbb AaaToBbb(Aaa value)
void AaaToBbb(Aaa input, Bbb * pOutput)
Aaa BbbToAaa(Bbb value)
void BbbToAaa(Bbb input, Aaa * pOutput);
ある型(Aaaとする)をメンバに持つクラスは、Aaaより上位である
つまり、組み込み型は最下位である
但し、文字列型(String)とある型(Aaa)との変換関数は
String Aaa::ToString()
void Aaa::ToString(String * pValue)
void Aaa::Parse(String value)
static Aaa Aaa::Parse(String value)
static void Aaa::Parse(String input, Aaa * pOutput);
とする
0447デフォルトの名無しさん
2012/12/28(金) 01:21:29.69>>435?知らんな。「ToA」でいいんじゃね
0448デフォルトの名無しさん
2012/12/29(土) 18:15:56.842つのデータを関数に渡して、第一引数に第二引数の値をコピーする処理をしたいんだ
コピー元とコピー先って意味でいい言葉はないかな?
0449デフォルトの名無しさん
2012/12/29(土) 18:21:15.10'source, destination)
0450デフォルトの名無しさん
2012/12/29(土) 22:22:36.04srcの逆ならどう考えてもdstの方が自然だと思うんだけど向こうの人の頭はどうなってるのか知りたい
0451デフォルトの名無しさん
2012/12/29(土) 22:25:59.180452デフォルトの名無しさん
2012/12/29(土) 23:06:26.190453デフォルトの名無しさん
2012/12/29(土) 23:07:58.640454デフォルトの名無しさん
2012/12/29(土) 23:23:56.81参照してるソースが偏ってない?
英語ネイティブかどうか知らないけどジンガイの書いたコードやドキュメントでも
dstの方が多いように感じるが。
0455デフォルトの名無しさん
2012/12/29(土) 23:35:48.33WinAPIもだね
0456デフォルトの名無しさん
2012/12/29(土) 23:48:48.29カラム合わせで思ったけど、アセンブラとかBASICとかFORTRANにPascal、それにCとかは等幅フォント。
C++やJavaになってくるとプロポーショナルのフォントの方が書いていて楽な感じがしてきた。
0457デフォルトの名無しさん
2012/12/30(日) 00:03:19.82確かにPフォントでも困らない。
とはいえ、コメントにAA使ったり参照テーブル的な配列を初期化する場合は
Pフォントだと困るケースがあるから、やはり等幅フォントの方が無難だと思う。
0458デフォルトの名無しさん
2012/12/30(日) 00:18:13.83> とはいえ、コメントにAA使ったり参照テーブル的な配列を初期化する場合は
他にも enum を書く時にイコールの位置を揃えた方が見やすい場合もある。
あと、俺はこの手のも揃えたいな。
if (aaa > 3 && aaa < 5 ||
bbb > 7 && bbb < 11)
0459デフォルトの名無しさん
2012/12/30(日) 01:03:15.21クラス名や変数名も文字としてではなく図形として意識して命名すれば、見やすくなる。
0460デフォルトの名無しさん
2012/12/30(日) 12:12:05.17前半は分かるが、後半がよく分からん。
図形として意識せず命名してしまった変数名やクラス名と、
ちゃんと図形として意識して命名した変数名やクラス名の例をいくつか挙げてみてくれ。
0461デフォルトの名無しさん
2012/12/30(日) 12:58:21.92名前が複数あると視認性が悪くなるというのは結構ありがちなことかも。
もっともそういうケースではほとんどの場合有効な解決法が他になかったりするけど。
0462デフォルトの名無しさん
2012/12/30(日) 14:55:27.52こういう時はどんな変数名にしたらいいかが載ってる書籍とかサイト知らないですか?
1つ1つここで聞くのも無粋かと思うので・・・
0463デフォルトの名無しさん
2012/12/30(日) 15:05:04.66俺が出版しようか
0464デフォルトの名無しさん
2012/12/30(日) 15:15:45.24ここの過去ログを漁ってまとめればいいと思うが
0465デフォルトの名無しさん
2012/12/30(日) 20:17:04.64とりあえず、適当な単語と
進行形(〜ing)・完了形(〜ed)・可否(can〜/is〜)をある程度、意識するようにしてる。
0466デフォルトの名無しさん
2012/12/31(月) 16:53:48.31struct Foo {int a; int b; int c;};
enum XXXXX {
FOO_A = 0x0001, FOO_B = 0x0002, FOO_C = 0x0004,
};
Foo構造体のどのメンバが有効かどうかを示す列挙型を作りたい。
複数のメンバが同時に有効になる場合があるから、ビットの論理和で表現する。
XXXXXに何て名前つけるべき?
0467デフォルトの名無しさん
2012/12/31(月) 17:30:56.90a = 0x0001, b = 0x0002, c = 0x0004,
};
でも無効なメンバーの値は0x80000000(どうせこんな値普通は使わない)にする約束にすれば
こんなフラグは要らない。
0468デフォルトの名無しさん
2012/12/31(月) 17:31:57.18AvailableMask
0469デフォルトの名無しさん
2012/12/31(月) 19:09:34.740470デフォルトの名無しさん
2012/12/31(月) 19:42:03.44こういうものの場合 Windows API だと position が多いような感じがする(SetWindowPos とか)。
でも、.NET Framework だと両方出てくるみたいで紛らわしい(Cursor.Position、TextBox.Location、
言葉の意味の違いはなく共に座標位置を表す数として扱われているようだ)。
言葉の意味を調べると意味にブレのない Location を使う方が正しいように思う。
しかし、こんなこと考えつつも、実際のプログラミングでは pos と表記したくなるジレンマ。
0471デフォルトの名無しさん
2012/12/31(月) 19:47:55.22描画などの点…position
で使い分けるのが自然に思う
0473デフォルトの名無しさん
2012/12/31(月) 22:49:20.71よくわからない
0474デフォルトの名無しさん
2012/12/31(月) 23:13:46.98ゲーム世界での位置を表すものはlocation
たとえばキャラが升目に載るタイプのゲームならlocationは升目単位
そうでないのはposition
個人的にはこうやって区別して使ってる
0475デフォルトの名無しさん
2012/12/31(月) 23:23:28.42Cursor.Position、TextBox.Locationについてはどう解釈すればいい?
0476デフォルトの名無しさん
2012/12/31(月) 23:36:49.91常に動くものや引数で指定するもののように定まってないのはpositionで
定まってるされてるものはlocationという使い分けなんじゃない?
WinFormsだとコントロールの位置はlocationで動的なマウスカーソルの位置はpositionだけど
マウスイベントが発生した時に発生時のカーソル座標を取得するプロパティはlocation
0477デフォルトの名無しさん
2012/12/31(月) 23:40:51.510478デフォルトの名無しさん
2012/12/31(月) 23:44:06.86ゲームなら>>474の区別が便利なんじゃないの。逆でもどっちでもいいと思うけど。
0479デフォルトの名無しさん
2013/01/01(火) 00:20:22.34location:広がりがある物として扱われているものの位置、広がりが意識されている。
こういう傾向があるように思うけど、いつもこれで区別されるわけではないとも思う。
ウインドウは広がりがあるものだけどSetWindowPosは左上の点で設定するのが
前提にあるからこのルールに矛盾しないものと解釈する事もできる。
だけどいずれにしてもXYで表されたりと結局どっちでもいいようなものは
開発者の視点の違いでしかないような気もする。
0480デフォルトの名無しさん
2013/01/01(火) 01:21:50.23むしろ両者の違いは、positionは次元を問わない(1,2,3次元のどれにでも使える)のに対して、
locationは2次元(あるいは立体物の表面上)の位置というニュアンスが強い気はする。
2次元に限定すれば両者の意味はほぼ同じじゃないのかね。
0481デフォルトの名無しさん
2013/01/01(火) 02:25:10.720482デフォルトの名無しさん
2013/01/01(火) 02:39:26.140483デフォルトの名無しさん
2013/01/01(火) 03:36:45.91使用されるけど、locationは一般には使われないと思う。
>>481は違うというが、普通は3次元上の位置のことをlocationとはあまり言わないと思うね。
0484デフォルトの名無しさん
2013/01/01(火) 08:10:56.72Positionを使うべき明確な理由が見つかったらPositionに置換しようかと
0485デフォルトの名無しさん
2013/01/01(火) 10:53:36.41locationは特定の位置に物体が束縛されている
positionは物体の観測結果としての位置
みたいなニュアンスなんだろうか
0486デフォルトの名無しさん
2013/01/01(火) 11:28:43.39location : 場所
position : 位置
場所はある広がりを持った空間を指す。
位置はある点を指す。抽象度がより高いから立場とか順位いう意味にも使える。
例えば日本国内で映画の撮影に使う場所(空間)は location。
その場所でカメラをセッティングする位置(点)は position。
>>470 の目的だと、俺なら position を使う。
0487デフォルトの名無しさん
2013/01/01(火) 12:29:08.80positionは、細かいもの。
0488デフォルトの名無しさん
2013/01/01(火) 14:19:36.61http://forum.wordreference.com/showthread.php?t=2125938
0489デフォルトの名無しさん
2013/01/01(火) 15:03:23.95locationには平面状の位置というニュアンスがあるんだと何度も言ってるのに
懲りねえなまったく...
0490デフォルトの名無しさん
2013/01/01(火) 15:35:14.022次元には限定されないよ
0491デフォルトの名無しさん
2013/01/01(火) 15:44:42.11権威あるオックスフォード新英英辞典にも、
position と location についてそのような微妙なニュアンスや、
ましてや明確な違いなど説明されていませんよ。
互いが互いの言葉を使って循環的に説明されています。
平面も広がりも、点だろうが何次元だろうが関係ないです。
好きな方を使ってください。
プログラムソースの中ではどちらかに統一しましょう。
0492デフォルトの名無しさん
2013/01/01(火) 16:26:34.40たとえばLongmanのpositionの項にこうある
5 direction[countable] the direction in which an object is pointing
この用例を見れば分かると思うけど、これがpositionが次元を問わずに使える理由だと思う。
一方でlocationの項を見ると、"Choce:"とある囲い記事の中に
Location is used mainly in formal or business English to talk about where a building is
locationに平面上の位置というニュアンスが強いのはこのため。
0493デフォルトの名無しさん
2013/01/01(火) 16:56:34.950494デフォルトの名無しさん
2013/01/01(火) 17:45:33.06最も気に入った案を信じてこの件は終わりだろ
明確な答えなんか出るわけないんだから
0495デフォルトの名無しさん
2013/01/01(火) 22:08:05.190496デフォルトの名無しさん
2013/01/01(火) 22:45:41.070497デフォルトの名無しさん
2013/01/01(火) 23:00:04.740498デフォルトの名無しさん
2013/01/01(火) 23:02:41.98プロジェクト独自のルールを全く前提とせずに誰が読んでもすぐわかるコードなんて幻想
0499デフォルトの名無しさん
2013/01/01(火) 23:16:06.39一般的です。
0500デフォルトの名無しさん
2013/01/01(火) 23:22:58.96Positionはあるモノの位置を表し、そのモノ重視で考え、その位置は複数のモノが存在する
単純にそのモノの位置を表すのに使う
例:ウインドウの位置
Locationはあるモノの位置を表し、その位置重視で考え、その位置は唯一のモノしか存在しない
Locationには探しだしてきた、見つけた位置ってニュアンスも含まれるから
それがその位置に設置できるかどうか判断するような場合が必要ならこれを使う
例:メモリ上の位置
0501デフォルトの名無しさん
2013/01/02(水) 00:24:55.56だからそんな一人善がりの妄想で使い分けして意味があるのかと。
0502デフォルトの名無しさん
2013/01/02(水) 00:31:34.40こっちがちゃんと論拠まで添えてこの言葉のニュアンスはそうじゃなくてこうなんですよと
整理してるのに、人の話を全く聞かずに相変らずトンデモ話を展開する馬鹿、
言い負かされると「どうでもいい」とか言って自分の恥をないことにしたがる馬鹿、
このスレって本当ロクでもない奴が多いよな。
0503デフォルトの名無しさん
2013/01/02(水) 01:30:03.07500のレスした者だけど
offとoutの違いみたいな感じで、英語的に的を射た考え方だと思ったけどな
Positionには方角や地位的なニュアンスもあるから、そのモノ視点
Locationは色んなものが存在する中に存在する、そのモノの位置視点
判りやすいけどなあ
0504デフォルトの名無しさん
2013/01/02(水) 01:31:37.060505デフォルトの名無しさん
2013/01/02(水) 04:33:36.000506デフォルトの名無しさん
2013/01/02(水) 05:32:55.87それお前
0507デフォルトの名無しさん
2013/01/02(水) 09:14:40.71自分のレス番と、トンデモ話を展開する馬鹿のレス番をそれぞれ晒せ
0508デフォルトの名無しさん
2013/01/03(木) 05:50:03.86locationは対象の位置それ自身を示すものだが、
positionは、座標軸を決めた上での対象の位置を表す数値を表しているだけで、
座標軸が変わると、同じ位置を表すのに異なる数値となるっぽいもの
的に読めた。ほんとかどうかは知らん
0509デフォルトの名無しさん
2013/01/03(木) 14:52:46.81position = 位置、姿勢, poser(仏 置く)の名詞
結論 : どっちでもいい
0510デフォルトの名無しさん
2013/01/03(木) 14:54:01.84馬鹿は死ぬまで治らないって本当なんだな
0511デフォルトの名無しさん
2013/01/03(木) 14:57:01.02だから、自分はどのレス番で、強弁する馬鹿はどのレス番か、はっきりさせろ
それとも、自演してるから明かせないのか?
0512デフォルトの名無しさん
2013/01/03(木) 15:01:46.38馬鹿の常套句だな
0513デフォルトの名無しさん
2013/01/03(木) 15:10:50.670514デフォルトの名無しさん
2013/01/03(木) 15:29:15.65position は 緯度経度高度
というニュアンスで使っている
0515デフォルトの名無しさん
2013/01/03(木) 16:07:52.48position = あの店の奥の左の柱の右角に立っている。
0516デフォルトの名無しさん
2013/01/03(木) 16:37:01.10position = ちくび
0517デフォルトの名無しさん
2013/01/06(日) 15:52:32.06initialize
setup
など
作業の最後にすべきことを定義したメソッドの名前
cleanup
tear_down
など
他にもあるだろうけど、それぞれニュアンスの違いって何かあるの?
例えば、ある状況では cleanup よりも tear_down の方が
処理の内容をより良く表しているとか。
0518517
2013/01/06(日) 15:58:01.39・作業の最初に、その作業で使うリソースを準備するためのメソッドの名前
・作業の最後に、使ったリソースを片付けるためのメソッドの名前
という事にして。
0519デフォルトの名無しさん
2013/01/06(日) 16:15:41.10対象によってはそういうこともあるかもしれないね、としか言えない。
名前付けに迷ってるんなら対象も含めた相談にしてもらうのがいいと思う。
0520デフォルトの名無しさん
2013/01/06(日) 16:42:38.71でしか見たことがない気がする。
0521デフォルトの名無しさん
2013/01/06(日) 16:44:12.96post dispose finalize close end free delete destroy
0522デフォルトの名無しさん
2013/01/06(日) 19:35:21.800523517
2013/01/06(日) 22:24:15.93いや、今とくに何か困っている訳ではないんだ。
>>520
じつはテスト駆動開発の勉強をしてて、この単語に出会い、
なんで tearDown なんてマイナーな言葉を使うんだろと思って質問した。
他にも分かりやすい言葉があるだろうに、何か特別なニュアンスでもあるのかなと。
ついでに他の言葉の使い方なども分かればいいなと思って、広い質問の仕方をした次第。
もしかして、テスト対象で使ってる識別子とダブらないように、
わざとマイナーな言葉を使ってる?
それにしては setup はいたって普通だけど。
0524デフォルトの名無しさん
2013/01/07(月) 01:14:30.95deinitializeじゃないのか?
0525デフォルトの名無しさん
2013/01/07(月) 01:23:46.52まとまっているものを部分にバラすというニュアンスのようだから、
参照を解放して依存関係を解消するとか、そういった感じの処理なんじゃないのかね。
0526デフォルトの名無しさん
2013/01/07(月) 21:15:44.32deinitializeだとinitialize(の効果)を取り消して元に戻す、的な意味になる
uninitializeは意味が正しいかどうか知らないが、MSは使っていた
最近は・・・といっても2、3年前程度だが、setup/finalizeが多かったと覚えている
なんつーか、流行りモノだね
0527デフォルトの名無しさん
2013/01/07(月) 21:19:28.33ん?よく見たら初期化/後始末関数のネーミングが欲しいわけではないのか
・作業の最初に、その作業で使うリソースを準備するためのメソッドの名前
AllocateResources
・作業の最後に、使ったリソースを片付けるためのメソッドの名前
DeallocateResources
でいいんじゃね
0528デフォルトの名無しさん
2013/01/07(月) 21:21:26.35修正
流行ってたのはsetup/filanlizeじゃなくて、setup/cleanupだったわ
0529517
2013/01/07(月) 22:44:44.35誤解させたようで、ごめん。
ネーミングが欲しいわけでもないんだ。
>>518 の用途で、>>517 のような名前や、
それ以降のレスで挙がったような名前がよく使われるけど、
ニュアンス的に使い分けるものなのかな? と。
発端は >>523 。
teardown なんて他では見ないけど、
特別なニュアンスでもあるのかなと疑問に思ったから。
0530デフォルトの名無しさん
2013/01/07(月) 22:52:05.33基本的に一度だけ実行するものは initialize/finalize(設計次第で省略されることも) でいいかと。
ただ、この組み合わせは使用者がこのメソッドの処理内容を考えず、単純にそうするといったレベルで扱っていいものに限られる。
リソースがどうのこうのっていうのを意識させなければならないなら、普通にイメージ通りの英単語を選んでやればいい。
load_res/unload_resとかいろいろ思いつくだろう。
0531デフォルトの名無しさん
2013/01/07(月) 23:07:54.60かつ、終了/後片づけのニュアンスがある熟語を選んだと想像。
0532デフォルトの名無しさん
2013/01/08(火) 16:11:08.93特に使い分けるものはない・・・と思うが、考えてみればsetupってinitializeより先に行うものだよな
アプリなりOSを導入して使用できる状態にすることはセットアップ
使用を開始してから初期状態に戻すことが初期化だよね
コンストラクタが「setup」であり、デストラクタが「cleanup」であると考えれば、
「initialize」は使う場所が無いな
0533デフォルトの名無しさん
2013/01/08(火) 19:29:01.68逆だな
initializeの中でいろいろ情報集めて、その情報をもとにsetup
setupは隠ぺいされるもの
0534517
2013/01/08(火) 19:31:30.64> 考えてみればsetupってinitializeより先に行うものだよな
確かに。
> コンストラクタが「setup」であり、デストラクタが「cleanup」であると考えれば、
> 「initialize」は使う場所が無いな
理屈の上ではね。
実際は、コンストラクタでセットアップ的な処理の一部、
例えば動的メモリやソースなどの確保処理はすべきじゃないから、
必然的に残りのセットアップ処理は別関数にして後で呼ばなきゃならない。
その関数に initialize と命名することは良くある。
俺の中では initialize は局所的な状態の初期化で、
setup は全体の状態の構築というイメージがある。
それで言えば、「setupってinitializeより先に行うもの」と同意見だ。
0535517
2013/01/08(火) 19:33:25.65>>533 のレスで自分の言葉足らずに気づいた。
> それで言えば、「setupってinitializeより先に行うもの」と同意見だ。
正確に言えば、
setup の中で各 initialize が呼ばれる感じだ。
0536デフォルトの名無しさん
2013/01/08(火) 20:31:56.44それってつまりinitializeするメソッドだね。
わざわざ名前変えてわかりにくくする必要はないと思う。
0537デフォルトの名無しさん
2013/01/08(火) 20:54:40.95setup: 対象を現場で構築して使用可能にする
0538デフォルトの名無しさん
2013/01/08(火) 21:02:53.95setup > 構築・設定
って感じで捉えてる。
setupメソッドの中で初期化するためにInitializeメソッドを呼ぶ感じだと思う。
0539デフォルトの名無しさん
2013/01/08(火) 21:32:21.87普通はsetXXXで構築するからSetupメソッドなんて無いんだけどな
0540デフォルトの名無しさん
2013/01/09(水) 00:16:04.42> 実際は、コンストラクタでセットアップ的な処理の一部、
> 例えば動的メモリやソースなどの確保処理はすべきじゃないから、
え?なんで?
むしろコンストラクタでこそ行うべき処理だろ。 RAII っていうぐらいだし。
0541デフォルトの名無しさん
2013/01/09(水) 01:18:11.01ダメだったのは、例外処理の機構が組み込まれる前のC++かな。
知っての通り、コンストラクタは戻り値を返せないから、問題が
起きたとしても呼び出し側にその情報を伝える手段が乏しかった
ため。
とは言え 例外処理が組み込まれて以降でも、コンストラクタ中で例外
が発生するとデストラクタが呼び出されないのでリソースのリークが
発生する可能性があるため、コーディングが面倒になる。
結果、できればコンストラクタで複雑な処理や例外が発生する可能性
のある処理はすべきでないとする流儀がある。
0542デフォルトの名無しさん
2013/01/09(水) 01:28:52.93安心した
0543デフォルトの名無しさん
2013/01/09(水) 01:43:20.59何か外部からパラメータやオブジェクト渡して初期化しようとすると、仕方なくSetupみたいなメソッドを
作ってしまうことはある。
0544デフォルトの名無しさん
2013/01/09(水) 03:31:43.90[迷信] コンストラクタから例外を送出してはならない
http://www.kijineko.co.jp/tech/superstitions/dont-throw-exception-from-constructor.html
スマートポインタを使えば面倒でもなんでもない。
「スマートポインタを使わない」という(アホな)流儀が未だに存在するのはまことに遺憾ながら認める。
0545デフォルトの名無しさん
2013/01/09(水) 04:41:10.600546デフォルトの名無しさん
2013/01/09(水) 08:35:10.64荒れるからそんな話持ち出すな
0547デフォルトの名無しさん
2013/01/09(水) 10:47:28.770548デフォルトの名無しさん
2013/01/09(水) 10:58:32.53しかしこれを「準備」とか「初期設定」に言い換えてもなんか嫌。
つまり、最初にやるべき一連の処理という概念そのものがあやふや過ぎて、名前を付ける対象として不適切。
0549デフォルトの名無しさん
2013/01/09(水) 19:00:31.17この状態は既に初期設定が済んでいる状態(OSのセットアップが済んだ状態)なのか、
それとも済んでいない状態なのか、どちらであるべきなんだろうか
特にC++でいえば、コンストラクタはそれが成功/失敗したかどうかを返せないので、
Object * pNewValue(Object::TryCreate()); // Object * (static) Object::TryCreate() (nullable)
みたいに動的生成関数を用意するか、
Object newValue;
newValue.Try初期設定(); // bool Object::Try初期設定()
を用意するか
ここまで書いて「あ、これ命名に関係ないわ」と気付いた
0550デフォルトの名無しさん
2013/01/09(水) 22:33:02.81> 特にC++でいえば、コンストラクタはそれが成功/失敗したかどうかを返せないので、
例外があるだろ。そんなめんどい細工が要るのは特殊な状況(環境)だけ。
0551デフォルトの名無しさん
2013/01/09(水) 22:46:08.16単に処理の成否を伝えるためだけに使わざるを得ないのは、
もしかしたら設計をミスっていることを示唆しているのかも知れん。
0552デフォルトの名無しさん
2013/01/09(水) 22:48:55.34おまいはよく分かっている
0553デフォルトの名無しさん
2013/01/09(水) 22:51:25.13そもそもC++では例外自体が好まれていない。例外が投げられたら投げっぱなしが基本
0554デフォルトの名無しさん
2013/01/09(水) 22:54:25.89boostのlexical_castみたいに文字列のパースに失敗したら例外を投げる、みたいな関数は「クソ面倒くせぇ」と感じる
0555デフォルトの名無しさん
2013/01/09(水) 22:55:24.51他所でやれ
0556デフォルトの名無しさん
2013/01/09(水) 23:20:55.76例外を正しく使えないプログラマ多いね。 その7
http://kohada.2ch.net/test/read.cgi/prog/1306646249/
0557デフォルトの名無しさん
2013/01/15(火) 23:17:54.32XXXYYYs
それか、XXXを無視して単に
YYYs
どんな感じがいいでしょうか?
0558デフォルトの名無しさん
2013/01/15(火) 23:22:06.78どっちも間違い
重要なのは中身じゃなくて目的
0559デフォルトの名無しさん
2013/01/15(火) 23:23:09.550560デフォルトの名無しさん
2013/01/15(火) 23:29:36.950561デフォルトの名無しさん
2013/01/16(水) 00:03:03.62連想配列の事です。
>>558
目的ですか?目的は単にXXXの値をYYYの値に変換することです。
0562デフォルトの名無しさん
2013/01/16(水) 00:05:19.76国コードを対応する国名に変換したいだけです。
0563デフォルトの名無しさん
2013/01/16(水) 00:09:57.96YYYByXXX[ key ]
0564デフォルトの名無しさん
2013/01/16(水) 00:16:16.030565デフォルトの名無しさん
2013/01/16(水) 00:20:12.52だから、その例ならたとえばCountryNameTableみたいな名前を付けるでしょ。
>>558の言うとおりで、名前は結局そいつがどんな目的を担う何者であるかに
注目してそれが分かるような付け方をすべき。
「XXXからYYYへのマップ・ディクショナリ」なんて情報だけから命名しようなんて
センスがちょっと狂ってる。
0566デフォルトの名無しさん
2013/01/16(水) 00:43:58.19じゃ、目的は変換ってことで、>>563みたく2(to)はさんだり、もうちょっと修飾
したほうがいいってこと?
>>563じゃ長いなと思ったのので、>>564みたな使い方になるわけで、
単にYYYでいいかなと思ったしだいです。まぁ、YYY[XXX]の場合、XXXに国コード渡すなんてことは
ジェネリックス型のクラス使うので、名前からわかりませんが。
0567デフォルトの名無しさん
2013/01/16(水) 00:46:47.430568デフォルトの名無しさん
2013/01/16(水) 00:51:35.48俺は末尾にTableの変わりに複数形のsをつけたわけです。君のと大差ありませんが?
とりあえず、どっちも、国コードを渡すって事は失われて。
0569デフォルトの名無しさん
2013/01/16(水) 01:03:22.05これらの使い方はXXXとYYYの対応・変換をつけることだろ?
>>「XXXからYYYへのマップ・ディクショナリ」なんて情報だけから命名しようなんて
>>センスがちょっと狂ってる。
対応・変換以外に何をすると思ってんの?大丈夫?
0570デフォルトの名無しさん
2013/01/16(水) 01:16:26.24>>569みたいな人は、たとえば日常生活で「水と調味料と麺をラーメンに変換する店」
みたいな表現をするのかね。
>>569はそうかもしれないが普通の人はそんなまどろっこしい呼び方はしない。
普通の人は普通にそれを「ラーメン屋」と呼ぶ。
それが>>565に書いた「結局そいつがどんな目的を担う何者であるかに
注目してそれが分かるような付け方をすべき」の意味するところ。
0571デフォルトの名無しさん
2013/01/16(水) 01:23:40.01だから、まどろっこしいと思ったから、
>>557の***最初の質問***で
おまえのTableを末尾につけるかわり単に複数形にするだけでXXXsでいいとおもう?っ聞いてんだろ・・・
何をおまえは言ってんだ・・
0572デフォルトの名無しさん
2013/01/16(水) 01:37:27.06感じない人ならそれでもいいんじゃない?
0573デフォルトの名無しさん
2013/01/16(水) 01:43:42.02その例え方は何か違う気がするぞ
0574デフォルトの名無しさん
2013/01/16(水) 03:42:43.29あんたがアホだわ
0575デフォルトの名無しさん
2013/01/16(水) 06:07:37.49振り上げたこぶしの下ろし方がわからず
どうにか間違いに仕立てようとあれこれ画策してるわけか
0576デフォルトの名無しさん
2013/01/16(水) 06:11:27.65配列名なんてtableだけで済ませちまうなぁ
0577デフォルトの名無しさん
2013/01/16(水) 09:46:32.06システムハンガリアンの作法にのっとるべきだろう。
よって map_YYY[XXX]
0578デフォルトの名無しさん
2013/01/16(水) 11:37:45.060579デフォルトの名無しさん
2013/01/16(水) 11:43:38.42実際のコード書いてほしい
0580デフォルトの名無しさん
2013/01/16(水) 22:59:27.54これが「バカの壁」なんだな。
「XXXからYYYへのマップ・ディクショナリ」なんて情報(だけ)から
命名しようという考え方がそもそも間違っている、というのは分かってる人には
何を当たり前のことをって話だと思うんだが、バカの壁の向こうの住人には
こういう当たり前の話がまったく通じない。
0581デフォルトの名無しさん
2013/01/16(水) 23:33:35.280582デフォルトの名無しさん
2013/01/16(水) 23:34:02.190583デフォルトの名無しさん
2013/01/17(木) 02:44:54.11とあるクラスが?→itemの連想配列を1つだけ持っているばあい、
その連想配列を「items」または「itemMap」またはと命名する
とあるクラスが?→itemの連想配列を2つ以上持っているのであれば、
例えば連想元が「index」と「name」であれば、それぞれ
「indexToItemMap」「nameToItemMap」と命名する
class Simple {
Map<int, Item> itemMap; // 又はitems
};
class NotSimple {
Map<int, Item> indexToItemMap;
Map<String, Item> nameToItemMap;
};
0584デフォルトの名無しさん
2013/01/17(木) 18:44:01.06mapってmapとして動作するの?
itemとして動作するなら最後にmap付けたらおかしいよね
itemなんだから
0585デフォルトの名無しさん
2013/01/17(木) 19:26:38.200586デフォルトの名無しさん
2013/01/17(木) 19:34:25.20mapとかitemsってのは、itemの集合体を表す。
要素一つを表すか、集合を表すかの違い。
0587デフォルトの名無しさん
2013/01/17(木) 19:47:02.900588デフォルトの名無しさん
2013/01/17(木) 19:59:58.090589デフォルトの名無しさん
2013/01/18(金) 03:38:58.73複数形を使うようにするばあい、>>583の class NotSimple 内の2つの連想配列の名前をどうしようか迷う
indexToItems?indicesToItems?
0590デフォルトの名無しさん
2013/01/18(金) 05:04:02.67プリ/サフィックスつけるとすると、今度は何をつけるかでまた悩みそうだから。
JavaならMapインターフェースあるし、標準の呼び名であるMapでいいかもしれんけど、
言語・環境毎につけるプリ/サフィックスかえるのかとか、
言語・環境に依存しないような例えばここででてきたTableにするかとかで、悩むのだるいし。
ということで、
>indexToItems?indicesToItems?
を議論しよう。俺はこの場合、今までindexToItemsを使ってたな
0591デフォルトの名無しさん
2013/01/18(金) 05:55:26.070592デフォルトの名無しさん
2013/01/18(金) 08:18:46.97>>583のNotSimpleではどうする?itmesは一つしか宣言できないぞ
0593デフォルトの名無しさん
2013/01/18(金) 08:23:52.580594デフォルトの名無しさん
2013/01/18(金) 08:43:04.200595デフォルトの名無しさん
2013/01/18(金) 08:49:57.480596デフォルトの名無しさん
2013/01/18(金) 08:57:21.46接尾辞のMapつけない点以外は
0597デフォルトの名無しさん
2013/01/18(金) 10:09:03.32int i = zip_code_of["○○町"]; // ○○町の郵便番号
string[] s = country_names_of["Asia"]; // アジアの国名(複数)
0598デフォルトの名無しさん
2013/01/18(金) 11:02:51.040599デフォルトの名無しさん
2013/01/18(金) 11:14:52.130600デフォルトの名無しさん
2013/01/18(金) 11:24:19.72ofの後に指定されたもののindexを返す
0601デフォルトの名無しさん
2013/01/18(金) 11:36:06.41id_of_colorじゃなくて、color_id_of["Blue"]
0602デフォルトの名無しさん
2013/01/18(金) 13:50:50.880603デフォルトの名無しさん
2013/01/18(金) 15:08:40.54zipCodes
0604デフォルトの名無しさん
2013/01/18(金) 18:55:55.50これが変数名だとしたら、なんつーかオシャレすぎる
indexからcolorを取得する関数にしても、最近はgetColorByIndexみたいにByを使うことが多いが
0605デフォルトの名無しさん
2013/01/18(金) 20:24:11.22さすがにネタだろうと思ったら何かマジで言ってるっぽいから怖い
0606デフォルトの名無しさん
2013/01/18(金) 22:30:32.57連想配列って特別な配列ってわけじゃないんだから専用の名前なんて要らないじゃん
>>603ので十分だ
0607デフォルトの名無しさん
2013/01/19(土) 04:29:20.11TONさんまだ生きてたのか
0608デフォルトの名無しさん
2013/01/19(土) 04:31:38.15�A Key:名前、Value:色
この2つの連想配列が1つのスコープに存在するときの、それぞれの命名方法はどうするの?
0609デフォルトの名無しさん
2013/01/19(土) 04:34:27.190610デフォルトの名無しさん
2013/01/19(土) 04:40:22.33そんなもん一つに纏めてしまいましょうで終わり
0611デフォルトの名無しさん
2013/01/19(土) 06:39:04.61�A Key:名前、Value:数字
0612デフォルトの名無しさん
2013/01/19(土) 06:53:08.93そんな間抜けな状況は20行程度で終わるはずだから c1 c2 でいいよ
0613デフォルトの名無しさん
2013/01/19(土) 06:55:24.780614デフォルトの名無しさん
2013/01/19(土) 07:01:21.45こんなアホな状況に対して真面目に名前考える方がアホだぞ?
どうせだれにも読めないクソコードなんだから時間かけるだけ無駄って奴だ
0615デフォルトの名無しさん
2013/01/19(土) 07:06:01.370616デフォルトの名無しさん
2013/01/19(土) 07:09:43.930617デフォルトの名無しさん
2013/01/19(土) 07:11:23.89クラス名、変数名のつけ方に悩んだら書き込むスレです。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
0618デフォルトの名無しさん
2013/01/19(土) 07:14:33.56詳しく説明してくれ
0619デフォルトの名無しさん
2013/01/19(土) 08:05:21.95今度使ってみるわ
0620デフォルトの名無しさん
2013/01/19(土) 11:27:10.30colorsByName
0621デフォルトの名無しさん
2013/01/19(土) 14:32:51.49データを格納するためのメンバ変数の名前を何にしようかと考えてる。
今はこのキューを使う側のプログラムのテストのためにモックとして作ってて、
キューの内部では処理速度は考えずに std::list クラスを使ってる。
キューにデータをプッシュする度にリストの先頭から検索して
ちゃんとソートされるようにデータを配置する。
で、そのデータを格納するメンバ変数の名前なんだが、
最初は適当に item_list とか data_list とか考えた。
でも、今はモックとして作るが、実際の運用では処理速度が求められるから、
内部の実装は恐らく平衡二分探索木あたりを使うことになるだろう。
あるいは、もっと運用に適したデータ構造があるかもしれん。
そうすると、item_list や data_list ではおかしい(というか紛らわしい)。
まぁ、その時になったら名前を考えてリファクタリングすればいいかもしれんが、、
結局いつかは適切な名前を付ける必要があるから、今から候補は考えておきたい。
今のところ sorted_items という名前がひとつ思い浮かんだんだが、
他に何かあるだろうか。
0622デフォルトの名無しさん
2013/01/19(土) 14:47:41.32特にソートされることを強調する必要もなければ単にhogesでもいいと思う。
0623デフォルトの名無しさん
2013/01/19(土) 15:01:12.73実際の運用では優先度ごとにキューを並べる可能性もあるので
ソートすること前提とか、メンバ変数は一つだけなのが前提とか
それすらも怪しい。
現状に合った名前ということなら>>622が言うようにhogesでいいと思う。
具体的にはitems, tokens, packetsみたいな感じで。
0624デフォルトの名無しさん
2013/01/19(土) 16:06:10.15> ソートすること前提とか、メンバ変数は一つだけなのが前提とか
> それすらも怪しい。
なるほど、たしかに。
>>622 >>623
ありがと、単純に items にするよ。
0625デフォルトの名無しさん
2013/01/31(木) 10:54:55.68fork-join に似た他の言葉はありませんか。
joinというとどうしてもSQLのjoinをイメージしてしまうので、よく似た別の言葉がほしいです。
0626デフォルトの名無しさん
2013/01/31(木) 11:09:43.23俺も同様だったが今は慣れた。SQLんときにjoinが頻発してたように、
マルチスレッドやるなら今後joinいっっっぱい出てくるから自然と受け入れられるようになる。
むしろ、joinで通っているものを別のものにしてしまうことの問題について考えてほしい。
0627デフォルトの名無しさん
2013/01/31(木) 11:18:08.850628デフォルトの名無しさん
2013/02/01(金) 07:49:51.880629デフォルトの名無しさん
2013/02/01(金) 08:15:40.560630デフォルトの名無しさん
2013/02/01(金) 12:49:21.25アプリケーションをプログラムしていて、
デバッグ用にエラーメッセージや変数の変化の推移などをログとして
ファイルに記録する機能を作ってるんだが、
英語のエラーメッセージの主語って何するのが普通なの?
たとえば「テクスチャオブジェクトの作成に失敗した。」というメッセージの場合、
さすがに I や we ではおかしいよね。
かといって it でもなんか違和感あるし。
あと、「データファイル "パス" を見つけられなかった。」というメッセージなどで、
文の最後にパスを引用符で囲って記述するんだけど、
この場合、ピリオドって引用符の外に出すんだよね。
(普通の会話の引用符などだと中に入れるけど)
ちなみに、日本語で書けというアドバイスはもっともだが、
今は英語で書くというのが前提なんだ。
0631デフォルトの名無しさん
2013/02/01(金) 15:24:17.11海外製ソフトのログとか更新履歴はたいていそうだよね。
Failed to create a texture object.
Couldn't find a file "...".
とかなんとか。
0632デフォルトの名無しさん
2013/02/01(金) 16:03:40.75↓
テクスチャオブジェクトの作成は失敗した
明確な主語はある。あとは英語で書けるかどうかだけ
0633デフォルトの名無しさん
2013/02/01(金) 17:37:42.09ちなみにバウンディングボックスで判定を取るつもりでいます。
0634デフォルトの名無しさん
2013/02/01(金) 19:09:15.500635630
2013/02/01(金) 19:18:05.44> 主語なしで動詞から始めることが多いんじゃない。
なるほど、主語は省くのか。
>>632
たしかに言い方を変えれば主語は明確になるけど、
安易にこの手の言い換えをすると、ちょっと修飾するだけで
頭でっかちの文になるじゃん。
たとえば「頂点シェーダー用のシェーダーオブジェクトの作成は失敗した」
==> Creation of a shader object for vertex shader failed.
で、頭でっかちはキモいから、意味の主体を後ろに持ってくると、
==> It failed creation of a shader object for vertex shader.
この It をどうしようかと、最初の疑問に戻ってくる。
0636デフォルトの名無しさん
2013/02/01(金) 19:24:34.390637デフォルトの名無しさん
2013/02/01(金) 19:32:13.36自分のPCのCドライブを"*.log"で検索してみるんだ。Iやweを避ける表現がいろいろ見つかる。
Vertex shader object creation failed.
Unsuccessful creation of a vertex shader object.
Failed to create a rtex shader object.
などなど。
ピリオドを引用符の外に書くのはピリオドがパスの一部だという誤解を防ぐため。
外に書くべき。
0638デフォルトの名無しさん
2013/02/01(金) 19:58:33.640639デフォルトの名無しさん
2013/02/01(金) 20:06:41.96完成した英文にすることにこだわらなくてもいいんじゃないかね。
Creation Failed: Vertex shader object.
みたいな書き方でもいい。
0640630
2013/02/01(金) 20:29:40.50ちょっと修飾するだけで頭でっかちの文になる
==> 主体を後ろ持ってくる
==> 結局、主語をどうしようかという問題が出る
という事を説明するために出した例なんで、
この例文自体にとくに意味は無い。
ぱっと思いついただけ。
>>637
避け方以前に、主語を避けるのか付けるのか、
普通はどちらなのかがまず知りたかったんだ。
避けた方が良いよねという事が分かったんで、
テクニックは *.log も含めて色々調べてみるよ。
> 外に書くべき。
分かった。
>>638
うん、心がけるよ。
>>639
ごめん、ちょっとは拘りたい。
この手の英語の表現方法に興味がわいてきた、というのもある。
スレチ気味な質問につきあってくれて、みんなありがと。
0641デフォルトの名無しさん
2013/02/01(金) 21:43:48.96logという意味では同じか。
0642デフォルトの名無しさん
2013/02/01(金) 23:24:09.06つまりIが主語なんだけど、そのIはLogを吐き出している実行ファイル(exe)やプログラムね
対話だと思えば判りやすいんじゃないかな
ヘッダのコメントでも
This function returns an integer value obtained by adding the two arguments specified. みたいに書かずに
Returns an integer value obtained by adding the two arguments specified. みたいに書いてあったりするね
その関数の説明だから、いらんよね
0643デフォルトの名無しさん
2013/02/01(金) 23:43:34.31主語がコマンドやオプションであると明確だから
そういう場合は英語でも主語を省略するんだね
0644デフォルトの名無しさん
2013/02/02(土) 11:52:03.920645デフォルトの名無しさん
2013/02/02(土) 14:09:05.63主語の省略。
知ったかぶりして適当なこと言わないこと。
0646デフォルトの名無しさん
2013/02/02(土) 14:12:37.050647デフォルトの名無しさん
2013/02/02(土) 14:25:05.67省略出来る主語が関数なりコマンドなりの場合、
主語を省略するために関数なりコマンドなりが主語になる文を作ると便利って話だと思うが
簡単には伝わらない
0648デフォルトの名無しさん
2013/02/02(土) 14:26:05.58言ってて矛盾に気づかないならどうかしてる。
0649デフォルトの名無しさん
2013/02/02(土) 14:35:06.62物が多い背景に「(主語を書くのはなんとなくかっこ悪いからw)なるべく主語を使わずに済まそう」
という動機があることを想定していること。
そんな動機なんかないよ。
単純に主語が冗長なケースでそれが省略してあるだけ。
0650デフォルトの名無しさん
2013/02/02(土) 14:35:57.60関数なりコマンドなりが主語になる文を作って、主語を省略するんだよ
流石にそれが分からないのは読解力がなさすぎ
0651デフォルトの名無しさん
2013/02/02(土) 14:42:49.38だからそういう意味不明なことを言うのは、>>649みたいに勘違いしてるから。
物主構文を使うのはそれが英文的に自然だからそうしているだけのことで、
"program"とか"code"みたいな主語を使いたくない(だってかっこ悪いからw)みたいな
中二病的動機がある訳ではない。
0652デフォルトの名無しさん
2013/02/02(土) 14:45:28.15両者はまったく別問題。
0653デフォルトの名無しさん
2013/02/02(土) 14:48:54.03勘違いしすぎ
日本人がそういう文章を作ると
つい日本語的な発想の主語を持った文を作ってしまい
主語が省略不能になりがちで冗長になるので
意識を転換した方がいいとというくらいの話しかしてない
0654デフォルトの名無しさん
2013/02/02(土) 14:59:18.680655デフォルトの名無しさん
2013/02/02(土) 15:00:46.620656デフォルトの名無しさん
2013/02/02(土) 20:25:08.85失せろゴミ
0657デフォルトの名無しさん
2013/02/03(日) 05:27:12.10例えば既存の関数 Foo( ) があったとして、それと同じような機能の自作関数の名前が MyFoo( )、
Foo( ) を拡張するような自作関数を FooEx( ) と名付けたりしています。
また、デザインパターンのサンプルコードでは、クラス等にそのデザパタ名を付ける、
例えばStateパターンなら BarState のような名前にしているのを見かけます。
こういった「My」のようなプリフィクス/サフィックスは、実際のコードでも広く使われる命名でしょうか。
それともこれも一種のメタ構文変数と捉えるべきでしょうか。
0658デフォルトの名無しさん
2013/02/03(日) 06:16:51.470659デフォルトの名無しさん
2013/02/03(日) 06:31:49.590660デフォルトの名無しさん
2013/02/03(日) 08:11:18.99My〜( ) とか Bar〜( ) は、流石にないな。
0661デフォルトの名無しさん
2013/02/03(日) 17:31:39.03その条件なら、
FooEx→windowsのAPI
BarState→Javaで〜Strategyとかあるはず
MyFoo()→ありえるが、広いスコープでは使われない
0662デフォルトの名無しさん
2013/02/03(日) 18:34:43.60わざわざ実体験&実例をありがとう
0663デフォルトの名無しさん
2013/02/03(日) 18:53:09.92My とか Bar はありえないだろ。
何を意味してるかわからないから。
0664デフォルトの名無しさん
2013/02/03(日) 18:53:16.58MyMathとか
0665デフォルトの名無しさん
2013/02/03(日) 18:59:27.160666デフォルトの名無しさん
2013/02/03(日) 19:05:48.98〜Stateはありえる
本当に「Bar」という単語を使って、Bar〜というクラスを作成したりはありえない
0667デフォルトの名無しさん
2013/02/03(日) 19:09:23.58barは、fooやhogeと並ぶメタ変数構文だよ。
0668デフォルトの名無しさん
2013/02/03(日) 19:10:22.270669デフォルトの名無しさん
2013/02/03(日) 19:24:34.67>〜Stateはありえる
そっちの議論じゃないから。
>>667-668
だから、メタ構文変数自体を実コードに使うかという話をしているんだが…
0670デフォルトの名無しさん
2013/02/03(日) 19:25:09.96あり得ないあり得ない
0671デフォルトの名無しさん
2013/02/03(日) 19:33:28.78そういう話ではないのだろう?
0672デフォルトの名無しさん
2013/02/03(日) 19:36:21.44すまん、そのケースは忘れてたわ (w
0673デフォルトの名無しさん
2013/02/03(日) 19:38:53.890674デフォルトの名無しさん
2013/02/03(日) 19:56:58.270675デフォルトの名無しさん
2013/02/03(日) 20:08:29.190676デフォルトの名無しさん
2013/02/03(日) 20:24:33.820677デフォルトの名無しさん
2013/02/03(日) 20:30:31.99ああ、失敬。
勘違いしてるみたいだけど、-State -Strategy のようなデザパタ名がメタなのかって話
0678デフォルトの名無しさん
2013/02/03(日) 20:40:02.20そもそもなんで、-State -Strategy のような具体的な名前をメタとか
思うのか理解できないけど。
0679デフォルトの名無しさん
2013/02/03(日) 20:53:14.58パッケージ名、名前空間名、クラス名に付けたりするね。
たとえばMyMathとかMyIOとかといった具合に。
0680デフォルトの名無しさん
2013/02/03(日) 20:56:11.38>>664
0681デフォルトの名無しさん
2013/02/03(日) 20:58:15.61まあ誰でも考えそうなことだよなやっぱりw
0682デフォルトの名無しさん
2013/02/03(日) 21:04:37.63それより大きな枠でMyを付けるからだけど
0683デフォルトの名無しさん
2013/02/03(日) 21:07:03.210684デフォルトの名無しさん
2013/02/04(月) 00:14:47.31俺はMathHelperとかIOUtilsみたいにするなあ
0685デフォルトの名無しさん
2013/02/04(月) 00:19:47.73どんなMathか全くわからんw
作者の数学レベルによってはとんでもないゴミクラスかもしれないw
0686デフォルトの名無しさん
2013/02/04(月) 00:37:28.93MathにどんなMathもこんなMathもないと思うが、仮に「こんなMath」のクラスだと
明示する必要があるとして、もちろんそんな場合にMyMathなんて名前は使わないよ。
0687デフォルトの名無しさん
2013/02/04(月) 00:44:27.280688デフォルトの名無しさん
2013/02/04(月) 00:46:00.510689デフォルトの名無しさん
2013/02/04(月) 00:48:01.11どれも別に問題ないんじゃない?
どれも即座にMathに足りないものを補うものなのだろうなあと判断出来る
0690デフォルトの名無しさん
2013/02/04(月) 00:52:17.170691デフォルトの名無しさん
2013/02/04(月) 01:02:37.09Exは普通Extendedの略だと思うからMathExはちょっとどうかなと思うけど
0692デフォルトの名無しさん
2013/02/04(月) 05:12:22.93> この世界ではありふれた表現だけど初心者には異様に見えるのかもね
お前の世界を基準にされても…
0693デフォルトの名無しさん
2013/02/04(月) 05:38:22.200694デフォルトの名無しさん
2013/02/04(月) 07:22:11.560695デフォルトの名無しさん
2013/02/04(月) 07:42:49.23Exは超手抜きで何も考えずに名前付けやがったなと思う
-Stateはそのデザパタ使ってるって名前に付けてまで知らせないと多大な影響を及ぼすなら付ければ良い
でもリファクタリングが制限されるから基本的に糞
0696デフォルトの名無しさん
2013/02/04(月) 08:38:48.31いつものことなんだけど、否定的な意見を書くのはもちろん構わないが、同時に「俺ならこうする」という意見を書かないと議論にならないんだよね
俺はよく使う関数やクラスを namespace my に突っ込んでいる
もちろん、多数参加のプロジェクトではそんなことできないが、自分用に作ったものはmyにまとめてある
仕事で、Mathの延長線上のクラスなりを作成するのであれば、MathExかな
0697デフォルトの名無しさん
2013/02/04(月) 08:50:44.940698デフォルトの名無しさん
2013/02/04(月) 08:54:01.21言語仕様上の理由以外にCreateWindowExにすべき理由なんて無い
0699デフォルトの名無しさん
2013/02/04(月) 09:00:17.34CreateWindowExの機能自体はCreateWindowと同じだからな。
オーバーロードの可能な言語ならCreateWindowだろうし、オーバーロードできない言語なら
CreateWindowEx とか CreateWindow2 とか、具体性のない名前のほうがいいケースだろう。
0700デフォルトの名無しさん
2013/02/04(月) 10:32:01.290701デフォルトの名無しさん
2013/02/04(月) 10:52:05.550702デフォルトの名無しさん
2013/02/04(月) 11:47:36.440703デフォルトの名無しさん
2013/02/04(月) 20:05:04.84基本的にExなんてサフィックスする命名は手抜きでよくないのはまあその通りだね。
ちゃんと、どの辺りがEx(tended)なのかを明示的に名前に盛り込むべきだと思う。
Myについては、もちろん社内とかグループ内とか自分だけとかで使うプライベートな
ライブラリ以外では使うべきじゃない。
だから俺は>>679でそう書いたつもりだけど、他の人もそんなことは言わずもがなだから
あえて触れてないだけじゃないの?
0704デフォルトの名無しさん
2013/02/04(月) 20:14:07.18他人から見れば実際には大差ない代物だから
気にし過ぎという他ない
0705デフォルトの名無しさん
2013/02/04(月) 20:40:23.280706デフォルトの名無しさん
2013/02/04(月) 20:43:23.050707デフォルトの名無しさん
2013/02/04(月) 20:48:47.910708デフォルトの名無しさん
2013/02/05(火) 01:15:43.08二人以上存在する時点でMyなんて使うなよw
未来永劫自分以外がコードを目にしないなら辛うじてMyを使う余地があるだけで
それが守られないならMyを使っていいケースは無い
0709デフォルトの名無しさん
2013/02/05(火) 01:33:44.54共通認識が有れば別に構わん
0710デフォルトの名無しさん
2013/02/05(火) 01:38:36.26クラスや関数に付けるようなプレフィックスじゃないと思うわ
そのコードを見た人視点であるべきで、そのコードを書いた人視点になってしまう
ってばっちゃが言ってた
0711デフォルトの名無しさん
2013/02/05(火) 01:48:24.000712デフォルトの名無しさん
2013/02/05(火) 03:20:26.300713デフォルトの名無しさん
2013/02/05(火) 19:39:31.17まあこれが馬鹿の壁かなとだけ言っておく。
0714デフォルトの名無しさん
2013/02/05(火) 19:54:14.36実はMyがどういう時に使われるか分かってんだろ?
0715デフォルトの名無しさん
2013/02/05(火) 20:16:55.16こういう場合の「馬鹿の壁」というワードは、どういう意味で使ってるの?
0716デフォルトの名無しさん
2013/02/05(火) 20:18:44.840717デフォルトの名無しさん
2013/02/05(火) 20:27:16.33失せろゴミ
0718デフォルトの名無しさん
2013/02/05(火) 20:32:10.970719デフォルトの名無しさん
2013/02/05(火) 20:35:53.99失せろゴミ
0720デフォルトの名無しさん
2013/02/06(水) 00:46:59.78言葉に気をつけなさい、それはいつか行動になるから。
行動に気をつけなさい、それはいつか習慣になるから。
習慣に気をつけなさい、それはいつか性格になるから。
性格に気をつけなさい、それはいつか運命になるから。
- マザー・テレサ -
0721デフォルトの名無しさん
2013/02/06(水) 01:01:45.050722デフォルトの名無しさん
2013/02/06(水) 01:09:19.31失せろゴミ
0723デフォルトの名無しさん
2013/02/12(火) 08:38:39.27そんなもの存在しないって事で良いのか?
0724デフォルトの名無しさん
2013/02/12(火) 12:22:40.30荒れる原因だから、チームの場合は使うなってことだろ、きっと。
0725デフォルトの名無しさん
2013/02/12(火) 12:33:53.200726デフォルトの名無しさん
2013/02/12(火) 19:10:40.510727デフォルトの名無しさん
2013/02/13(水) 00:40:11.16使うべきとまでは言ってないけど、使ってると言ってる奴はいたな。
俺には、信じられないけど。
0728デフォルトの名無しさん
2013/02/13(水) 00:50:47.50君はきっとバカの壁の向こう側の人なんだよ。
どっち側がどうとはあえて言わないけどw
0729デフォルトの名無しさん
2013/02/13(水) 00:56:53.60バカに見えるわw
0730デフォルトの名無しさん
2013/02/13(水) 01:02:56.780731デフォルトの名無しさん
2013/02/13(水) 04:01:53.38失せろゴミ
0732デフォルトの名無しさん
2013/02/13(水) 04:12:10.44孤独な環境でMy使いまくってるから引くに引けずに他者をバカ呼ばわりか
0733デフォルトの名無しさん
2013/02/13(水) 04:18:43.57失せろゴミ
0734デフォルトの名無しさん
2013/02/17(日) 10:01:07.46失せろゴミ
0735デフォルトの名無しさん
2013/02/17(日) 10:06:45.48失せろゴミ
0736デフォルトの名無しさん
2013/02/17(日) 10:22:49.80失せろゴミ
0737デフォルトの名無しさん
2013/02/17(日) 10:23:43.08失せろゴミ
0738デフォルトの名無しさん
2013/02/17(日) 21:41:30.18失せろゴミ
0739デフォルトの名無しさん
2013/02/17(日) 22:01:17.77失せろゴミ
0740デフォルトの名無しさん
2013/02/17(日) 23:10:56.61失せろゴミ
0741デフォルトの名無しさん
2013/02/17(日) 23:20:38.53失せろゴミ
0742デフォルトの名無しさん
2013/02/18(月) 02:24:32.51失せろゴミ
0743デフォルトの名無しさん
2013/02/18(月) 12:59:38.34shift, pop ですが
単一の変数で、データを取得しつつ削除するメソッド名は
何がいいでしょうか
例えば以下のBool型の this.data というものがあり
this.data を取得しつつ this.data に null を代入するような場合です。
function ???(){
var n = this.data;
this.data = null;
return n;
}
取り敢えず現在は getAndResetData というメソッド名にしています。
0744デフォルトの名無しさん
2013/02/18(月) 13:03:59.78move
0745デフォルトの名無しさん
2013/02/18(月) 13:12:07.75pop
0746デフォルトの名無しさん
2013/02/18(月) 13:15:25.210747デフォルトの名無しさん
2013/02/18(月) 13:40:34.190748デフォルトの名無しさん
2013/02/18(月) 14:21:06.68takeAway
0749デフォルトの名無しさん
2013/02/18(月) 14:38:38.200750デフォルトの名無しさん
2013/02/18(月) 15:08:57.470752デフォルトの名無しさん
2013/02/18(月) 15:16:46.86transfer
0753デフォルトの名無しさん
2013/02/18(月) 20:06:13.08日本語で言えば「空にする」でいいと思う。
空にするメソッドが返値を持つなら、何を返すかは自明でしょ。
moveもいいと思うけど、インテルのアセンブラのニーモニックだとmov(e)は
データのコピーだからちょっとミスリーディングかもしれないと思う。
というわけで、
setNull
null (使う言語で可能なら)
nullize
0754デフォルトの名無しさん
2013/02/18(月) 20:17:49.45でも、あれは移動元がどうなるかまで保証しないので
それはそれで紛らわしいかもしれない
0755デフォルトの名無しさん
2013/02/24(日) 00:27:32.76HogeInstanceとか?
0756デフォルトの名無しさん
2013/02/24(日) 00:30:16.84命名以前にOOP理解してない臭がするんだけど...
0757デフォルトの名無しさん
2013/02/24(日) 01:05:01.91class Hoge {
public static readonly Hoge Default = new Hoge();
public void Do() { }
}
0758デフォルトの名無しさん
2013/02/24(日) 01:06:08.010759デフォルトの名無しさん
2013/02/24(日) 07:30:32.91「同機能の、インスタンスを作成して使うクラス」という意図
staticクラスの実装を、インスタンスを作成するクラスに任せる感じ
0760デフォルトの名無しさん
2013/02/24(日) 07:46:49.860761デフォルトの名無しさん
2013/02/24(日) 08:02:33.64static class Hoge {
private static HogeInstance instance = new HogeInstance();
public static void Foo() { instance.Foo(); }
}
0762デフォルトの名無しさん
2013/02/24(日) 08:44:52.280763デフォルトの名無しさん
2013/02/24(日) 11:04:58.000764デフォルトの名無しさん
2013/02/24(日) 11:18:11.87それだと実際の実装クラスがHogeImplImplにならね?
0765デフォルトの名無しさん
2013/02/24(日) 11:20:03.67実装を交換できるっていう感じなんだよね?
0766デフォルトの名無しさん
2013/02/24(日) 11:21:50.01でもまず何がしたくてこういう形にしたのかがよく分からん
0767デフォルトの名無しさん
2013/02/24(日) 11:25:27.00そこまでしてわざわざ静的メソッドでラップしなくても>>757で十分だとは思うけど
0768デフォルトの名無しさん
2013/02/24(日) 11:32:47.360769デフォルトの名無しさん
2013/02/24(日) 12:06:56.77抽象クラス HogeBase
0770デフォルトの名無しさん
2013/02/24(日) 13:00:26.64LoggerFactory の静的メソッドである getLoggerを
インタフェース ILoggerFactory の同名のインスタンスメソッド getLogger に
委譲している気分
0771デフォルトの名無しさん
2013/02/24(日) 14:33:24.03結局、それだとHogeの仲間のクラス(Hogeと同じ名前の静的メンバを持ってるけど機能が違うクラス)
全体の呼称が決まってないと名前付けられないんじゃない?
仮にそのインターフェイスをIMetaと名付けたとすると、なんかJavaっぽいから、
HogeにIMetaを実装した無名クラスのインスタンスを返す静的メソッドを実装すれば
いいんじゃないんだろうか。
つまり結論は、そもそも質問者が望んでいるような名前はいらんと。
0772デフォルトの名無しさん
2013/02/24(日) 16:02:00.35ある機能を提供する手段として
インスタンスを作成しないで使えるstatic Hogeと
インスタンスを作成して使う○○があるわけだな。
どっちも同じ機能だし、Hoge2でいいんじゃね。
あるいは、インスタンスを作る方を普通のHogeにして、
staticな方はシステムハンガリアンの流儀に従って sHogeにする。
0773デフォルトの名無しさん
2013/02/24(日) 19:52:12.04こっちが正解です
具体例出すと、.netでImageAnimatorってstaticクラスがあるんだけど、機能が足りてないんでExImageAnimatorクラスを作った
でも、コントロールの実装で使う際、staticクラスなのも微妙だと思ってインスタンスクラスで実装しようとして名前に迷った・・・
0774デフォルトの名無しさん
2013/02/24(日) 20:21:15.940775デフォルトの名無しさん
2013/02/24(日) 20:31:43.01だからコントロールのアニメーション処理は独立させた方がいいのかと
それにアニメーション処理はやってること同じだからインスタンスクラスにしたら便利なんじゃね?と思い至った
0776デフォルトの名無しさん
2013/02/24(日) 20:41:24.95シュッ
| | | | | | | チャラッチャラッチャーン♪ミヨヨヨーン…
________.
\ ∧_∧ アウッ |\
\(; ´∀`) | \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0777デフォルトの名無しさん
2013/02/24(日) 21:17:19.38staticで済む(状態を持つ必要がない)ものを無理にインスタンス化できるようにしたら
後で混乱すると思わないのかな。
こういうのこそMyImageAnimatorでいいよ。
っていうか、最初から具体的に質問してれば話はずっと早かったのに。
0778デフォルトの名無しさん
2013/02/24(日) 21:25:05.11確かにこれならImageをコンストラクタにとってインスタンス化できるように
作った方が自然なような気もする。
よく読んでないから何か事情があるのかもしれんけど
0779デフォルトの名無しさん
2013/02/24(日) 22:37:26.34ImageAnimatorは状態持ってる
staticな配列で
0780デフォルトの名無しさん
2013/02/24(日) 22:45:09.31スレッドを共有するためだと思う
インスタンスを作るようにしても結局どっかでまとめて管理しないといけないから
ある意味素直な設計
0781デフォルトの名無しさん
2013/03/02(土) 03:24:19.88表面同士の距離がゼロになるとそれ以上近づけない性質の事は何と言えばいい?
0782デフォルトの名無しさん
2013/03/02(土) 03:30:46.880783デフォルトの名無しさん
2013/03/02(土) 08:18:05.55実際に英語にあるのは inability to overlap とかか。
0784デフォルトの名無しさん
2013/03/02(土) 08:20:19.450785デフォルトの名無しさん
2013/03/02(土) 09:52:39.210786デフォルトの名無しさん
2013/03/02(土) 13:34:51.76ありがとう
exclusionにしようかな
長くならないし一番馴染みが有るし
0787デフォルトの名無しさん
2013/03/02(土) 13:35:42.94ありがとう
exclusionにしようかな
長くならないし一番馴染みが有るし
0788デフォルトの名無しさん
2013/03/02(土) 13:38:10.860789デフォルトの名無しさん
2013/03/02(土) 14:03:08.99exclusionじゃなくてexclusivityでしょ。
日本語で言えば排他性。
0790デフォルトの名無しさん
2013/03/02(土) 15:18:36.57AT-Field
0791デフォルトの名無しさん
2013/03/02(土) 15:26:23.06keep out
territory
barrier
fence
0792デフォルトの名無しさん
2013/03/03(日) 23:05:01.74というか回転行列を掛けるという動詞が見つからん
DrawRotationMatrixed(...)とか造語作るのも嫌だしな
0793デフォルトの名無しさん
2013/03/03(日) 23:07:00.280794デフォルトの名無しさん
2013/03/03(日) 23:22:34.07無理に詰め込み過ぎだからでしょ。
(1) 中心座標と角度を指定して変換行列(回転行列)を求める関数
(2) 変換行列で座標を変換する関数
(3) 座標(の配列)を描画する関数
全部分けるべき。
0795デフォルトの名無しさん
2013/03/03(日) 23:26:06.47行列を渡すなら変換は回転とは限らないんじゃないの?
回転のみと決まってるんだったら"行列"は要らないんじゃないの?
0796デフォルトの名無しさん
2013/03/03(日) 23:41:21.96「掛ける」という動詞が知りたい、というのが質問なのでしょうか。
たとえば 「4 に 9 をかける」 は英語で multiply 4 by 9 です。
あとは受動態でも何でも変形すれば良いでしょう。
ただ、私も 1>>794 や >>795 に同意です。
ですが、なにか事情があるのでしょう。
とやかく言うつもりはなく、深入りはしません。
0797デフォルトの名無しさん
2013/03/03(日) 23:58:20.29DrawRotated
0798デフォルトの名無しさん
2013/03/04(月) 00:10:24.280799デフォルトの名無しさん
2013/03/04(月) 00:39:58.420800デフォルトの名無しさん
2013/03/04(月) 00:42:13.110801デフォルトの名無しさん
2013/03/04(月) 00:45:48.06draw(Point p, Matrix m)
0802デフォルトの名無しさん
2013/03/05(火) 13:41:12.20selectBtnIsClicked
でしょうか?
0803デフォルトの名無しさん
2013/03/05(火) 14:14:35.480804デフォルトの名無しさん
2013/03/05(火) 14:15:46.36クリック対象が選択ボタンだけならclicked
他にもボタンがあるならselectButtonClicked
構造体やクラスが使えるならselectButton.clicked
0805802
2013/03/05(火) 14:43:01.410806デフォルトの名無しさん
2013/03/05(火) 14:52:27.76ボタンをbtnとするような略をみると脳内で「のわああ!!!!」ってなる。
今まで何度もこうなったし、今後死ぬまであと何度そうならなきゃいけないのかビクビクしてる。
変数名をヘタにケチって、一体何がどうなるというのだ!!!
0807802
2013/03/05(火) 15:12:21.27おっしゃられるその通りです。
昔の慣習が染み付いていて
略語を現在でも結構使ってしまっています。
0808デフォルトの名無しさん
2013/03/05(火) 19:53:08.91ものを使うの止めた方がいいんじゃないの?
本当にフラグ変数なんか使わなきゃならないような世界ならクリックじゃなくて
ダウン/アップでしょ。
bSelectKeyUpとかbSelectKeyDownとかそんな感じ。
0809デフォルトの名無しさん
2013/03/05(火) 20:13:39.73用途によってはup/downと等価ではなくなるね。
0810デフォルトの名無しさん
2013/03/06(水) 00:49:53.09> そもそもフラグ変数なんていう
> 前時代的なものを使うの止めた方がいいんじゃないの?
プログラミングに関してはスレ違いだけど
使えばなんだかんだで何にでも応用が効くプログラミングが可能
使わないと
フラグ変数を前時代的などと言ってしまう
勘違いプログラマが考えるようなプログラミングを強制されるだろうね
0811デフォルトの名無しさん
2013/03/06(水) 00:59:04.32物を知らなすぎる
虚栄を貼りたいお年ごろの駆け出しプログラマ感丸出しで
初々しい
0812デフォルトの名無しさん
2013/03/06(水) 01:08:10.26失せろゴミ
0813デフォルトの名無しさん
2013/03/06(水) 11:49:07.720814デフォルトの名無しさん
2013/03/06(水) 12:41:55.640815デフォルトの名無しさん
2013/03/06(水) 14:21:54.97死ねゴミ
0816デフォルトの名無しさん
2013/03/06(水) 14:27:35.61死ねゴミ
0817デフォルトの名無しさん
2013/03/06(水) 18:51:19.06表示/非表示を切り替えれる機能を付加した ItemEx の名前が思いつかない
なんかいいアイデアない?
0818デフォルトの名無しさん
2013/03/06(水) 18:56:00.130819デフォルトの名無しさん
2013/03/06(水) 19:09:23.12それ例だから気にしないで
0820デフォルトの名無しさん
2013/03/06(水) 19:22:09.82表示/非表示を切り替えられる機能って何?
単にフラグがあるだけ?描画までするの?
0821デフォルトの名無しさん
2013/03/06(水) 19:29:09.56Itemの時点で何者かわからんから無理
0822デフォルトの名無しさん
2013/03/06(水) 19:53:23.63TogglableItem
0823デフォルトの名無しさん
2013/03/06(水) 20:08:17.12>クリックをダウンorアップとかいってる時点で
馬鹿だろお前。
そんなこと言ってない。
0824デフォルトの名無しさん
2013/03/06(水) 20:11:15.96だから、「表示/非表示を切り替えれる機能を付加した」なんて情報をベースに
名前を付けたってだいたいろくな名前にならない。
これ毎度毎度このスレで言われてること。
0825デフォルトの名無しさん
2013/03/06(水) 20:18:45.020826デフォルトの名無しさん
2013/03/06(水) 20:21:13.78失せろゴミ
0827デフォルトの名無しさん
2013/03/06(水) 20:27:54.21サンキュー
0828デフォルトの名無しさん
2013/03/06(水) 20:29:37.67ごもっとも
0829デフォルトの名無しさん
2013/03/06(水) 22:27:20.000830デフォルトの名無しさん
2013/03/07(木) 11:57:53.37Modelとviewが混じってるようなイヤナ予感するよなw
0831デフォルトの名無しさん
2013/03/07(木) 12:19:23.42Item って例が悪かったと思ってる
表示/非表示の設定できないコントロールがあると思ってくれればいいよ
0832デフォルトの名無しさん
2013/03/07(木) 17:42:08.96Map<Control, bool>の変数一個でまかなえないの?とも、
コントロールを所有してるやつのレベルでなんかを切り替えるメソッドを公開し、
その裏でチョコチョコうごくうちの一つとして、それらのvisibleを管理してやりゃ十分って肝。
0833デフォルトの名無しさん
2013/03/07(木) 19:26:06.15うん。だから外から管理するようにした
いい名前が浮かばないときは設計が悪いって身にしみたよ
0834デフォルトの名無しさん
2013/03/07(木) 20:09:33.92あるあるw
0835デフォルトの名無しさん
2013/03/09(土) 17:24:42.50「Converter By C」
「Converter With C」
『手法』は by を用いるとの事なので 「Converter By C」 が正しいのかな
と思いつつ
プログラミング言語は『道具』でもあるわけで
「Converter With C」なのか?と頭の中でループ中
0836デフォルトの名無しさん
2013/03/09(土) 17:30:14.870837デフォルトの名無しさん
2013/03/09(土) 17:43:20.38『C言語を用いた変換機』は日本語としてもちょっとおかしい。
普通は『C言語で書かれた変換機』とかでしょう。
つまり "a converter written in C"
0838デフォルトの名無しさん
2013/03/09(土) 18:01:18.590839デフォルトの名無しさん
2013/03/09(土) 18:05:15.340840デフォルトの名無しさん
2013/03/09(土) 18:58:23.300841デフォルトの名無しさん
2013/03/10(日) 00:21:39.84英語はモノの関係がはっきりしていたら、日本語のように曖昧な関係を書けない
くどい説明を考えてみたらいいね
「これは、C言語で書かれ、コンパイルされた何かしらのコンバータである」
>>837が正解だね
0842デフォルトの名無しさん
2013/03/10(日) 00:23:49.29「in 〜」だけで「〜語で」って意味になる
written があっても別にいいけど
0843デフォルトの名無しさん
2013/03/10(日) 00:47:39.46それじゃ「Cの中の変換機」。
そもそも"in C"は副詞句だと思われるから修飾するのは普通動詞でしょう。
0844デフォルトの名無しさん
2013/03/10(日) 00:55:42.840845デフォルトの名無しさん
2013/03/10(日) 01:03:44.740846デフォルトの名無しさん
2013/03/10(日) 01:06:02.39ググれば普通に出てくる表現だぞ
0847デフォルトの名無しさん
2013/03/10(日) 01:06:59.23では具体的にどうぞ
0848デフォルトの名無しさん
2013/03/10(日) 01:10:26.08ttps://www.google.co.jp/search?q=%22converter+in+C%22
0849デフォルトの名無しさん
2013/03/10(日) 01:13:22.850850デフォルトの名無しさん
2013/03/10(日) 01:13:39.850851デフォルトの名無しさん
2013/03/10(日) 01:17:08.76"in C"が副詞句以外の用法で使われている具体例を出せと言ってるのに
得意げに検索結果を出して何の意味があるのか全然理解できない。
0852デフォルトの名無しさん
2013/03/10(日) 01:18:29.550853デフォルトの名無しさん
2013/03/10(日) 01:19:38.830854デフォルトの名無しさん
2013/03/10(日) 01:20:55.74Currency converter in C とか
いくらでも検索に引っかかってんじゃん
0855デフォルトの名無しさん
2013/03/10(日) 01:22:36.290856デフォルトの名無しさん
2013/03/10(日) 01:22:42.37そんなのは文字通り文脈に依存した書き方なわけでいつでも使えるわけじゃない。
0857デフォルトの名無しさん
2013/03/10(日) 01:24:13.470858デフォルトの名無しさん
2013/03/10(日) 01:25:28.48だからそれはwrittenとかdeveloppedが省略されているだけ。
省略できるかどうか(読み手がそれを省略と理解できるかどうか)は文脈に依存するわけで、
文脈自由にそんな書き方が出来るわけがない。
0859デフォルトの名無しさん
2013/03/10(日) 01:27:18.76その状態で in C と言えば C 言語以外の何者でもないだろう
0860デフォルトの名無しさん
2013/03/10(日) 01:28:32.23ある特定、あるいは不特定のコンバータではなく、総称としての名称に付けられているな
冠詞や不定冠詞が付くような名称であれば明確にした方がいいんでない?
>>835が何のコンバータを示しているのか分からんけど
0861デフォルトの名無しさん
2013/03/10(日) 01:32:17.43>>843
こういう指向回路の人が他人には読解不能なコードを量産してるんだろうな。
曰く「それぐらいわかるだろ?」
わからねえってw
0862デフォルトの名無しさん
2013/03/10(日) 01:32:39.35結局Converter in Cでいいわけか
0863デフォルトの名無しさん
2013/03/10(日) 01:38:23.220864デフォルトの名無しさん
2013/03/10(日) 01:41:35.60もちろん日本語だって正確に使える奴は実は少ないわけで、
質問者には悪いけど仕事仲間が「C言語を用いた変換機」みたいな日本語に
何も疑問を感じないレベルなら、そりゃ恐らく何の問題もない。
0865デフォルトの名無しさん
2013/03/10(日) 01:43:19.170866デフォルトの名無しさん
2013/03/10(日) 01:45:45.60ttps://www.google.co.jp/search?q=%22codes+in+C%22
0867デフォルトの名無しさん
2013/03/10(日) 01:59:51.12副詞句でないとと言ってるアホがいるが、
プログラムの世界では「〜による」という形容詞句で普通に使われる
0868デフォルトの名無しさん
2013/03/10(日) 02:02:21.43だから、一つでも具体例を出したら?
0869デフォルトの名無しさん
2013/03/10(日) 02:04:18.55Numerical Recipes in C
0870デフォルトの名無しさん
2013/03/10(日) 02:07:26.670871デフォルトの名無しさん
2013/03/10(日) 02:08:12.090872デフォルトの名無しさん
2013/03/10(日) 02:08:24.890873デフォルトの名無しさん
2013/03/10(日) 02:14:11.66急に黙ってワロタ
0874デフォルトの名無しさん
2013/03/10(日) 02:20:11.59だからそれはwrittenが省略されてるだけ。
その場合はほぼ確実にそう推測可能だから良いが、いつでもそうじゃない。
0875デフォルトの名無しさん
2013/03/10(日) 02:24:05.540876デフォルトの名無しさん
2013/03/10(日) 02:24:58.300877デフォルトの名無しさん
2013/03/10(日) 02:25:15.640878デフォルトの名無しさん
2013/03/10(日) 02:31:30.640879デフォルトの名無しさん
2013/03/10(日) 03:51:21.76今思いついたが、"Numerical Recipes in C"は、writtenが省略されているという以外の
別の解釈も可能だとは思う。
それは、例えば"reading skill in English"のinの用法と同じだという解釈。
つまりこの解釈で直訳すると「Cにおける数値(解析)のレシピ」
どっちの解釈がより正しいのか正直よく分からないが、いずれにせよこちらのinの用法は
>>835には使えない。
0880デフォルトの名無しさん
2013/03/10(日) 03:54:54.950881デフォルトの名無しさん
2013/03/10(日) 04:54:00.25「〜 in C」は「C(言語)による〜」と訳すことができる
「by C」なら「C言語によって変換機」語訳はともかく、変換機を作ったのはC言語じゃない。プログラマだ
「with C」なら「C言語と共の変換機」C言語と共に歩んできた変換機?
0882デフォルトの名無しさん
2013/03/10(日) 06:41:27.64バカの壁君に隙を見せてはいけない
0883デフォルトの名無しさん
2013/03/10(日) 10:33:38.13レシピがC言語で書かれているという意味ではない。
converter in C はconverterがCで書かれているというよりも
yaccやlexのようなC言語による記述を支援するためのコンバータな印象を受ける。
0884デフォルトの名無しさん
2013/03/10(日) 11:05:21.39converter implemented by C だから、ニュアンス1個抜けてるやん
0885デフォルトの名無しさん
2013/03/10(日) 11:06:17.54w/ ってトイレにしたかっただけ?
0886デフォルトの名無しさん
2013/03/10(日) 11:33:48.590887835
2013/03/10(日) 12:10:58.11みなさんのご意見どれもとても参考になりました
ありがとうございました
0888デフォルトの名無しさん
2013/03/10(日) 13:24:59.29前半、まあそうかもしれない。
つまり
"Numerical Recipes in C"
は
"numerical recipes in programming with C"
と解釈する方が正しいかもしれない。
どっちにしろ、少なくとも>>835の意図する意味で"converter in C"とは書けない。
0889デフォルトの名無しさん
2013/03/10(日) 14:27:07.330890デフォルトの名無しさん
2013/03/10(日) 16:32:16.490891デフォルトの名無しさん
2013/03/12(火) 12:58:28.690892デフォルトの名無しさん
2013/03/12(火) 13:45:19.760893デフォルトの名無しさん
2013/03/12(火) 14:01:05.420894デフォルトの名無しさん
2013/03/12(火) 14:26:03.84改行コードを第1引数で指定できるなら
RegularizeLineFeedTo()
ちょっと意味合いが違うかな??
0895デフォルトの名無しさん
2013/03/12(火) 15:17:31.790896デフォルトの名無しさん
2013/03/12(火) 16:04:22.450897デフォルトの名無しさん
2013/03/12(火) 16:12:40.270898デフォルトの名無しさん
2013/03/12(火) 17:51:32.040899デフォルトの名無しさん
2013/03/12(火) 18:08:49.43どうもprivateメソッドで十分に見えるし、そうなら、__normalize(String raw)にして、
改行だけじゃなくてほかのことも一緒にするわ。漢字コードとか。
0900デフォルトの名無しさん
2013/03/12(火) 18:48:15.11privateはありえない
0901デフォルトの名無しさん
2013/03/12(火) 19:02:23.38入力直後付近や出力直前でケアすりゃ十分に見えちゃうけどな。
0902デフォルトの名無しさん
2013/03/12(火) 19:03:24.84俺なら「NormalizeNewline"s"」にしているだろうが、この複数形は合っているんだろうか
0903デフォルトの名無しさん
2013/03/12(火) 21:09:58.28fixの方が適切だと思う。
あとはsanitizeとかuniformとかもあるけど、やっぱりfixが短くていいな
0904デフォルトの名無しさん
2013/03/12(火) 21:31:23.800905デフォルトの名無しさん
2013/03/12(火) 21:36:56.800906デフォルトの名無しさん
2013/03/12(火) 22:14:54.340907デフォルトの名無しさん
2013/03/12(火) 23:32:12.740908デフォルトの名無しさん
2013/03/12(火) 23:37:01.630909デフォルトの名無しさん
2013/03/12(火) 23:42:03.39辞書ぐらい引こうよ。生きてるうちに
0910デフォルトの名無しさん
2013/03/12(火) 23:43:51.15〜を均一[同一・同型・一様・同様]にする、そろえる、等しくする
〜にユニフォーム[制服]を着せる
0911デフォルトの名無しさん
2013/03/12(火) 23:48:10.230912デフォルトの名無しさん
2013/03/12(火) 23:53:15.640913デフォルトの名無しさん
2013/03/13(水) 00:28:54.520914デフォルトの名無しさん
2013/03/13(水) 00:36:01.69よりどりみどりだな
0915デフォルトの名無しさん
2013/03/18(月) 15:40:01.21変数の中には odd か even が入る予定です。
0916デフォルトの名無しさん
2013/03/18(月) 15:40:54.360917デフォルトの名無しさん
2013/03/18(月) 15:47:06.68まさにその意味です。ありがとうございます。
0918デフォルトの名無しさん
2013/03/18(月) 15:54:35.560919デフォルトの名無しさん
2013/03/18(月) 16:24:48.95ほんとうにほんとうにどうも有難うございました。
0920デフォルトの名無しさん
2013/03/18(月) 16:58:54.510921デフォルトの名無しさん
2013/03/18(月) 17:46:58.61上下、左右、上下左右、東西、南北、東西南北、前後。
けっきょく人類は、それらをくっつけただけで総称しているようだが…。
むかしこれ考えようとして何一つ良いの思い浮かばなかった。
0922デフォルトの名無しさん
2013/03/18(月) 17:48:02.810923デフォルトの名無しさん
2013/03/18(月) 18:26:28.88上下左右は方向だな
0924デフォルトの名無しさん
2013/03/18(月) 18:33:47.08天才キタコレ。
というかひょっとして俺がドアホなだけだたのかorz
0925デフォルトの名無しさん
2013/03/18(月) 19:18:38.020926デフォルトの名無しさん
2013/03/18(月) 19:24:46.07具体的に言うのなら、以下のxxxに良い名前当てはめれる人いる?ってこと。
enum xxx {LEFT, RIGHT};
enum xxx {UP, DOWN};
enum directions {LEFT, RIGHT, UP, DOWN};
0927デフォルトの名無しさん
2013/03/18(月) 19:29:45.14directionLRとかUDにするかなぁ。
0928デフォルトの名無しさん
2013/03/18(月) 19:30:32.06y directions
0929デフォルトの名無しさん
2013/03/18(月) 19:36:42.45directionV
0930デフォルトの名無しさん
2013/03/18(月) 19:49:08.49Directions.North ←一見ほどよく抽象的だが、日本語で言う方角と方向を使い分けれない?
NSEW.North ←簡潔にして十分?
0931デフォルトの名無しさん
2013/03/18(月) 20:36:45.32全方向については >>926 を見る限り directions で解決してるっぽいが
0932デフォルトの名無しさん
2013/03/18(月) 20:45:11.140933デフォルトの名無しさん
2013/03/18(月) 21:37:16.170934926
2013/03/19(火) 09:09:13.95ありがたく参考にさせてもらいます。
0935デフォルトの名無しさん
2013/03/19(火) 09:30:51.070936デフォルトの名無しさん
2013/03/19(火) 15:18:51.190937デフォルトの名無しさん
2013/03/19(火) 16:20:32.810938デフォルトの名無しさん
2013/03/19(火) 21:03:08.00自分で考えろゴミww
0939デフォルトの名無しさん
2013/03/19(火) 21:39:17.650940デフォルトの名無しさん
2013/03/19(火) 21:59:14.240941デフォルトの名無しさん
2013/03/19(火) 22:20:43.640942デフォルトの名無しさん
2013/03/19(火) 22:31:26.830943デフォルトの名無しさん
2013/03/19(火) 22:33:02.410944デフォルトの名無しさん
2013/03/20(水) 12:30:05.45向き(横向き、縦向き、など)は orientation
方位角は azimuth
0945デフォルトの名無しさん
2013/03/20(水) 13:20:35.44縦長がportrait(肖像画)
横長がlandscape(風景画)
やっぱり美術分野で長い伝統がある用語なんだろか。
0946デフォルトの名無しさん
2013/03/20(水) 13:54:30.710947デフォルトの名無しさん
2013/03/20(水) 16:04:02.100948デフォルトの名無しさん
2013/03/21(木) 14:40:34.63姿勢がorientation
カメラがある方向を向いているとする
そのカメラはどんな状態でその方向を向いているだろうか
90度回転させて、横に撮ることもできるし、地面が上にあるように撮ることもできる
どの方向を向いて、その方向を軸にどれだけ回転させるのか、これが「姿勢」である
「方向」にはその回転量が含まれないので、例えば頭がどの方向を向いているかが分からない
0949デフォルトの名無しさん
2013/03/21(木) 17:37:25.390950デフォルトの名無しさん
2013/03/21(木) 18:12:18.14Matrix#CreateLookAtのcameraUpVectorみたいな話?>姿勢
public static void CreateLookAt (
ref Vector3 cameraPosition,
ref Vector3 cameraTarget,
ref Vector3 cameraUpVector,
out Matrix result
)
0951デフォルトの名無しさん
2013/03/21(木) 18:13:07.02Matrix.CreateLookAt でよかったね。
0952デフォルトの名無しさん
2013/03/21(木) 18:15:21.900953デフォルトの名無しさん
2013/03/21(木) 18:51:09.230954デフォルトの名無しさん
2013/03/21(木) 21:14:35.970955デフォルトの名無しさん
2013/03/21(木) 23:15:21.63方向:GetNormalized(cameraTarget - cameraPosition)
姿勢:CreateLookAt()のresult
方向はVector3で現すことができるが、姿勢はMatrixかQuaternionが必要になる(3D話)
0956デフォルトの名無しさん
2013/03/22(金) 00:36:33.380957デフォルトの名無しさん
2013/03/22(金) 20:00:44.210958デフォルトの名無しさん
2013/03/22(金) 21:13:08.050959デフォルトの名無しさん
2013/03/22(金) 21:15:02.830960デフォルトの名無しさん
2013/03/23(土) 05:47:10.05cameraTarget - cameraPosition を正規化したものが視線方向のベクトル
cameraUpVector は頭方向のベクトル
CreateLookAt()は、視線方向のベクトルと頭方向のベクトルから、姿勢行列を作る関数
方向と姿勢の違いがお解かりか?宜しいか?
0961デフォルトの名無しさん
2013/03/25(月) 22:56:52.690962デフォルトの名無しさん
2013/03/25(月) 23:07:07.950963デフォルトの名無しさん
2013/03/25(月) 23:18:39.65破壊可能か?: isDestructible isRemovable isCleanable isClearable isFreeable...
破壊する: destroy remove clean clear free delete release shift eliminate
0964デフォルトの名無しさん
2013/03/25(月) 23:23:50.81| |
| |
| >>1.|
| の |
,,,. | 墓 | ,'"';,
、''゙゙;、). | | 、''゙゙;、),、
゙''!リ'' i二二二二!゙''l!リ'''゙
‖ `i二二二!´ ‖
昌 |: ̄ ̄ ̄ ̄:| 昌
| ̄:|_|;;;l"二二゙゙l;;|_| ̄:| チーン
| :|::::::| |;;;;;;;;;;| |::::| :|
| :|::::::|┌─┐|::::| :|
./゙゙└‐┴ ┴l,,,,,,,,,,l┴┴‐┘゙゙゙゙\
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 ̄|三|三三|三三三三|三三|三| ̄
| |::: |: : : : |:: | |
| |::: |: : : : |:: | |
/_|::: |: : : :.|:: :|_ヽ
_|___|;;;;;;;;;;|,;,;,,,,,,,,,,,,,,,;,;,|;;;;;;;;;;|___|_
l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;l
0965デフォルトの名無しさん
2013/03/25(月) 23:48:27.170966デフォルトの名無しさん
2013/03/27(水) 06:42:43.430967デフォルトの名無しさん
2013/03/27(水) 07:12:39.130968デフォルトの名無しさん
2013/03/27(水) 08:01:29.200969デフォルトの名無しさん
2013/03/28(木) 17:32:06.180970デフォルトの名無しさん
2013/04/01(月) 05:04:15.330971デフォルトの名無しさん
2013/04/01(月) 05:07:09.060972デフォルトの名無しさん
2013/04/01(月) 10:27:28.81check, validate, equal_or_greater, equal_or_higher
0973デフォルトの名無しさん
2013/04/01(月) 12:24:30.810974デフォルトの名無しさん
2013/04/01(月) 19:37:24.40悪いけど提示してる条件にセンスの無さが出ちゃってる。
そういう関数の名前を付けるときに重要になるのは、それが「一定以上の値か調べる」
ものであるなんて情報じゃない。
重要なのは、その比べる対象である閾値が何であるかだ。
0975デフォルトの名無しさん
2013/04/01(月) 20:16:20.420976デフォルトの名無しさん
2013/04/01(月) 22:34:05.88バカの壁
0977デフォルトの名無しさん
2013/04/01(月) 23:23:07.24たとえば
ある変数がある値以上だったらある文字列が編集可能である
という条件だったら
isEditable
にしたりするのであって、
具体的に何が実現されるのかやどういう状態なのかを変数名にしなきゃいけない。
「一定以上」だとか未満だとかよりも大切な情報があるはずだってことでしょ。
0978デフォルトの名無しさん
2013/04/01(月) 23:59:55.900979デフォルトの名無しさん
2013/04/02(火) 05:08:46.76>
0980デフォルトの名無しさん
2013/04/02(火) 05:09:33.400981デフォルトの名無しさん
2013/04/02(火) 07:01:37.33初めからそう言えばいいのに、
なんでわざわざ「センスの無さ」なんて余計なこと言うの?
気づかない間に人を傷つけてるよ
そういう性格なら、もうどうしようも無いから仕方ないけど
0983デフォルトの名無しさん
2013/04/02(火) 07:15:32.880984デフォルトの名無しさん
2013/04/02(火) 10:09:15.14上手く抽象化出来ない、あるいはしないほうが良い場合もあるよなー。
そういう時どうしてる?
内部用なんだから関数名なんか気にする必要ないじゃん!と言われればそれまでなんだけども。
>>980
次スレお願いしてもいい?
0985デフォルトの名無しさん
2013/04/02(火) 12:28:20.53ごめん、スレ立て無理ぽ…
>>986 に頼む!
0986デフォルトの名無しさん
2013/04/02(火) 12:56:27.930987デフォルトの名無しさん
2013/04/02(火) 13:01:15.86http://toro.2ch.net/test/read.cgi/tech/1364875204/
0988デフォルトの名無しさん
2013/04/02(火) 18:59:43.49別人です まぎらわしかったか
内部用というかほんの一時的な処理に使うだけの変数は、きちんとした名前をつけると、
なにか重要なことに使ってるような誤解を与えかねないから、適当につけてる。
hogeCountとかsplitedFooとか。
あとこまかいところのコードをいじるのはたぶん重大なインシデントがある時だと思うから、
わかり辛い箇所なら、変数名よりもコメントに労力を割くべきだと思ってる
0989デフォルトの名無しさん
2013/04/02(火) 20:29:03.50わざと適当に付ける、か。
なるほどそういう考え方もあるのか。
>>987
おつー
0990デフォルトの名無しさん
2013/04/02(火) 22:02:17.13何が良いでしょうか
struct ????? {
const char * p_path;
size_t size;
};
FileDescriber では少し意味が曖昧な気がします。
何というか、ディレクトリツリーという一つの大きな入れ物の中で、
あるファイルはここからここまでの範囲にあるという事を示すイメージです。
p_path で先頭ポインタを指し、size で大きさを示す、みたいな。
0991デフォルトの名無しさん
2013/04/02(火) 22:14:39.11ファイルを複数選択するイメージなら Item
0992990
2013/04/02(火) 22:23:57.49ありがとうございます。
しかし、Item も Describer と同じように、
今回の要求に対しては懐が広すぎる感があります。
どのようなファイルかという情報はまったく無いです。
単にファイルの位置と大きさという2の情報を格納するだけです。
たとえば後で、この構造体にファイル拡張子の情報も入れようとか、
そんなことはありません(むしろ入れてはいけない)。
これがもしファイルではなく幾何学的な空間を表しているなら、
Range とか Region などと名付けたいところです。
0993デフォルトの名無しさん
2013/04/02(火) 22:39:40.30だったら path_and_size
0994デフォルトの名無しさん
2013/04/02(火) 22:41:56.93| |
| |
| >>1.|
| の |
,,,. | 墓 | ,'"';,
、''゙゙;、). | | 、''゙゙;、),、
゙''!リ'' i二二二二!゙''l!リ'''゙
‖ `i二二二!´ ‖
昌 |: ̄ ̄ ̄ ̄:| 昌
| ̄:|_|;;;l"二二゙゙l;;|_| ̄:| チーン
| :|::::::| |;;;;;;;;;;| |::::| :|
| :|::::::|┌─┐|::::| :|
./゙゙└‐┴ ┴l,,,,,,,,,,l┴┴‐┘゙゙゙゙\
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 ̄|三|三三|三三三三|三三|三| ̄
| |::: |: : : : |:: | |
| |::: |: : : : |:: | |
/_|::: |: : : :.|:: :|_ヽ
_|___|;;;;;;;;;;|,;,;,,,,,,,,,,,,,,,;,;,|;;;;;;;;;;|___|_
l;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;l
0995デフォルトの名無しさん
2013/04/02(火) 22:49:16.50その「ファイル」っていうのは俺様用語?
同じ値をパスって言ったり位置って言ったりもそうだが、それ以外にも
全体的に何を言ってるのかよくわからない。
0996990
2013/04/02(火) 22:56:28.71いえ、ファイルは Linux や Windows などの普通のファイルです。
>>992 でパスの事を位置と言ったのは、
その後の「もしファイルではなく幾何学的な空間を表しているなら」
という喩えを理解していただけるようにと、伏線を張っただけで、
同じ意味です。
> 全体的に何を言ってるのかよくわからない。
最初に言いましたが、ファイルのパスとサイズを格納する構造体の名前を考えています。
すいません、どの辺りが分かりにくいでしょうか。
できる限り詳しく説明したいと思います。
0997デフォルトの名無しさん
2013/04/02(火) 23:02:57.180998デフォルトの名無しさん
2013/04/02(火) 23:05:11.23それならFileじゃだめなのか?
0999デフォルトの名無しさん
2013/04/02(火) 23:09:34.70いつでもファイルシステムから取得できるはずのサイズを、なぜあえてパスと一緒に
構造体にキャッシュしておきたいのか、そのあたりの動機を説明しないと
適切な命名は難しいと思う
1000デフォルトの名無しさん
2013/04/02(火) 23:10:48.1810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。