クラス名・変数名に迷ったら書き込むスレ。Part18
1 :
デフォルトの名無しさん :
2010/06/20(日) 15:56:22 クラス名、変数名のつけ方に悩んだら書き込むスレです。
質問する人は、その変数に何を格納するのか(クラスだったらその役割)
プログラミング言語は何なのかを、それぞれ書いて、
いい変数名を思いついた人は、それに答えてあげましょう。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part17
http://pc12.2ch.net/test/read.cgi/tech/1268053104/ >>2 英和・和英・英英など各国語辞書と翻訳サイト。類義語(シソーラス)辞書、図形・数式・数学用語の英単語。
>>3 関連スレと、いろいろな言語規約。
>>2-10 諸事情によりリンクがずれた場合。
2 :
デフォルトの名無しさん :2010/06/20(日) 15:57:46
3 :
デフォルトの名無しさん :2010/06/20(日) 15:58:50
ゲームのシーンを表すクラスの中でさらに細かく場面を分類するばあいどんな名前にしますか? 例えば SLGシーン 自軍が移動する場面 敵軍が移動する場面 自軍が攻撃する場面 敵軍が攻撃する場面 みたいなかんじです フェーズがいいかなと思ってるんですがもっと適切な名前あったりしますかね
SCENE0001 SCENE0002 SCENE0003 SCENE0004 SCENE0005
>>4 TurnとPhaseってのがよく使われる、ようなきがする
Scene Scene::MyMove Scene::EnemyMove Scene::MyAttack Scene::EnemyAttack
>>4 S0001
S0002
S0003
S0004
S0005
自分なら階層化したいな。
GetItemForターゲットが見つかるまで この”ターゲットが見つかるまで”を英語で表すにはどうしたらよいのでしょうか?
FindingTarget GetItemInFindingTarget 「ターゲット」を明確にしたいなあ
! GetItemForターゲットが見つかった
>>11 get item until target found
しかしどういう動作をする処理なのかよくわからん。
何らかのリストの頭から指定のアイテムが見つかるところまでにあるアイテムをリストとして取り出す
とか?
関数の主目的ってさ、ターゲットの項目を探すこと? それとも項目リストを得ること? 前者なら、GetItem(target) みたいな名前になりそう。 後者なら、GetList(trailingItem) みたいになるんじゃなかろうか。 英語自体は適当なんで、命名センスのある人に任せるが。
>>14 Keyとなる項目(ターゲット)が見つかるまでソースを走査して抽出するという関数です
GetItemForよりも
GetItemInのほうがいいのかな?
OfとかForとかInとかの区別がよくわからない…
>>15 GetItemに複数のバージョンがありまして
クラス内メソッドであればoverloadでGetItem(target), GetItem(strTarget)...と出来るのですが
クラスで目的を分けているのでGetItem〜としたかったのです
>>12 GetItemInFindingTarget
もらいますた
ちなmにTargetを指定しない時はGetItemInAllでいいのかな?
英語難しい…
追記 こんな感じで呼び出すクラスの命名をお尋ねしましたです GetItemInFindingTarget.Execute(target); GetItemInAll.Execute();
なにもかにもが間違っとる。
Java風にいくとForじゃなくてInだな。
GetItemInFoundTargetな気がするけどFランの俺が間違ってるんだろうなorz
>>16 GetItemInとか要らんと思うよ。
そもそもget item in finding targetって英文は日本語に訳せるのか?w
っていうか、自分で「走査」って言ってるじゃん。
なぜそれをそのまま英訳しないの?
シンプルにScanTargtとかSeekTargetで必要十分だろ
Findでいいじゃん、と思うんだけど、使い方がなんかすごく気持ち悪いな。 どういう構成になってんだろ
GetItemInFindingTargetでもいいと思うけどな
>>11 と
>>14 をみるからに同一のItemを取得するクラスがあってそれぞれ引数が違う
その引数をクラス名に付けたいって事でしょ?
100人中100人が納得するネーミングってあるんだろうか・・・
あんまり言い過ぎると設計の話になるしなぁ…
設計の話になると実装の話になる 実装の話になると言語の話になり 言語の話になると宗教の話になる
メソッド名なんだが、これはいつも悩みすぎてるんだが。 Foo.copy(src, dst) と同じ機能を、 src.xxx(dst) で書き換えたい。適切な名前を思いつく猛者や、 定番の名前を知っている賢者は名乗り出てほしい。
copyto
ネタ? CopyTo 賢者てw
dsc.xxx(src) のxxxの方が知りたい
copy_to CopyTo 定番だな
CopyFrom
文字列のMD5を算出数するメソッドとファイルのMD5を算出するメソッドがあるんだが 名前どうしたらいい? 引数が両方とも文字列なんだ・・
md5FromString md5FromFile
MD5Encoder.Encode(string value) MD5Encoder.EncodeStream(string fileName)
メソッド名同じにして引数の型だけ変えたらダメなん?
>引数が両方とも文字列なんだ・・
40 :
29 :2010/07/04(日) 11:47:32
copytoてw そんなアホみたいな名前が嫌だったんで、 お前ら知らないか、と聞いたんだ。 先にcopyto以外で、と行っておくべきだったなハハハ。 といいつつ、Googleソースコード検索で検索すると、 copytoザクザクでてくるな…。定番だったのかな…。 アホは俺だったのかな…。
アホのお前にピッタリじゃん
うん、定番
なぜcopytoがアホっぽいのか、それが聞きたい
44 :
29 :2010/07/04(日) 19:37:01
俺も恥ずかしながら、かつてはcopytoと書いてたんだ。 synctoとかsyncfromとかも書いたことがある。 でも英語では copy exercise from the notebook ノートからその問題を写し取る copy exercise in the notebook ノートにその問題を写し取る という風になり、exercise.copyTo(notebook)はなんか不自然に思えた。 だから今はFoo.copy(exercise, notebook)というのに落ち着いてる。 どうかね皆の衆。
一瞬CopyInにしたいのかと思ってびっくりした
CopyByLeftToRight(src, dst); これが一番わかりやすい
インスタンスを主語に、メソッド名を動詞に、引数を目的語にして英語っぽく読めるように決めるもんじゃないの?
>>40 おまいみたいなのはいつでも痛いこと言うんだろうな
CopyInto とかでいいよもう
>>56 それ反論のつもり?
やっぱり馬鹿だな君は。
CopyToっていうのはインスタンスが目的語(まあ英語で言うとobjectなんだが)
だというふうに解釈するんだよ。
つまり、
source.CopyTo(target)
の意味は、
copy source to target
だ。
>>55 は
>>44 の
> という風になり、exercise.copyTo(notebook)はなんか不自然に思えた。
ってのを理解した上で
>>55 のURL貼ったならかなりのお馬鹿さんだな
意味が分からん。 理解した上で? お馬鹿の戯言なんかもちろん理解してないよ。
>>44 が何を言いたいのか分からずにレスするとは・・・
なら分かってる君が解説してみたら? まあ無理しなくていいよ
>>44 の言わんとすることが理解できない人がいるとはにわかには信じがたいんだが、
それを実現するための構文を想像するとちょっとない。
myclass::copy(src, dst)にするのも残念な感じがするわけで、src.copyto(dst)で十分だよと言い聞かせる
>>64 そのへん似たようなことやろうとして、
一見キモくなったのがRubyのテスティングフレームワークのRSpecだなw
ipad.name.should be_eql "iUnko"
とか
>>40 copyto でも mirrortoでもいいんじゃね。とにかく、「to」とか「in」をつけるか、
別の方法で引数に対して書き込みを行うことを想起させる名前が良い。
何でいいアイディアが出ないかといえば、
普通はdst.copy(src)とかした方が構造的にも文法的にもすっきりするからアクセス権的に考えて
67 :
29 :2010/07/05(月) 10:34:33
>>55 # present a copy to
〜に献本{けんぽん}する
# Send the copy to us.
《レ》私たちにコピーを送ってください。
どうみてもこれは名詞。
>>64 > myclass::copy(src, dst)にするのも残念な感じがするわけで、src.copyto(dst)で十分だよと言い聞かせる
そうそう、どうにも残念な感じがある。staticメソッドを使わされる不自由さがある。
>>66 dst.copy(src)にするくらいなら、copyto、copyfromを意地でも使いたい。
あ、読めてなかった。 > 普通はdst.copy(src)とかした方が構造的にも文法的にもすっきりするからアクセス権的に考えて 「to」とか「in」をつけずにそうしたほうが、 「構造的にも文法的にもすっきりするからアクセス権的に考えて」ってこと? もうちょっとkwsk
CopyFromかoperator=だな 逆向きは作ったこと無いな
>>68 名前の問題じゃなくて設計の問題だからスルーしていいよ
dst.copy(const src) みたいにしてsrc側にconst付けたいと思ったり、
dst側に余計なセッターとかメンバ変数のpublic化とかフレンド設定追加したくないと思っただけ
>>70 > dst.copy(const src) みたいにしてsrc側にconst付けたいと思ったり、
おおっ! なるほどなるほど。そういう意思表示は実用的だしスッキリしてる。
copy(const myclass &src) const; copy(myclass *dst) const; というのを作っておいて dst.copy(src); src.copy(&dst); こう使うと。 ありといえばありだけど、copyfrom copytoに慣れちゃったせいか違和感があるかも。
アプリケーションの設定画面でよく表示の設定ってありますよね。その表示の設定を 表すクラスのクラス名をよろしくお願いします。後、ついでにその設定で全般?一般の設定って ありますよね。そのクラス名もお願いします。
Display Generic
>>67 名詞とか何を訳のわかんないこと言ってるの。
肝心なこと(つまり君が理解すべきこと)は、CopyToってメソッドは
英語の"copy to 〜"という慣用句を意味してないってこと。
そうじゃなくて"copy A to B"を意味しているんだと言ってるでしょ。
なんでこのスレはこんな簡単なことがわかんない人が複数人いたりするのかね。
おまえら煽り耐性なさ過ぎだろ… それとも自演で盛り上げてるのか?
どうでもいい
/_ノ '' ⌒\ /( ● ) (● ) \ /::::::⌒, ゝ⌒:::: \ | `ー=-' | 君らみたいに口ばっかりだと \ / 大変だよね _!:,rヽ  ̄ /|, イ'''´ヽ___ ,-' ::::::::l|l .\ , -' | l: : : : : : : :  ̄ ̄~ ̄ヽ __, ー~ !:::::::::: ! ', /~ヽ、 | l,: : : : : : : : : : : : : : : ゝ、 .,-''": ::::,--‐'~:::::: ,' l, ハ:::::: /ヽ | !: : : : : : : : : : : : : |: : ヽ_ ,|::::::::::::::|:::::::::::::::::,′ ∨ ',ニ/ ヽ〉 ,|: : : : : : : : : : : : : : |: : : : : ヽ、 l:::::::::::::::|:::::::::::: ,' . / ヽ !: : : : : : : : : : : : |: : : : : : `ヽ、 !::::::::::: |::::::::::::::,l lーー-| l: : : : : : : : : : : : !: : : : : : : : : :
SmalltalkやVBならこうなんでしょ src.Copy(To: dest)
>>73 AppearanceSettings
DisplaySettings
>>75 copy toではなくcopy A to Bだろってのは最初っから分かってる話。
その上での
>>58 >>64 >>65 とかになるわけじゃん。
さらに、
>>67 では、CopyToメソッドはcopy to という慣用句を意味しないよ、
といってるわけで、なんでそれに対してそういう反応しちゃってんの?
わかってないのはお前だよ。言わせんな恥ずかしい
最初から分かってるか....
やっぱりお馬鹿の思考は理解の外だな。
>>56 っていうか、改めて
>>58 >>64 >>65 >>67 を読んでみたが、
とても「copy toではなくcopy A to Bだろってのは最初っから分かってる」
人間が語ってる文章には読めない。
>>73 です。ありがとうございます。Display以外にAppearanceってあったんですね。
これを使います。後、Genericを。
っていうか「名詞」って何だよw こんなトンチキなことを書く方も書く方だが、それを擁護しようとか思っちゃうって 頭どうかしてるんじゃないの本当。
プログラムを書いてる立場で自然ならそれでいいんだよ。 S V Oにならないなら無理にそうする必要はない。
日本語でおか
Foo::copy(src).to(dst); CopyOperation::CopyOperation(Foo *src) : src(src) {} void CopyOperation::to(Foo *dst) { src->value = dst->value; // copy } CopyOperation &Foo::copy(Foo *src) { return CopyOperation(src); } こういうのどう?
ギャグならそれでいいんじゃないの
#include <string> #include <iostream> class Foo { friend class CopyManipulation; public: class CopyManipulation { public: CopyManipulation::CopyManipulation(Foo *src) : src(src) {} void CopyManipulation::to(Foo *dst) {dst->value = src->value;} private: Foo *src; }; Foo::Foo(int value) : value(value) {} static CopyManipulation Foo::copy(Foo *src) {return CopyManipulation(src);} void Foo::print(std::ostream &out) {out << this << ':' << value << std::endl;} private: int value; }; int main() { Foo *src = new Foo(89), *dst = new Foo(97); src->print(std::cout); dst->print(std::cout); Foo::copy(src).to(dst); src->print(std::cout); dst->print(std::cout); return 0; }
>>72 copyfromとcopyto、両方同時に使ってるの?
>>83 君はまだ分からないのか
> という風になり、exercise.copyTo(notebook)はなんか不自然に思えた。
よーく見ろ、copy toが不自然だと書いてあるだろう?
copy toが不自然と言ってる相手に
>>55 のレスは不適切だと思わないかい?
>>56 はもしかすると勘違いをしただけかも知れないと擁護できるが、
>>83 はもはや擁護しようがない。再確認してもそう読み取れないんだよな?
釣れた釣れたって、今からでいいから言ってくれないか?
名詞って何だよ、には同意だが、それは論点をずらしてるだけだな。
94 :
93 :2010/07/05(月) 22:31:51
抽象クラスを継承して多態的に運用する場合 class HogeBase class HogeImpl :public HogeBase という感じに〜Baseと命名していくと なんでもかんでも〜Baseという形になって逆にくどいと言うか分かりにくくなるような気がします 基底クラスと派生クラスの命名の関係をどうしたらすっきりするでしょうか?
!?
>>91 を読んでさらにひらめいた。
void CopyManipulation::to(Foo *second) {second->value = first->value;}
void CopyManipulation::from(Foo *second) {first->value = second->value;}
static CopyManipulation Foo::copy(Foo *first) {return CopyManipulation(first);}
これで、
Foo::copy(foo).to(bar);
Foo::copy(bar).from(foo);
自由自在。
>>92-93 まともに議論したいのなら、とりあえず何が言いたいのかまず明確にしてくれ。
何がいいたいのかさっぱり分からん真面目な話。
なぜそんな奥歯に物がはさまったような言い方しか出来ないの?
>>96 なんでconst参照じゃなくしたのかを問いたい。と思ったけどいいやw
というか、まさにcopytoが不自然だと言ってるから、
バカなそんな筈はないだろう、という意味で
>>55 を提示してるんだけど...
copytoの一体全体何が不自然なんだ?
言っちゃ悪いがテメエ自身の考え方の方なんだよ不自然なのは。
>>95 Implがいかん。どういう実装かによって名前を変えれ
なんだよぽまえら、VBとSmalltalkは無視かよ
>>95 Javaなら抽象クラスはAbstract〜担ってる場合が多い。
インタフェースに一番スッキリした名前を与えて、
public interface Map
public abstract class AbstractMap implements Map
public class HashMap extends AbstractMap
みたいな関係になってるのをよく見る。
Base <-> Impl とか、IFoo <-> FooImpl
みたいな窮屈な関係じゃない。
そんな一対一の関係が出てくるのは不自然だと思う。
インタフェースは特定の実装型を想定しないし、
実装型も、ひとつのインタフェースに固執してしまったり、
一つのインタフェースを実装するだけで十分だったりはしないだろう。
>>97 >>44 A copy to Bじゃなくてcopy A to B なんだからA.CopyTo(B)はやめてcopy (a, b)にしてる
>>55 A copy to Bでいいんだよ低脳www
>>56 ちょ、それ copy 〜 to が混ざってるし。copy toの結果見てみ
>>58 A.CopyTo(B)が A copy to B と異なるから違和感だって言ってんのに
>>55 どうした?
>>64 >>44 気持ちは分かるが、staticメソッド作んないといけないのが残念だからCopyToで我慢しろ
>>65 rubyならipad.name.should be_eql "iUnko"とかあるぜwきめえww
>>67 >>55 copy to はちげえよ。(名詞?)
>>64 staticつくんのは残念だね。
>>66 コピー先.コピー(コピー元)は論外。
>>75 >>67 copy to と copy A to Bはちげえよ。なんで理解できないの?
>>82 >>75 おちつけ。みんなそこは理解できてる。
>>83 なんだ、分かってるのか。でも
>>58 >>64 >>65 >>67 は絶対理解できてない。
がんばって書いてみたぜ。
で、誰が理解できてないって?
コピペ君って馬鹿だな、って言われたいのかね。 もっとも、自分の言葉で主張を展開できないわけだから、馬鹿で間違ってないかw
>>95 Baseは別に悪かないと思うけど、継承した先がImplってのはおかしい。
Classをつけるのと同じくらいおかしい。
ちゃんと考えればHogeを継承してHugaを作れるようになるはずなのでがんばって。もしくはインタフェース。
日本語でおk
>>105 要約乙といいたいけど、copy toでいいと主張してるところってあるかな。
噛み付いてる人の主張がわからないからなんともいえないんだけど、
文章として成り立つようにコードを記述するという、きわめてメジャーな観点では
A.CopyTo(B)は違和感がある、とする多数派と、
A.CopyTo(B)と書いて copy A to Bと読むんだよ、とする少数派(もしかすると一人)が
いるように見える。
そうじゃないなら
>>106 は自分の言葉で主張してくれないか?
彼にとっては"copy to"が自然なんだろう "copy to"に一切違和感を覚えない相手に何を言っても無駄だろう
彼にとってってw 世界中で頻繁に使われて、かつそれを「不自然だ」などとのたまうのは お馬鹿な日本人の一部だけだと思うが。 マジで言ってるなら狂ってる。
>>75 でcopy toを否定してるから不思議なんだわ
A.CopyTo(B)が正解
うん
>>75 > 名詞とか何を訳のわかんないこと言ってるの。
ややこしくなりそうだから言いたくないけど…。
# present a copy to
〜に献本{けんぽん}する
# Send the copy to us.
《レ》私たちにコピーを送ってください。
これらはむしろ、present A to B(BにAを贈呈する)、
send A to B(AをBに送る)の話題であって、
ここで使われているcopyは、
[a copy]や[the copy]であって、
どうみてもこれは名詞。
流れに無関係かもしれないし、
その意味で不用意だったかもしれないので、
できればスルーしてほしいw
まあ
>>110 の彼(一人かどうか分からないけど、とりあえず)の思考法は、
実はだいたい想像が付く。
このスレでもちょっと前に書いてる人がいたけど、彼みたいな人は恐らく
「インスタンスはメソッドの動詞の主語でなければならない」という固定観念に
囚われていて、かつそれを自覚していないか、あるいは自覚していてもそれを疑うことを知らないんだろう。
だとしたら聞きたいが、そんな掟誰が決めたの?
自分自身で勝手に思い込んでるだけだっての。
>>55 以降に書いたように、別にインスタンスが目的語になったっていいし、
現にそういう用法なんかいくらでもされてるっての。
>>116 うん、それは少なくともスレの流れには無関係の話だ。
ここは中学英語のスレじゃないんだからw
>>116 うわああ。ごめん。名詞って何だよに同意とか言ってごめん。
>>119 その程度ならさっさと退場してくれ
同じ意見でも頼りにならない
なんでこんなくだらない事で盛り上がってんの?
くだらないからこそ盛り上がるんじゃん
>>101 >>103 >>107 ありがとうございます
インターフェイスには総称的な、impl側には実装をあらわすような命名にすれば
base-implのような形式にはとらわれる必要はない、ということでしょうか
でも、お互いの関連性が一目で分かるようなよい命名をした方が後々いいのかな・・・
>>126 ありきたりだけど、Monsterクラスを継承してDragonとか。
MonsterBaseを継承してMonsterImplってのは変じゃない?
何故
>>111 ,117の彼は変な解釈をするんだ
言葉が足りないと思えば、変な妄想を入れてくる
人が書いてもいなければ思ってもいないことを そうだと決め付けて堂々と書き込めるなんて、ある意味羨ましいわ
オレはImplはBridgeパターンのみで使うって決めてるけど。
131 :
65 :2010/07/07(水) 03:02:29
俺が言いたかったのは英語に拘るのもそこそこでと
55読んだけど何が言いたいんだかさっぱりわからない そのあと補足入れてるけど55の内容からは読み取れないし、 勘違いして書いたんじゃないの? ってことでしょ 英語で荒れてたんじゃなくてイミフなレスで荒れてたと。 そのあと論点ずらされて今に至ると。
>>126 どういう意味で継承を使うのか明確ならbase-implのような「単一形式」にはなりにくいと思うんだけど。
そのうちHogeBase←FugaBase←PiyoBase←…みたいな変な継承する羽目になるよ。
> でも、お互いの関連性が一目で分かるようなよい命名をした方が後々いいのかな・・・
デザパタのネーミング使ったら?
よい命名が出来る単位は、 使いやすい単位。 名前がつけづらいような単位では、 後々使いにくくなる。 簡潔でまとまりのあるメソッド群に、 クラス名やインタフェース名を名づける。
>>132 いい加減見苦しいぞ。
それともマジで論点がわかってないのかねw
これが論点ずらしですね、わかります
インターフェイス名にプリフィックスIを付けるってのがどうも馴染めないんだけど 感覚的なことなので理由など無いがどうしてもなぁ
なんというシステムハンガリアン
>>137 つ「郷に入ったら郷に従え」
つけたくないからつけないよりも、
つけたくないけどそれで他と統一されるなら付ける。
抽象的な基底クラス、インターフェイスに最も普遍的な命名をしたとして 特徴的な違いがある場合や特殊な例外の場合は特徴を表した命名をすればいいですが その実装の中で一般的な処理を行うモノの命名にいつも困ります どうしたらよいでしょうか
コードで語れ 意味がわからん
>>140 Javaだと、
public interface TableModel
public abstract class AbstractTableModel implements TableModel
public class DefaultTableModel extends AbstractTableModel
というのがある。
>>140 General
Normal
Standard
Default
とか、なんでもいんじゃね?
C++ では basic_string, basic_istream, ... なんてのもある。
>>137 これ気持ちよくわかる
Java から C# に移ったときは結構気持ちわるかった
でも付けないのはJavaだけなんだよな
俺は逆で、ドトネトでクラスや構造体やenumにはプリフィクスしない方に違和感を感じる。 ドトネトではインターフェイスとそうでない型の区別より、クラスと構造体の区別の方が重要なのにね。 普通に考えれば不合理すぎる。
クラスや構造体やデリゲートや列挙体とは違って、インターフェイスは「型」じゃないからな あくまでMS用語ではだけど、インターフェイスを型と呼ぶことはない 伝統的にMSはインターフェイスを特別視してる
C#の元ネタ?の一つ、Delphiはクラス名先頭がTで始まり、interfaceはIだったな 構造体もTで、クラスは動的にインスタンス作るのみで、 構造体が動的と静的のと両方できて、確かに混乱したな メモリ確保してインスタンス生成するかそうでないのって、動的、静的という用語であってたっけ・・・
IはCOM用語だろ。IUnknownとか。
は? じゃあその仮説が正しいとして、COM用語の"I"はどっから来てるの? 頭ダイジョウブ?
ん?IはInteefaceであることを示すプレフィクスでMS用語だってことだが。COMは 実体ではなくインタフェースのみをアプリケーション側に公開するという意味合いにおいて >148であってると思う。ちなみにDelphiでインタフェースをTではなくIではじめるのは それを取り入れただけだ。
MFCやってるやつが自前クラスにC付けてたのがワロタw あれってMFCのライブラリ用のprefixだろ? 同じく、Javaでswingやってるやつが、 自前クラスにJ付けてたり…は見たこと無いが。
正直 Swing の J はくどいと思ったよ。 nio 名前空間もね。 new って何時までが new なんだよみたいな。
WindowsNT() New TechnologyじゃなくてN-Ten Technologyらしいが
DBの話なので板違いかもしれないけど、 テーブル名の付け方で親子関係に関して迷ってます。 プレイヤーは複数の村を所持、村は複数の家を所持する場合って 【A】 player, villege, house 【B】 player, player_villege, player_villege_house 【C】 player, player_villege, villege_house どれが(もしくはどれでもない他の案)良いと思いますか? ※質問の本質と関係ないので省略したけど、実際にはt_playerって感じで接頭語をつけます
>>156 player, player_villege, villege, villege_house, house
village
>>157 リレーションを作れ、と。
複数の親が同一の子を持つようなことがありえない場合でも
いちいちそうするべきなのかな…まぁスレ違いになるので勉強してきます。
【D】 players, villages, houses
>>156 HOUSE_RELATIONSテーブル
PLAYER_ID, VILLEDGE_ID, HOUSE_ID
じゃん?
どうもそもそも設計の段階で考え直すべきっぽいので
(設計しだいで名前も変わるので)
>>157 に関しては終わりにして
しかるべきスレに移動します。皆様ありがとうございました。
> プレイヤーは複数の村を所持、村は複数の家を所持する が変わっちゃうって事か。 おつつ。
set/getよりwrite/readのほうがわかりやすいよね常識的に考えて
どこの常識かしらんけど set/get とか put/get とか save/load とか わかりやすさなんて文脈でかわるだろうと。
ストリームを取得するアクセサメソッドがreadStreamなんて名前だったら誰がどう見たって違う意味にとるだろ
write/readは副作用がありそうな気がするから属性のアクセサには不適
表示するデータがいっぱいあって、複数のページに分けて表示するという処理をするとき 変数名はどう付けたら良いでしょうか? ・データの総数 ・ページの総数 ・現在のページ ・1ページに表示できる最大数 ・1ページに表示している数 (例えば23件あって20こずつ表示で2ページ目なら3)
alldata allpage nowpage maxpage pagecount
変数、って今時非OOPかよ。 非OOPで、 >・1ページに表示している数 (例えば23件あって20こずつ表示で2ページ目なら3) こんなのに名前付けろって無理ないか?
>>172 お前はローカル変数とか使わんのか?
>>・1ページに表示している数 (例えば23件あって20こずつ表示で2ページ目なら3)
>んなのに名前付けろって無理ないか?
そんなことないでしょ。
現在表示してるページの内容に対してループまわしたりとか普通に想像つくじゃん。
max_data max_page current_page max_visible_page num_visible_page
あきらめたら そこで(ry numData numPages currentPage maxNumDataOfOnePage numDataOfOnePage 下二つが冗長だ
>>170 「ページの総数」「1ページに表示している数」の2つは、
「データの総数」「現在のページ」「1ページに表示できる最大数」に従属しているので別個に保持するのはバグの元だと思う。
言語が何かわからんけど、もし自分がC++で書いたらそういう変数の持ち方はしないと思う。
例えば、
全データを
std::list<Data> alldata;
1ページあたりの最大表示数を
int maxdisp;
みたいに持っていたら
データの総数: alldata.size();
ページの総数: alldata.size()/maxdisp+1
現在のページに表示している数: (最終ページのみ)alldata.size()%maxdisp、(それ以外)maxdisp
で済むでしょ。まぁ非OOPでも考え方は一緒だけど。
>>172 ですよねー
>>176 >alldata.size()%maxdisp
これ複数箇所で使う場合でも毎回計算させんの?変数に入れたりしないの?
こここんなに人がいたんだ・・・
変数にof使ったら負けだと思ってる
>>177 複数個所ってのが何を想定しているのかよくわからんけど、
最終ページ以外はmaxdisp返すだけで済むし、処理負荷なんて無いも同然でしょ。
181 :
170 :2010/07/16(金) 11:00:31
皆様ありがとうございました。
>>175 さんのを使いたいと思います。
私が思う事は、
・all〜 と付けるとデータそのものすべてをあらわしているみたい
・now〜 という発想は無理。
・count と num(ber) でいつも迷う。
ちなみに使っている言語はただのCです。
>>170 dataCount
pageCount
pageIndex
pageSizeMax
pageSize
>>183 チューニングしたけど速くならないってよくぼやくタイプでしょ
185 :
デフォルトの名無しさん :2010/07/17(土) 02:31:43
データベースにデータを突っ込むプログラムはXXLoaderとかいいますよね。 それの反対語、データベースからデータを取り出す場合は何かありますか?
186 :
デフォルトの名無しさん :2010/07/17(土) 08:13:51
今まで 読み込む→Load 書き込む→Save だと思ってたんだけど >データベースにデータを突っ込むプログラムはXXLoaderとかいいますよね。 そうだったのか、知らんかったorz
>>186 DB側の視点で作られてるプログラムの場合の話だと思うよ。
DB「に」ロードするってわけ。
Oracle だと load/unload だそうな。unloadってなんかやだね。
自分はそういうのはImport/Exportにするなぁ。
>>186 例えば、EXCEL --> CSVファイル --> データベースの場合。
EXCELは、CSVファイルにデータをsaveする。
データベースは、CSVファイルをloadする。
この、CSVファイル --> データベースを行うのがloaderの類。
特殊なプロダクト --> データベースに直接書き込みの場合なら、”データベースにsave”と言えるだろうけど、
データベースの内部構造をキャッチアップする必要があるんで、個人利用ではあまり見かけない。
>>186-189 ありがとうございます。言葉足らずだったけど、主体のプログラムとは別の、DBにデータを突っ込むプログラムです。
ついでに取り出す方も作ろうと思ったら悩んでしまいました。
微妙に関係ないけどJavaのORマッパーでコミットするときにxxx.save()とかいうメソッド使った記憶があるので
視点の違いというのはその通りなんでしょうね。参考になりました。
191 :
187 :2010/07/17(土) 10:27:43
御礼いわれちゃったw
>>175 of one pageよりper pageのほうが良くね?
かもね
ホストPCとクライアントPCで通信してデータを転送したいのですが ホスト側で転送したいデータが詰まっている構造体のメンバの値をstringに変換し文法に従って結合し文字列として送信 クライアント側で受信した文字列をパートごとに切り分けて必要な部分だけ抜き出す この結合と切り出しを行うクラスの命名をどうしたらよいでしょうか?
Serializer Serializer#serialize Serializer#deserialize
Encoder Decoder
文字列として送るのってコスト高そうだが平気か?
別に普通のことだと思うけど。
それが普通のことである場合もあるだろうし、とんでもない場合もあるだろう 適材適所。
200 :
デフォルトの名無しさん :2010/08/03(火) 10:40:38
二文字の略称を考えてるんだけど IPアドレスは IP ゲートウェイは GW ネットマスクは ?
NMって言わせたいんだろ
202 :
200 :2010/08/03(火) 11:08:37
NMってダサくない? マスクだからMSかMKがいいかなぁと思ってんだけど 一般的な答はなんだろう
その思考がダサい
204 :
200 :2010/08/03(火) 15:46:27
もういいや。NMで勘弁したる
どう考えてもサブネットマスクを略してSMが一般的
二文字の略称を考えるというその行為がすでにダサい。
履歴が残っているかどうかを取得するメソッド名って何がいいだろうか bool is_history_remain(); とかだと冗長っていうか、なんか引っかかる・・・
HasHistoryじゃだめ?
データ関係が微妙だがexistsHistoryじゃね
「履歴が利用可能」ってのはなんてメソッド名にする?
211 :
デフォルトの名無しさん :2010/08/04(水) 09:40:14
言語とか環境とかで命名規約かわるから、できればそれも書いて欲しい。
俺も第一感
>>208 だな。
数とか量があるかどうかはhas、
パスにファイルがあるかどうかはexist。
あとは履歴自体のデータ構造が見えてたとすると、
if (0 < histories.size) とかってしちゃたほうがマシ。
213 :
207 :2010/08/04(水) 10:29:14
ありがとう。hasHistoryにする事にした。
>>211 おまえそんなに七色のレスができるんなら、全部書けよ
215 :
デフォルトの名無しさん :2010/08/04(水) 19:08:28
>>214 は?お前バカ?
質問するときに先に書いとけって言ってんだよ。
単語の選び方に悩んでるわけで、いいのが出てきたら勝手に命名規約に沿って変更するでしょ
isHistoryAvailable
>>217 history is available だろjk
HistoryEnabled
C#で変数名やクラス名付ける時ってどういう規則があるの? 今から始めようと思うのですが・・・ strTest みたいな感じでいいのかな、大文字使っていいのか分からないです クラス名だと小文字から始まるとか、大文字から始まるとか・・・
世の中には一時変数にunkoとかichiji_hennsuuとかつける奴もいるんだな、これが
ichijiku_kanchoに見えた そろそろ寝よう
俺にも見えたwww 今日は早く床につくことにしよう
一時変数にunkoときて、次にichiji*をみた瞬間 それを連想すのるは不思議じなゃい
不思議じゃないとしたら、それは単に君が精神的に未成熟な変わり者だからだと思うが。 ウンコだチンコだ言って嬉しいのは、普通は小学生まで。 よほどおぼこい奴でも中二ぐらいで普通は馬鹿馬鹿しいと感じるようになる。 それ以上の年齢になってもそういう感受性を引きずってるのは、 恐らくなんらかの異常性格なんだろう。 大学の時に同じ学科に一人いたよこういうちょっと引くぐらい小学生的なメンタルの奴。
そこまで妄想するほうが異常だろw
一応言っとくけど俺は
>>226 じゃないぞw
はいはーい 釣られないで早く寝てください
おぼこい、ねぇ。
整数の下からNbyteめの1byteを取り出す関数はなんて名前がいい?
>>233 bit単位ならinsとextというオプコードがある
それぞれinsertとextractの省略かな?
>>233 val.ToBytes[N];
「Nbyteめの1byteを取り出す関数」という仕様だと、エンディアンが問題になる。
(少なくとも、ドキュメントを良く読まないと「Nバイト目」の意味がわからない)
配列なら0番目がLSBであることが自明。
ByteAt()
byte-part
238 :
デフォルトの名無しさん :2010/08/12(木) 08:30:55
unpack
すいません。質問させてください。 文字列の先頭にスラッシュがあればそのまま返し、 そうでない場合は先頭にスラッシュを付加して返すメソッドはどんな名前がいいでしょうか? よろしくお願いします。
>>239 PrefixAsNeeded(char prefixChar)
まあ、単にprefixだけでも問題ない気もする。
その手のは変換後が正しい状態だって考えて Regularizeなんとか って名前付けることが多いなあ。
242 :
239 :2010/08/15(日) 00:42:26
>>240 言われてみればprefixだけでもいけそうですね。
いろいろ調べてslashifyというのを見つけてかなりしっくりきてたのですが、
スラッシュにしか対応できないのが気になりだしました。。。
>>241 regularizeもいいですね。
ただ今回は接頭辞のような意味合いが強いのでprefixのほうがしっくりくるかも。
slashifyかprefixのどちらかにしようと思います。
ご回答ありがとうございました。
渡されたオブジェクトに特定のインスタンスメソッドを生やすメソッド名と、 そのメソッドを全て取り除いて元のプレーンなオブジェクトにするメソッド名をお願いします インスタンスメソッドを生やすメソッドは多用するので1文字でそれと表せるものがよいと考え、 extend の意として x と名づけたのですが、対象的な言葉が思いつきません upcast <=> downcast enchant <=> disenchant というのも考えましたが、メソッド名として長すぎるので他に良いものがあるならそちらを使いたいです
おれなら
>>239 みたいな名づけにくいメソッドを使わず、
パスやファイル名を扱う場所でチョチョっと処理して終わりにする。
(path + s).gsub(/\/\//,'/') みたいな。
>>246 こういう腐ったコード書く奴は死ねばいいのに
きっと
>>246 は自分の書いたものが他人(数ヵ月後の本人含む)からどう見えるか
想像する能力が欠如してるんだろう。
そういう意味ではガキ臭い
>>248 と同類といえる。
>>249 > 自分の書いたものが他人(数ヵ月後の本人含む)からどう見えるか
っていうけどさw
>>239 みたいなもんに、
「文字列の先頭にスラッシュがあればそのまま返し、
そうでない場合は先頭にスラッシュを付加して返す」ようなメソッド名つけてどうすんのさw
本気かよw
流れに乗り遅れたが、俺なら「先頭にスラッシュがあるかチェックする」メソッドをまず作って あとはif文の中でチョチョッと処理だな。
>>252 仕様変更で先頭のスラッシュを必ず削除する事になったらどうすんの?
チョチョッと一括置換とかしちゃうの?w
仕様変更て…大げさな…。
スラッシュの処理がそんなに広範囲で何度も出てくるかよ…。
>>252 の場合でも、入力された文字列を保存する場所で、
チョチョっとしてる処理を変更すればそこ一箇所だけの問題だろうよ…。
255 :
239 :2010/08/15(日) 15:53:27
>>254 勉強のために自作フレームワークを書いてます。(車輪の再発明ですが、勉強ということで)
controller内でパス解決のためにスラッシュ付加する処理を使ってるんですが、
いろんなところにでてくるし、結構影響範囲でかいですよ。
まあ、インラインで書くかメソッドに括りだすか微妙な場合があるのは確かだけど、
>>239 の場合はメソッドに抽象化しておくのが普通のセンスだと思う。
>>251-252 がそうかどうか知らないけど、世の中、メソッドとか関数ってのを
「長い処理を括りだすためのもの」っていう風に思い込んでる人がまだまだ
多かったりする。
短いか長いかなんて本質的な問題じゃなく、メソッドの機能の本質は抽象化なんだけどね。
処理に意味付けをして名前を与えること。
俺なら逆に、ファイル名は常にスラッシュなしで扱うようにするけどな。 で、パスの末尾にくっつける時、スラッシュの面倒を見る。 だから変数としてはpathとfilename。 メソッドとしてはcreate_path(path, filename)で実にシンプル。 ここで、filenameの頭にもしスラッシュが入っていても、 そこはうまく処理してやることもできる。 名前がつけにくいとき、名前をつけるべきではないか、 設計が既に間違っているかだと俺なら考える。 使いやすい単位でないと、メソッドは糞になる。 名前と役割が明確でシンプルでないと、糞になる。
>>239 の処理がそもそも不要なものであるかどうかを、
>>239 が出している情報だけから
判断するのはただの傲慢な予断。
必用であるという前提で議論をするか、そうでなければ本当に必要なのかどうか
質問者に確認すべき。
>>253 おれは
>>252 だけど、言いたかったのは
>>257 と似たようなことで、
「/がまず付いてる(あるいは付いてない)はずだけど最終処理の前に念のためチェック」
の意味で言ってるのであって、そこかしこから呼ばれるような意図はないわけで・・・。
全体に影響する(≒/付きかそうでないかが設計時に明確でない)となると、根本的にフレームワーク設計ミスだと思う。
でも
>名前がつけにくいとき、名前をつけるべきではないか、設計が既に間違っているかだと俺なら考える。
は理想論過ぎるなー
>>259 つまりお前さんは最初から話題について来てなかったと言うことね
OKOK
ただフレームワークの設計ミスとか余計なことは言わん方がいいぞ
261 :
239 :2010/08/15(日) 17:14:45
文字列処理クラスに文字列を処理するメソッドをつけるのがそんなにおかしいのだろうか。
おかしくないよ チョチョとか言ってる奴らが圧倒的に経験値不足なだけ 数十行のスクリプトばっか書いてるからそれが普通だと勘違いしてるんじゃないの
ちがう、引数がどんな文字(/ありなし)かがわからないというのがフレームワーク的に異常だという話だ
>>263 はぁ?
正規化する目的のメソッドの引数が正規化済みじゃないと異常だと?
有無が分からないんじゃなくて 有っても無くてもどっちでも良いって作りにしたいんじゃないの? そんなおかしいか?
Javaなら String#replaceFirst(String regex, String replacement) String#startsWith(String prefix) だな。ここら辺の命名ならまだ納得がいく。 動作と命名の簡潔さも許せる。 s = org.replaceFirst("^/", "") s = org.startsWith("/") ? org.substring(1) : org > PrefixAsNeeded(char prefixChar) > prefix > Regularizeなんとか > ensurePrecedingSlash こんなもんは全部却下だw 特に、文字列クラスってんならなおさらだ。 もっとファイル処理に特殊化されたクラスを用意するってんなら、 「Regularizeなんとか」ってのだけはまぁ、分からんでもないが。
Javaに対して納得がいくだの許せるだのとのたまいやがる
>>266 のベストな命名を承りたい
268 :
239 :2010/08/15(日) 18:05:09
訳あってノートパソコンから。
>>266 CakePHPからのパクリなんですがInflectorというクラスを作っていて、
そのクラスに camelize underscore などのメソッドを定義しています。
今回はそのクラスにスラッシュをprefixとして付加するメソッドを定義しようと思ったのですが。。。
どういう設計がいいんでしょうか?
>>265 おかしいだろ。
まあバグバグなソースをどうしても直す必要があって、やむなくアドホックにそういうメソッドを作ったならまだわかる。
別の(悪い)例えをあげると、複数の日付文字列(yyyyMMdd、yyMMdd HHmmssとか)を勝手に解釈してDate型に変換する糞メソッドとかがあてはまる。
でも今回は違うだろ。フレームワークとしてそんなコードを埋め込もうてんだ。
フレームワーク(≒大バグでもない限り修正できない)のソースに
「// 引数が/付きか/なしかわからないからとりあえずprefixメソッドで/付きにします^^」みたいなコメントが埋めこんであるってことだぞ。
これをおかしいと思わない奴は仕事でプログラミングをするなよ。
>>269 困った人だな君も。
君が
>>239 自身じゃない以上、
>>239 の処理が唾棄すべきものかどうかの判断なんて
どうしてできるんだよ。
>>239 の問題の全部を把握してないでしょ?
それともエスパーなの?
>>269 少ない情報から発言者の意図を汲み取る事が出来なかっただけで、そんな恥ずかしい事じゃないんだからさ
見当違いな話題のまま必死に自己正当性を説き続けるのはいい加減止めてくれないか?
おめーら、ここは実装の話は禁止だ
>>267 命名しない。追加メソッド不要。文字列へのgsubで十分と思ってるから。
データの入力直後とか、パスでファイルを開く直前とか、
どっちかだけで処理すりゃいいんだろう、くらいに考えてる。
データ入力処理か、ファイル処理かの一部でしかないと見てる。
> Javaに対して納得がいくだの許せるだのとのたまいやがる
startsWithは、名前はやや冗長だし活躍の場がそれだけ限られる。
startWith("ababa")はString#matches("^ababa")で十分だし柔軟だ。
replaceFirstはreplaceAllと対になってるから、
冗長というよりはうん、実際は可読性の向上になってすらいるかもしれない。
>>268 ユーザからの入力をチェックしたり、
実際にファイルを触ったりする直前のどちらかで、
filename.gsub(/^\/*/,'/')を一回だけ実行。そんだけ。
gsubで先頭にスラッシュを付ける。そんだけ。
Inflectorは
「複数形やキャメル記法といったように単語のバリエーションをハンドルする操作を行うもの」とある。
今ある9個のメソッドでもう十分なのでは? ファイルに関わる(?)ことまで追加するのはどうか。
ファイルはファイルで別にやったほうが素直に思える。
例えば
ttp://www.ruby-lang.org/ja/man/html/File.html
世界で一番偉そうな
>>266 はやっぱり話を理解しないゴミクズでしたとさ
チャンチャン
ここまで歩み寄る気配の無いコミュニケーションも珍しいw 壁とでも話してんのか?w
>>274 に今日一番のガッカリ。
というか論外すぎてフイタw
能力態度反比例の法則を知っていれば
>>266 に何かを期待するなんて愚行を犯さずに済む
みかん星人てstrangeに掛たネタだったんだな
282 :
243 :2010/08/17(火) 13:18:10
283 :
デフォルトの名無しさん :2010/08/20(金) 16:19:46
読み飛ばす(SKIP)の逆って何でしょう? 逆といっても読み進めるだけなんですが、 普通に(NORMAL)じゃ変だし。
stepとか
285 :
デフォルトの名無しさん :2010/08/20(金) 17:00:58
次を「読む」でシンプルにreadとか
piks
287 :
デフォルトの名無しさん :2010/08/20(金) 17:53:58
通過するということでPASSにしました (ゲームとかだと逆の意味ですが)
through
289 :
デフォルトの名無しさん :2010/08/20(金) 17:56:44
あ、FORWARDの方がいいっすね 読むは副次的なものなので
290 :
デフォルトの名無しさん :2010/08/20(金) 17:58:04
やっぱPASSにしました!4文字だし!
nextじゃ駄目なんだろうか
NEXTじゃ次じゃないですか 進むって感じじゃないし なんというか、要・不要を選別するって感じなんで
じゃあgoとか さらに短いぞ
>>290 それpassを辞書引いてから言ってる?
っていうか、そもそもの質問に具体性がなさ過ぎる
next
データのオブジェクトとフォントオブジェクトを渡すと、 そのデータの状態によって、フォントの色やスタイルを変更する関数の名前を付けてください。
increment
succ
299 :
デフォルトの名無しさん :2010/08/21(土) 04:19:04
apply
300 :
デフォルトの名無しさん :2010/08/21(土) 05:53:59
configureFont
foo-bar-baz みたいな、ハイフン区切りの単語ってありますよね。 こういう単語をキャメルケース(含Pascal)で表すときってどうすれば良いのでしょうか? Foobarbaz? FooBarBaz?
FooBarBaz
>>302 サンクス。
と、自分で質問しておいて申し訳ないんだが、
ハイフン区切りの単語は、あくまで見やすくするために区切ってるだけで1単語であり、
当然ながら、普通の英文で先頭大文字にする時は、最初の最初だけ(Foo-bar-baz)らしい。
というわけで適当に使い分けるのが良いのかな。
Win32APIなんかの名前見てみればええんちゃう?
バッファを渡して文字列を詰めてもらって文字列長を返すって関数 int getHoge( char *buf, size_t bufsize, size_t *length ) バッファサイズは \0こみで、文字列長は \0抜きで 返そうと思ってるんですが(戻り値はエラーにつかう) ようするにバッファサイズと文字列長の表現をわけたい sizeとlengthって使いわけするのってありなのかな でもどっちがどっちかわからなくなりそうだし うまいわけかたが思いつかないので助けて。 Cでもなんでもいい。
int getHoge(char *buf, size_t size) で、文字列の長さは int len = strlen(buf);
size バイト単位 (物理) len 文字単位 (論理)
におうな
10個のリンゴがあります。 リンゴの数を代入する変数の名前は どんな名前にしたらいいですか?
n_apples (num of apples)
リンゴの数
では、リンゴの大きさはsize of applesだから s_applesですか? 長さはl_applesですか? Java風だとlAppleですか? ありがとうございました。
何を焦っているんだ
正解は TimeOfNow です。
よく分からんがbasketじゃだめなんか
apple count apple size apple length
りんごに長さっておかしくないか widthじゃないのか
len(Apple) は Jobs の寿命
腐ってきてたけど、中身を違うものに変えたからまだ大丈夫
>>316 apple countの
countは数えるという動詞だから関数名にしか使えないのでは?
名詞としてもリンゴの数にはならないのでは?
>>320 C#のライブラリだと、Countいっぱいあるよ。
関数じゃなくてプロパティだけど。
バイト長はsize、文字列長はlengthか・・・
文字列というより、その型にとっての長さ sizeofで返る値を型のサイズで割るとか ポインタのスケーリングと同じ
文字列の長さっていつも困るよね sizeof(hoge)==sizeで、size==length+1 って感じで統一すればいいの?
>>307 の言うとおりで、普通は困らない。
バッファのサイズと文字列の長さなんてまったく別の概念で、
普通のプログラマなら混同なんかしない。
>>320 countは名詞もあるし
リンゴの数って意味になるよ
平日の14時なんかに書き込む奴はやっぱ馬鹿ですなぁ
number(num)とiindex(idx)とcount(cnt)をカッコよく使い分けられるオジサンになりたい
本来ある関数とかをラッピングしたオブジェクトの名前で なんか良いのないですかねー(javascriptです) nativeとかは予約語であるし・・・
primitive
>>329 「〜をラップしている」というのは、それを名前に盛り込む必用があるほど
意味がある情報なの?
普通はそんなことむしろどうでもいいことの場合の方が多いと思うんだけど。
もし本当にそんな必要あるのなら、愚直に"xxxWrapper"でいいのでは?
というよりそうとしか表現のしようがない。
332 :
デフォルトの名無しさん :2010/08/28(土) 19:22:54
パズルとかで,「(マス目に)入り得る値の候補」ってどんな変数名がいいでしょうか? 「候補」の直訳だと「candidacy」のようですが,馴染みがないというかなんというか・・・
entry
candidate_valueって悪くないと思うけど。でも長いか。
candidate
>>332 available
馴染みがないのは気にするな。
気持ちはわかるが、どうせ所詮は
非ネイティブなんだから。
>>332 enum masu_state_t { ....
344 :
332 :2010/08/29(日) 15:40:23
いろいろありがとうございます
>>336 非ネイティブといっちゃえばそうなんですけどね
あとで見たときに(見られたときに)わかりやすい単語がよかったのです
「available」いいですね。使わせていただきます
345 :
デフォルトの名無しさん :2010/08/29(日) 15:54:50
毎度々のことだけど、それ辞書引いた上で納得して言ってるの? availableってのは、普通は得られる、入手できるって意味であって 選択肢の束を表す言葉ではない。 普通にcandidates, options, choicesといったところがむしろ妥当なんじゃないの?
一般的なのはcandidateだな
candidate だと「立候補」なニュアンスに感じてしまうので 「パズル(?)での次に可能な手」とはニュアンス違うって気はするけどね。
apacheの設定だと sites-available/ にサイト情報をファイルで用意しておいて sites-enabled/ にシンボリックリンクを張れば有効 ていう文化がある。 mods-available/ mods-enabled/ もある。
>>374 例えばMSの"RC版のソフト"のRCって頭字語は何の略か知ってて言ってる?
>>347 candidacyとcandidateを混同しないように
>>351 いや、ゲーム作ったことあればわかると思うが・・・
まず次に可能な手を全部ピックアップして画面にガイド表示したり
思考ルーチンに投げたりするんだよw
という状況での質問
>>332 だと俺は解釈したんよ。見当違いの可能性はあるけど。
>>352 ねいちぶじゃないんでそんな微妙なニュアンスを言われてもわからんw
お前らうるせぇ
英語の話題は他でやれ
>>332 atai_kouhoでFA
>>350 Release Candidate
てかググれば
そんな事言う為に亀レスったのか・・・?
知ってる事をググれば、って馬鹿だろ
バカだから仕方ない
どんなことであれ、知らなかった人というのはいるもんだよ。 gccのエラーメッセージでもよく目にする単語だし、単語自体には馴染んでおいて損はないよ
なんだ真性馬鹿か
何の名前を付けて欲しいか? Windowsコントロールの『幅』を管理するオブジェクトのメンバ関数 どんな機能か? 「この値だけ幅を伸ばせるよ」と数値を渡すと、「ではこれだけ伸ばしたいです」という値を返す ※この値を使って実際に幅を伸ばすのは別にやります よろしくおねがいします。
364 :
363 :2010/09/02(木) 09:34:37
やっぱりいいです。
・・・
ある変数のプログラム的な下限上限と仕様的な下限上限で名前を分けたい場合にはどういう名前にしますか? たとえばタイルベースの戦略SLGを考えたときに、タイル1つにユニットが入れると考えた場合 ユニット数のプログラム上の上限はタイル数で仕様上の上限はバランス調整などで後から決める値です
soft limit/hard limit
maximum unit regulation unit
369 :
デフォルトの名無しさん :2010/09/07(火) 18:40:07
プログラム的な〜 SystemLimit/MaximumLimit 仕様上の〜 LogicalLimit/OptionLimit/GameLimit/StageLimit
maximum/minimum ceil/floor
お前らあの文章で理解できたのかよ
>>366 無理に「プログラム的な下限上限」などという概念を導入する意味がわかりません。
その概念、本当に必要?
ユニット数はタイル数に縛られる、というルールによる表現で十分、というか
コードにした時その方が分かりやすいと思うけど。
みなさんありがとうございます
参考になりました
>>372 面積のNパーセントまで(Nは0〜100で仕様による)といった感じでしょうか?
この例で言うとたしかにこちらのほうがスマートな気がしますね
>>372 オーバーフローしない範囲、とか、再帰の回数とかはシステムのほうで上限設定したほうがいいと思うが?
>>373 彼が言いたいのは、マップサイズ=システム上のユニット数上限ではないのか?ということだと思う。
というか、俺がそう思った。
>>375 それをmap.GetMaxUnit();みたいにとりだそうとしてるから名前がほしいんじゃないの?
unit_max = x; if(tile_max < unit_max) { unit_max = tile_max; } ユニット数の上限を変更する関数があるなら、 名前なんかつけずにこんな感じでチェックして調整すればいいんじゃね? もしくはassert(unit_max <= tile_max)でチェックするとか
そうゆう低レベルなチェックはもうしたくないんで^^;
>>375 ユニットがスタッカブルなんだろ。
オレはだいたいそう読んだが。
>>366 を文字通りに読むと読めないかも。w
>>379 文字通りも何も、ユニット数は高々タイル数であると明言しているからね
>プログラム的な下限上限と仕様的な下限上限
この表現がわかりにくくて混乱を招いているだけだと思う。
おそらく、より
>>366 が言いたい表現は、「仕様的な上限下限とルール的な上限下限」だと思う。
たとえば、「サッカー場では最大11ユニットx2部隊で戦います」が前者で、「5ユニットx2で戦う別ルールもあるよ」というのが後者。
配列サイズの上限やメモリリーク直前のユニット数とかを取りたいわけじゃないとおもうぞw
外人のアホやろうどもはなんでwidthとheightの文字列長をそろえなかったんだこそばゆいわ
わかる read write start stop top bottom left right begin end
等幅フォントやめれば気にしなくなる
creat
1行に複数命令を書くことに慣れれば長さの不一致なんか気にならないよ void swap(T & other) { if(this!=&other) swap(a, other.a), swap(hoge, other.hoge), swap(piyopiyo, other.piyopiyo); }
なんだそりゃ。
うわゴメン、カンマ演算子とか知らなかった。 for文中だけの変則ルールかと思ってたわ……
並列性のある命令はカンマで区切るべきだよな 英語で言ったら 〜 a, b, c and d 〜. というところを 〜 a 〜. 〜 b 〜. 〜 c 〜. 〜 d 〜. って書くのは変だろ
見やすさによりけりだな。
ていうか英語じゃねぇし 馬鹿も大概にしてくれ
わいどす へいと
うぃずす はいと
わいど はいと
width height
わーにんぐ ぬるぽ
398 :
デフォルトの名無しさん :2010/09/13(月) 05:09:16
ふぁるす
ふぉるす
既知外阻止で400
ソフトの設定ファイルを保存するディレクトリを取得するメソッドは? getSettingDir() getSettingDirPath() getSoftwarePath() getConfingDir() 微妙過ぎるwww
コンフィgパth
getPreferenceStore
Dirって略すから微妙なんじゃね getSettingsDirectory getConfigDirectory
405 :
401 :2010/09/14(火) 22:06:03
>>404 Directoryって長い〜と思わない?
たぶん言語による Javaならそれくらいの長さは全然普通に見える C++なら略したくなる気持ちもわからんではない
407 :
401 :2010/09/14(火) 22:24:08
BasePath でどうよ
定数は全て大文字、変数は小文字やキャメルケース、 …っていうのはよくある書き方だと思うけど、 アプリ起動時に決定され、終了時まで絶対に変化しない値に関しては たとえそれが内部的には変数でも、大文字のみ(定数と同じ書き方)ってのはアリ?
コメントを付けることを条件に アリ
アリ。C++とかなら、constついてれば大文字で定数扱いされてても違和感はない。
ありがとう。結構アリなのね。
>>409 アプリ起動時に、だとちょっと微妙かも
コンパイル時に、ならアリ
>>409 個人的には、むしろ本当に定数(というか即値)をMAX_COUNT
みたいに表記する必要があるのか、こっちあんまり合理性が感じられない
習慣の方を疑うべきだと思う。
っていうかその習慣に仮に意味があるとしても、
>>409 みたいなことしたら
ぶち壊しじゃないのか。
なんでももっと明示的に、例えばGetMaxCount()みたいに関数化するとかしないのか。
グローバルに定数丸出しがまず気に食わないからマクロという線は最初に消える んでstructとかに包んでHoge::FOOみたいな形で使えるようにする そしてメタ関数の戻り値valueとの整合性が取れないと気持ち悪いから小文字始動になる struct Hoge { enum E { foo, bar, baz }; }; Hoge::foo つーかマクロから脱却するためにconst使ってるのにマクロに合わせて名前付けますっていう考え方が気に入らない
418 :
デフォルトの名無しさん :2010/09/18(土) 13:47:45
スーパーマリオにおけるクリボーやノコノコといった敵キャラと、キノコやスターといったアイテムを、 同一のスーパークラスから派生させて作成し、スーパークラスの配列で敵とアイテムを一括に扱おうと思います。 スーパークラス名・配列名にふさわしい英単語を教えてください。
Entity entity[N];
そういう場合、 Actor, actorsという名前が出がちだし、 過去に自分もその命名してしまったことがあるが、 どうにかならんかこれ、という気持ちでいっぱいになる。
>>418 何のために一括に扱うのか(「それ」を何とみなすのか)、
それが重要じゃないの?
複数形にする意味わからん? 常に2つ以上の要素を持ってるとは限らないから単数である可能性も考えるべき
>>424 馬鹿は放っておけよ。
あんたのレスも意味不明だけどw
enemy[n]だとn番目のenemyって感じだけど enemies[n]だとn番目のenemies、つまりn番目のenemyの集団みたいに思えてしまう それにenemiesを集めたコレクションはなんていうの?って思い始めてからもうコレクションも単数形で良いやってことにした
>>420 actorじゃダメなん? デザパタとかぶるから?
そこまで中小的な名前付けないだろ。すべてのオブジェクトの 基底じゃねえっつの
そこまでかどこまでか知らないが、そもそもクラスやインターフェイスの名前とは、 それが何を抽象化しているのかを表すものなのだから、そこを曖昧にしたまま 命名なんてできっこない。 質問者は命名で困ってるというより、設計段階で躓いてるんだろう。 自分が何を抽象化しようとしているのか自分で理解してないと思われる。
配列や集合はVector enemiesは普通にある javaだとenemies.get(2)とか
432 :
デフォルトの名無しさん :2010/09/18(土) 23:14:32
その要素が表示されてればtrue、 枠外に出たり、他の要素に完全に隠れたりして見えなくなったらfalseを返す プロパティはなんと名付ければいい?
visible
bool HogeView.IsVisible(HogeItem item) こういうのは要素自身のプロパティとして実装するのはあまり良くないのでは? それだと、まるで要素がどの親にも所有されてない状態を想定してないように感じられる。 それに個々の要素が表示されているかどうかを把握しているのは親だと考える方が 考え方として自然でもある。
「表示領域外に出る」と「他の要素に隠される」と、あるいは単に「非表示(visible)」ではプロパティ名が全部別な気がする。
後出しですまんがプロパティをつけたいクラスはWPFのUserControlで、
IsEnabledもIsVisibleもすでに実装されてる(目的は違うけど)。
UserControl下のインスタンスが別スレッドで常時動く(表示に関する)処理を持っていて、
このUserControlがみえてなければ止めるようにしたくてプロパティを用意したかった。
>>435 判定するのは親でも、状態を持つのはその要素自身かなと思う。
>>437 じゃあIsExposedとか。もちろんプロパティではなく親のメソッドで。
自分が見えているかどうかは、自分以外のオブジェクトによって決定されるのに?
それって自分の状態ではないんじゃないの?
変更しなくても変わる可能性があるものって、基本的にプロパティ的じゃないと思うけど。
439 :
418 :2010/09/19(日) 00:10:55
みなさま、お返事ありがとうございます。 entity と actor で検討してみます。 『何を抽象化しているか』については…… 現時点では刈り込んだつもりなのですが、 たしかに広範囲すぎるとも思うので、言葉の定義を狭められないか考えてみます。 ありがとうございました。
getClipRegion().isEmpty() == false
>>437 WPFならそのIsVisibleが
> この要素がユーザー インターフェイス (UI) に表示されるかどうかを示す値を取得します。
という読み取り専用のプロパティなんだが、まんまこれなんじゃないの?
クリッピング、重なり、非表示などを考慮したうえで実際に表示されているかどうか判定してくれたはずだが
>>442 あ、ほんとだ。Visibilityとごっちゃになってた。失礼
辞書データを管理するテーブルに 1.かな交(ま)じり のような単語データが入っているのですが、 このままだと検索に使えないので、かっこを取り除いた 2.かな交じり というデータも格納しています。 1が表示用、2が内部で使用する検索用ということです。 1、2に、それぞれ適当なフィールド名が思い浮かばないのですが、 なにか良い名前はありますか? そもそもこのデータの持ち方が間違っているのでしょうか・・・? よろしくお願いします。
なんかみててイライラする。
normalized とかどうだろう
textWithRubyとtextWithoutRubyとか かっこを強調したかったらWithParenthesizedRubyにしてもいい
449 :
445 :2010/09/28(火) 18:38:29
>>447 括弧なしの方がnormalized〜、ですかね?
なかなかよさそうです!
>>448 ルビとか括弧というニュアンスより、
検索用に使う、というニュアンスが欲しいです。
・title_search
・title_for_search
じゃあおかしいですかね。
plain_titleなんかもよさげですが・・・
>>449 普通に考えれば、名前に凝る必要がありそうなのはルビ付きの文字列の方で、
君が言ってる検索用って奴の方なんか普通にtextとかvalueでいいんじゃないかと思うけど。
検索用とか言うけど、「焼餃子」で「焼き餃子」が検索できないようなものが
検索用なのかどうか。
ルビつきが text ルビなしが innerText
>>449 検索用文字列の方が normalized(一般化)だね。
例えば元のフィールド名が title なら、
名前が対称になるように normalized_title や title_normalize のようなものでも良いかもね。
>>450 後半
変換アルゴリズムと検索アルゴリズムの問題だろうから、
少なくともこのスレ的には気にしなくても良いんじゃねーかな?
453 :
デフォルトの名無しさん :2010/09/29(水) 02:37:10
ActionScript でスプライトに追加されたオブジェクトの位置を調整して基準点が中心になるようにするクラスを作ったんですが、いい名前ないですか? CenteringWrapper にしてるんですけどコレはなんか違いますよね。
>>453 Centeringでいいんじゃね
多分それWrapper違うし
調整先が中心以外もありそうなら RepositionCenter、RepositionRight・・・。 Centerizerもわりとググルと引っかかる。
456 :
デフォルトの名無しさん :2010/09/29(水) 16:13:30
>> 454,
>>455 レスどうも。
Center 系はおかしくないんですね。
Wrapper は違いますか。
一応スプライトなどのコンテナに入ってるぞって言うのを知らしめたいような気もするんですけど。
Centerizer よいですな。
457 :
445 :2010/09/29(水) 17:51:44
normalized〜だと他にも適用できて便利そうなので、 今回はこれを採用したいと思います。 inner〜というのもよさそうですね。 レスをいただいたみなさん、ありがとうございました!
コンテナの名前ってどうしたらいいんだろう 複数形にすればいいのかな
集合の意味を持った単語の単数系でいいよ hogeSet fugaListとかね
ローカル変数で、かつ寿命がそれなりに短いなら、適当に複数形でも良いかなって思っちゃった
寿命が8行以内なら l にしちまうな
そういや割と一文字変数多いけど別に読み辛いとは感じないな 寿命の問題か
つーかローカルにいくほど短い変数名のほうが脳科学的には可読性あがる 普通、仲間内でフルネームで呼びあわないだろ? つーかたまに本名知らないやつすらいるじゃん? あれと同じだよ
さすがに本名くらい知ってないと失礼だろ
苗字しか知らない人がほとんどだな 社内で衝突してる人だけフルネームで覚えるけど ローカルで呼ぶ時はやっぱ苗字だけだな
顔や体の特徴とあだ名が一致してるのが一番覚えやすいけど上司にハゲとかピザとか言うのはさすがにな。言ってやりたいけどさすがにな
日本語でもなんていうかわからんのだけど 凹みのないポリゴンってなんていう?
convex polygon
471 :
デフォルトの名無しさん :2010/10/02(土) 02:21:57
クラス Foo をある処理にかけると クラス Bar ができます。 一つの Foo に対して、複数の Bar ができます。 で、Foo と Bar の対応を記憶しておきたいので、 普通なら、Bar に Foo への参照を持たして置くところですが、 Bar が継承できないクラスなので、メンバを増やせません。 class BarInfo{ Foo Foo; Bar Bar; } というクラスを別途作って記憶しておくことにしたのですが、良い名前が思いつきません。 BarInfo か BarLink かなぁ・・・と思うのですが、いまひとつしっくり・・・って 感じなので、よい名前があったら教えてください。 言語は、C# です。
BarとFooとある処理をもっと具体的に
リソースを読み込むクラスを作成しています。 class AbstractLoader { def load(resouce_name) { } } で、何か*を*ロードするクラスは簡単に命名できます。 たとえば class ImageLoader exntends AbstractLoader ... class TemplateLoader exntends AbstractLoader ... これに対し、何か*から*ロードするクラスの名前をどうつければいいか困ってます。 class FileLoader # ファイルをロードする class DatabaseLoader # データベースから取ってくる class MemcachedLoader # memcacheから取ってくる これって英語的におかしいですよね。 何か*から*ロードするクラスの名前について、アドバイスをお願いします。
>>471 何かと何かの関係を表す単語はRelationがよく使われる。
>>473 設計の話題は禁止なのでどうにも・・・。
名前にFromが入ってもいいと思うけども・・・。
>>473 概念を考えるとそれはもうローダーじゃない。
Readerみたいなイメージ。
FileAccess, DatabaseAccess, MemcacheAccess
>>471 BarToFooMappingEntry
>>473 問題の立て方がおかしい。
「イメージ<を>ロード」する、って言ったって、
実際は「イメージ<を>ストリーム<から>ロード」なわけだ。
だから、異なる種々のもの(File, DB, Memcache)<から>ロードするっていう風に考えるのではなくて、
異なる種々のものでも同じストリームとして扱うという方向で考えるべき。
>>473 class Loader
{
Image LoadImage(File file, string resourceName);
Image LoadImage(DataBase dataBase, string resourceName);
Image LoadImage(MemCache memCache, string resourceName);
Template LoadTemplate(File file, string resourceName);
Template LoadTemplate(DataBase dataBase, string resourceName);
Template LoadTemplate(MemCache memCache, string resourceName);
}
>>478 ひとつのクラスに機能が集中しすぎの糞クラスの典型
というか不自然だな 全部静的メンバならまあ場合によってはアリ
abstract class Loader<T> { T Load(File file, string resourceName); T Load(DataBase dataBase, string resourceName); T Load(MemCache memCache, string resourceName); } class ImageLoader : Loader<Image> { Image Load(File file, string resourceName); Image Load(DataBase dataBase, string resourceName); Image Load(MemCache memCache, string resourceName); } class TemplateLoader : Loader<Template> { Template Load(File file, string resourceName); Template Load(DataBase dataBase, string resourceName); Template Load(MemCache memCache, string resourceName); }
オブジェクト指向なにそれ的な良クラスだな
お前らスレ違い
ゼロにするってobj.zero()でいいのか?これ動詞?
>>484 clearとかresetではまずい事情が何かあるの?
辞書見るとzeroは他動詞としても使えるみたいだけど、
どうしても名詞みたいに見えるから普通は使わないんじゃないのかね。
ベクトルをゼロにするとかはclearじゃちょっと…
>>486 そういう事情ならzeroとかforceZeroとかでいいかも。
あと代案で、ゼロベクトルを取得する静的メソッドをクラスに定義するって方法もある。
これならzeroとかGetZeroで全然不自然じゃない。
>>478 俺もこれが正解だと思う。だが実相寺に質問者が言っているクラス
を必要とすることもあるだろう
正解があるなんて幻想です
みんなが「それは違うだろ」と言わなければ、一応正解と言っていいんじゃない。
正解が一つじゃないってことはあるが。
>>484 GLに習ってLoadZero()とか、LoadIdentity(単位行列)とか、
何かの値にセットする動詞を統一したらどうかな。
少なくともZero()とLoadIdendety()は統一感が無いから、
他との兼ね合いで調整したほうがいいかも。
0をかけると0になることを利用して MultiplyZero
namespace { Vec ZERO_VEC = Vec(0, 0, 0); } Vec vec = ZERO_VEC;
GoToZero
無敵状態を表すフラグ名ってなんてつけたらいいかな シューティングゲームで被弾した時の一時的な無敵になってる状態
被弾では死なない = ShotProof 何があっても不死身 = Immortal ゲームプログラミングの世界の常識は知らないから適当
被弾では死なない = ケンシロウ 何があっても不死身 = ラヲウ
本来死ぬる条件のところを生き延びた状態に付随しての無敵だろ
映画であるじゃん unbreakable
誰も普通の英訳なんてつまらない物は書かないんだな
no enemy
hyperize
映画であるじゃん invincible
504 :
デフォルトの名無しさん :2010/10/03(日) 23:55:47
zombie
undead
ozawa
シューティングゲームだと、そもそも当たり判定がない(貫通する)というパターンもあるよね。 今回は違うみたいだけど。
508 :
494 :2010/10/04(月) 08:02:08
いろいろアドバイスありがとう
英語wikipediaのスーマリの項に
「スターをとるとinvincibleになる」って書いてあったので
invincibleにしようかと思ったんだけど
これだと、当たるものを全て打ち破るってイメージだよね。
スペインの無敵艦隊とか
俺の場合
>>507 のイメージだから
untouchableとかpenetrateとかかなぁ?
>これだと、当たるものを全て打ち破るってイメージだよね。 違う
untouchable 《ヒンドゥー教》カースト制度の最下層民, 触れてはならない penetrate 【自動】 1. 突き抜ける、突き通る、貫通{かんつう}する、〔日光{にっこう}が〕差し込む 【他動】 1. を突き抜く[通す]、貫く、 中を通る invincible 【形】 1. 〔人や物が〕どんなことにも打ち負けない、無敵{むてき}の 2. 〔決意などが〕揺るぎない invulnerable 傷つくことのない、不死身{ふじみ}の、難攻不落{なんこう ふらく}の
スターマリオは落ちたり挟まれたりすると死ぬからimmortalじゃない。
どうでもいいけど、スターマリオが落ちても死ななかったら楽しかったかもな。 ジャンプ台のときとと同じエフェクトで舞い戻ってくるとかねw
アプリやシステムの動作としての「外部連携」って、 プログラミング的にはどういう英語で表現するものでしょうか?
cooperation with external systems/programs
ありがとうございます。やっぱりcooperationでいいんですね。 なんか日本語的には「会社」みたいでちょっと違和感を感じてました。
>>517 cooperation と corporation を混同してませんか?
>>518 いま気づきました。かなり恥ずかしいです。
日本人はトーイック900点ですよ?
cooperation = co operation (共同作業) → 協力
そこに気付くとはな。やはり天才か・・・
英英辞典ひけよ
日日辞典も
clothは布で服はClothesってことで服のクラスをClothesで作ったんですけど、これを複数持つ配列の名前に迷ってます 何にするのがいいんでしょうか?
そのまま clothes もしくは服のクラスを Wear か何かに改名する
>>525 そうだ、>458くらいから数レスほど読んでみるのはどう?
closet
俺ならこうする。 string name; list<string> names; list<list<string> > namess;
name names nemeses namesesesじゃね?
┐(´〜`;)┌
LengthOfAMemoryBlock みたいに長々と書いちゃうんだけど普通だよね?
AMemoryって何? まさかとは思うけど a memory とかじゃないよね?
a memoryだとしたらthe lengthじゃないとおかしいだろ。
>>525 Clothes clothes;
list<Clothes> listOfClothes;
list<list<Clothes> listOfListsOfClothes;
ClothListList
コンテナが何重になっても複数形だけ→Clothes
list of ってあんまり言わないみたいなことをネイティブの人から言われた気がするけど英語だったから自信ない。
最近めんどいからGoogle翻訳に丸投げしてるわ
単純に前から貸し出していって、解放は一回ですませるタイプのメモリプールがあって 次に貸し出す予定のインデックスのことをなんて呼ぶ?
nextIndex
NetIndex
>>540 そのインデックスは他のモジュールから見れないでしょ?
ファイル内(あるいはclass/namespace)で何を実装しているかの認識があれば、
ただのIndexでも通用すると思う。
他に〜〜Indexが無いのであれば、だけど。
センスある名前だとCursorかな
↑馬鹿
previous→?→next お願いします
>>547 current
でも普通は前と次だけで用が足りることが多いからあまり使わないはず
549 :
デフォルトの名無しさん :2010/10/09(土) 01:23:21
「前」はpreviousぐらいしか見かけないが 「後」は「next」以外にも「forward」とかよくみかける
lastもある
それはない
struct node { node *lhs; node *rhs; }; これ一択だわ 超わかりやすいだろ 前とか後ろとかどっちだよ!って言いたくなる
>>552 struct node
{
node *bowl;
node *chopsticks;
};
左とか右とかどっちだよ!
555 :
デフォルトの名無しさん :2010/10/10(日) 03:33:14
ネイティブが「f」と「k」を使ってた 聞くと「fork」と「knife」だそうだ
レスってから気づいた チクビを持つ方がtで、箸を持つ方がhか
ちんちんしごくのが左で、うんこ拭くのが右だろ? struct node { node *c, *u; /* chinko, unko */ };
日本人なら ohashi ochawan
だから、そういうの面白いと思ってるのかよ。 本当に気色悪い連中だな。 こういう気色の悪い馬鹿に限って設計とか命名に関連した話題に少しでも触れると テメエを棚上げしてスレ違いだの難だのってギャーギャー騒ぎやがる。
乙竹の場合 empty empty
struct Node { node *dick; node *anal; }; これでいちおう連結可能だよね
だから、そういうの面白いと思ってるのかよ。 本当に気色悪い奴だな。
struct node { node *l; node *r; }; これでいい
小文字の l はかなり使いたくねーなw とくに単発だとw
struct node { node *sink; node *source; }; これにする?
現在クスリのデータベースを構築していまして、 下のようなテーブルがあります。 productテーブル -product_name ingredientテーブル -product_id -ingredient_name -value -unit ingredientテーブルには成分の名前と、分量、単位が入っているのですが、 このままだと、何グラムあたりの成分量なのかがわからないため、 「成分表の分量は何グラムあたりの分量なのか」という情報を保持するカラムをproductテーブルに追加したいのですが、 どんなカラム名がいいでしょうか?
その3カラム全部まとめて含有率の1カラムだけでいいじゃん
>>569 そんなもん計算済みの値(正規化した値)を入れろよ
572 :
569 :2010/10/15(金) 10:07:20
>>570 >>571 値を正規化するというのは、言われてみればもっともなのですが、
そうなると、正規化するためのインターフェースの作ることになるのですが、
そこでもやはり、正規化前の値と、「何グラムあたり?」という情報が必要になると思うのです。
単純に「per」とかでいいですかね?
食品の栄養成分表によくある1食(○○g)当たりってことなんじゃないの? 普通にweightでいいんじゃね?productの重さと同一なんでしょ?
つまんね
>>574 ああすまん、内容量を保持する変数を用意すればいいだけじゃんな
まったくもって
>>571 の言う通りとしか言い様がないな....
こんなの標準以上のプログラマの100人中100人が同意すると思うわ
>>579 用途次第じゃね
ラベルデータの閲覧用なら正規化したら分かりにくくなるだけだろ
ここはバカばっかだな
成分Aは1000mgあたり 成分Bは1lあたり 成分Cは1モルあたり こんなデータ、普通は屑。 ついでに言えば製品名と成分を別のテーブルにするのもよく意味がわからない
正規化されてねぇとか、テーブル間にカラム重複があるとか、 粒度がマチマチだったりとか、 プログラマが見たらギョッとするようなテーブル設計はよくある。
誤差とか気にしない人は多そうだな
じゃあ分数クラス持ってこい
これが普通とかみんなそうする とかいうのが何か説得力を持つとでも言うのだろうか
俺は聞いたCDしまってから次のCD聞くけどな
>>579 いい加減にしろ馬鹿
導出項目(計算済みの値)を排除するのが正規化だっつの
馬鹿っていうやつが一人住み着いてるね。隔離できないかしら
590 :
デフォルトの名無しさん :2010/10/16(土) 09:12:12
擬似コード: Collection objects = ...; // 要素が重複しうるコレクション Set a = new Set; // 要素の重複を許さない空のコレクション for(obj in objects) { if(a.has(obj)) continue; a.add(obj); SOME_OPERATION(obj); } こういう使い方をする重複を許さないコレクションaの名前ってどんなんにしてます?
unique_set
592 :
デフォルトの名無しさん :2010/10/16(土) 09:25:58
説明不足で申し訳ないです
重複を許さないコレクションの型名ではなく、
>>590 の擬似コードような文脈、
つまり同じオブジェクトに対して二重に処理しないようにする為に
処理済みのオブジェクトを記録しておくSet型の変数の変数名に迷っているのです
今は取り敢えず guard にしてるんですが・・・
for(obj in objects.Distinct()) { SOME_OPERATION(obj); }
おれならtempとかかなぁ
processed done finished
596 :
デフォルトの名無しさん :2010/10/16(土) 10:21:47
doneいいですね。それに決めました。ありがとうございました
ドゥーン!
dupechecker
どね
601 :
デフォルトの名無しさん :2010/10/18(月) 13:45:21
ドゥクドゥーン!!
theとかaとかは省略するもんですか?
別の変数と役割を区別するための重要な意味があるのなら付けてもいいよ
>>602 Smalltalk界隈では(?)型に対して変数をa変数とするのを良く見る。
Personに対してaPersonみたいな。
省略というより、プレフィックスをつけることによって 名前が衝突しなくなるメリットを考えてのことじゃないかな。 C/C++では型の名前空間と変数の名前空間(コンパイラのね)は 異なるけど、それでも読む側が混乱しないようにそうすることはある。 プレフィックスより、MSのように型は全部大文字、変数はキャピタル、みたいなコンベンションもある。
念のため、Smalltalkの場合は型を見分けやすくする目的と、もうひとつ、aPersonのPerson部分を 選択して、explain it あるいは bowse it することで、説明や定義を見ることが出来るという 前提があるので、静的型の、あるいは、IDE 前提でない言語でそのまま真似る メリットはほとんどない。
Smalltalk の標準IDEってなに?
smalltalkの場合は言語処理系とプログラム環境・実行環境(あるいはシステムブラウザ)が分離してないから 標準IDEは存在しないでしょ。
どうでもいいです
大学の基本情報対策の講義、受かってたら免除で単位くれねぇかなもう出るのメンドくせぇ
誤爆しましたすいませーんはんせいしてまーす
どうでもいいついでに、SmalltalkはIDEとキャメルケース記法の元祖でもある。
定数の1/PIの名前なんてつけたら良いですかね?なるべく短いほうがよいです
_1_pi
>>613 無理にそんな定数を定義しないのが正解。
そんなの定義しても大したメリットはなく、その割にただ不要な混乱を導入するだけ。
one_over_piかな
iPi
円周率の逆数だろ? inverseOfPi
>614-618 ありがとうございました
div_PI にしよう
piの逆だからip
割った数っていう意味でoverで統一したほうがいいのかも。。。
コーディングでoverなんてつかわねーよ
使うしwww オライリーで書いてるネイティブ筆者とか使いまくり
略してo_piか…
math.hより #define M_PI 3.14159265358979323846264338327950288 /* pi */ #define M_PI_2 1.57079632679489661923132169163975144 /* pi/2 */ #define M_PI_4 0.785398163397448309615660845819875721 /* pi/4 */ #define M_1_PI 0.318309886183790671537767526745028724 /* 1/pi */ #define M_2_PI 0.636619772367581343075535053490057448 /* 2/pi */ #define M_2_SQRTPI 1.12837916709551257389615890312154517 /* 2/sqrt(pi) */
ハイハイ妄想文庫の話題はほどほどに
invPI
_1byPi
プログラマーやゲームプログラマーに聞きたいんですが、 変数名とかつけるのにルールとかあるんですか? あれば、簡単に教えてください。
関数のやることが複雑な場合どうしたら良いですか? manipulate1 manipulate2みたいなので良いですか? それとも長ったらしく aMaskThatIdentifiesTheTrailingZerosとか やった方がいいですか?
分けろ
やった方がいいです
SizeOfX XSize XsSize どれが正解ですか?
>>634 汎用的なライブラリや関数でもない限り、処理内容で命名するのは愚策
逆に汎用性が必要なら、簡潔な命名が出来る程度に処理の粒度を下げる
何をしてるかじゃなく、 何をするために使うか、か
hash_map が unordered_map に変わったようなものか。
fast_mapとlite_mapのが分かりやすくてよかった
ArrayListなんか最悪
hash_mapは別に悪くないと思うよ。ハッシュ使うのは実装じゃなくてAPI自体の仕様なんだから。 ArrayListは不必要に実装を曝け出した悪い名前。
>>645 Concreteクラスじゃないか、なんら問題ない
LinkedListのが最悪だろう 実装をさらけ出した上に、そのリンクリスト実装自体が低速低パフォーマンスで、存在自体に意味が無いというw
チャットアプリケーションを作っているのですが ・自分のipアドレス ・自分の名前 ・相手のipアドレス ・相手の名前 を格納する4変数の名前はどのようなのが適切ですか
mObjectsNum より mNumOjbects の方が連想しやすい
>>649 struct ConnectionDir
{
ipアドレス from.ipaddress;
String from.handleName
ipアドレス to.ipaddress;
String to.handleName;
};
>>644-645 え? インタフェースListに対して、
実装を選ばせるための ArrayList, LinkedListじゃねーの?
Mapに対して、
HashMap, IdentityHashMap, TreeMap, WeakHashMapがあるのと同じ。
悪い名前だと??
ArrayListとLinkedListとでLinkedListを選ぶ奴はいないからやはり意味はないけどな。 取り出し順序が不定のHashListとか、弱参照のWeakListがあるならわかるけど。
?
>>652 ArrayList以外はインターフェイス的な仕様を表してるじゃん。実際に外から見た動作や使い方に影響する。
でもArrayListだけは違うだろ。Listを忠実に実装してるだけだ。
何もかも抽象化して実装を意識させないやり方がいい方法だとは限らない 特にコンテナは実装を表す名前をつけてもいいどころかむしろ実装を名前に反映させるべき コンテナとアルゴリズムの組み合わせは実行効率に激しく影響するから実装を知らずにコンテナを使うのは悪でしかない であるから使用者に実装方法を容易に知らしめる名前は良い作法となる
苦しすぎる 自分の過ち位認めろ
コンテナを抽象化するやつはアホってスコット先生も言ってることだよね 常識だと思ってたけどまだコンテナの実装を隠せとか言うやつがいるのに驚いた
抽象病は一過性の病気 大目に見てやろうぜ
抽象病なのに抽象化の暗黒面を抽象的に理解できないのは皮肉ではあるな。 クラスの名前に求められるのはその機能や特性を端的に表していることだが、 機能や特性がその実装方法と密接に結びついていている場合については 確かにそれを名前に使ってはいけない理由は何もないな。
「インタフェースListに対して、 実装を選ばせるための ArrayList, LinkedList」 ある種のストラテジパターンだよな。 アルゴリズムの選択を与えるという。
アルゴリズムじゃねーしwww
リンクトリストはアルゴリスムなんすよ
でもLinkedListってListの実装としては非効率すぎて使い物にならんよね Listの具象クラスが欲しくてLinkedList使うことはないな .NETだとLinkedListはIList実装してない
そろそろスレタイを読んで効率的な議論をしましょう
.NET使ってANDROIDとかIPHONEのアプリを開発できないんですか?
- トレーラは車としては非効率すぎて使い物にならない - 車が欲しい時にトレーラーを使うことはない などという意見は、「車」という概念を正確に理解してない(過剰に狭い意味に誤解している) ことを語ってるだけだと思う。
>>670 車の話をしようとしたら、トレーラーを
ねじこんでくるようなヤツとはまともな
議論ができないな。
get(int) や set(int, E) だけが List インタフェースじゃないんだぜ listIterator を忘れないでくれよな
>>671 お前とはまず車の定義からハッキリさせておく必要があるようだ
低レベルすぎて付き合いきれんが
「くるま」で自転車や猫、馬の話をねじ込むのはどうかと思うけど トレーラーは別にいいんじゃね? つかここ変数名スレだったのかよ
だがしかし 道交法では「車」は「自転車」や「リヤカー(三輪車)」も含むんじゃなかったか? 「車両」だったかもしれん
>>675 猫も馬も車両だよ
でも普通「くるま」っていえば自動車のことだよね
クソくだらねえ
でもLinkedListってListの実装としては非効率すぎて使い物にならんよね Listの具象クラスが欲しくてLinkedList使うことはないな でもトレーラーって車の実装としては非効率すぎて使い物にならんよね 車の具象クラスが欲しくてトレーラー使うことはないな なるほど。 とりあえず>666は頭悪そう。
JavaのLinkedListがArrayListより高パフォーマンスを実現できるテストコード書いてみ。 「先頭の要素を削除しまくり」とかでも実はせいぜい同じ速度・・・場合によっちゃArrayListの方が速い。
そこまでいくとスレチだから出て行ってね^^
COMインターフェースポインタのメンバ変数名、引数名は何がいいと思いますか
命名規則はスレ違い 統一されてればなんでもいい
命名規則スレ教えてください・・・
別に統一されてる必要もない
重要なのは一貫性と対称性
そして対称性を追求するあまり新語を作り出すと。 deallocateだのuninitializeだの。
「おしっこをする」で対称性を追求した新語は何になるの?
変数名がうまく付けられないのは理解が足らないから 俺の場合
689 :
デフォルトの名無しさん :2010/10/27(水) 10:45:12
左右反転するメソッド名は何がいいでしょうか?
flip
flipだと入れ替えじゃね? 反転のmirrorがいいと思う。
ReverseImage 縦方向ならInvertImage
Imageなんて一言も言ってねーなw
ImageMagickだと縦反転がflipで横反転がflop
SchemeAndAuthority
昔の英語版のフォトショでもflipだったような。 Mirrorは名詞感が強いし、必ずしも反転する意味は含まれてない。ミラーリングとかね。 だったらReflectの方がよくね?
3Dモデリングソフトでは(例えばblender)、 そういう操作をミラーと呼んでたような気がする。
mirrorじゃなくてmirror imageじゃね?
馬鹿丸出しだな。 忍者は武士でも武士は忍者じゃない。 っていうか、「鏡像」で辞書引けよ
>>704 たまにはプロトコルのことも思い出してあげて下さい
ProtocolAndHost Protost
別スレッドで延々とループ処理してるクラスHogeと、それを定期的に監視してるHogeMonitorというクラスがあります 監視したいHogeのステータスは複数有りますが、派生関係を考慮して個別の要素を監視するクラスを作り その要素に合わせたサブクラスをHogeMonitorに所持させる形を取りたいと思います。 この個別の要素を求めるクラス名をどうしたらよいでしょうか?
スター型の構造があって その中心要素と末端要素の名前は何が良い?
>>708 hub/child
center/sattelite
>>707 節子それオブザーバーパターン使うところや
気色わるっ
個別の要素っていうけど、Hoge側はHogeMonitorによって監視されるステータスをすべて意識してるよね? でないとHoge側が同期だらけになってしまうはず。 いちいちサブクラスにする意味あるんだろうか?
>>712 頻度は多くないので同期だらけでかまわんです
HogeとHogeMonitorはファクトリから派生系にあわせて対で供給されるようになっております
でHogeの持ってるステータスは派生によって重複したりするので
派生にあわせて必要な個別要素をモニターするクラスを所持したHogeMonitorを作れるようにしたいのです
よく分からないけどxxxChangedNotifierとか? Hoge自身が直接observerを受け入れるようにした方が簡単だと思うけど、 そうはいかない理由が何かあるのかな。
C++でファイル名なんですが、 ライブラリが共通で使う前方宣言とtypedefをまとめたファイルは何が良いでしょうか?
HogeStatusMonitorとかHoge〜StatusMonitorじゃだめなの? ステータスがTrue/Falseなのか値をとるのかでニュアンスが変わりそうだがどうなんだろ
718 :
デフォルトの名無しさん :2010/10/30(土) 04:54:09
c++でcompress(圧縮モジュール)に3文字か4文字のプリフィックスつけたいんで誰か考えてくれ。 crypto(暗号モジュール)のCRPTとほぼ同じ場所で使うから混乱してまいかいインテリセンスのお世話になるw
>>715 internal
define
lib
語彙すくねえなあ
723 :
デフォルトの名無しさん :2010/10/31(日) 18:51:26
あるデータ hoge をすでに持っているかどうかを判別するフラグ って isHoge じゃなんか変だよね ○○Hoge って名前にするとしたとき、ホニャララにはなにがいいかな
>>723 持っているかどうかなら hasHoge だろうjk
単純にaを持っているかどうかだけならHasAでいいけど、aが集合の要素ならContainsA
isHogeAvailable isHogeReady
FXの指標を計算する中で、relという変数が出てくるのですが、何か関連する英単語とかないでしょうか? relは前日の値との差で定義されています。
で、何に名前を付ければ良いんだ?
deltaとか?
3D系のプログラムでdrawとrenderの違いを教えてください
あるクラス同士でクロス積する関数を持った インターフェースを定義したいです。 クロス積する関数の名前は cross でいいんですが、 インターフェース名をどうしうかと考えてます。 CrossProductable はどうかと思いましたが、 他にもっと適した名前があるでしょうか。
それって要はベクトルなのでは
>>737 ベクトルとして扱うこともできるクラスです。
さらにその中のいくつかのクラスが
クロス積ができる能力を持ったクラスであることを
このインターフェースで表したい。
で、適当な名前を考えてる。
糞設計は名前をつけずに投げ捨てましょう
>>738 それってクロス積が不可能なベクトルが存在するって前提でないとおかしいのでは?
そんなベクトルが存在するのはおかしくないか?
>>739 ある関数は3次元ベクトルであることを要求するかも知れんだろ
別の関数は多次元ベクトルでも2次元ベクトルでも使えるかも知れん
前者の関数を、その引数である(仮称)CrossProductable でないクラスに適用しようとしたら、
コンパイルエラーが起こってほしいんだよ
そういう設計は普通にあるだろ
クロス積ができる事を前提にしたらアルゴリズムや記述がスッキリするとか
ちなみに、ベクトル同士の演算としては無いが、
「要素同士のかけ算」という演算が定義できると便利な場合もあるだろ
でも他の機能はベクトルと全く同じように使えるクラス
それがさっき言ったベクトルとして扱うこともできるクラスだ
そんなにおかしな設計か?
で、名前は何がいいでしょうか
>>741 有象無象のクズレスにいちいち反応すんなよ
>>741 クロス積が定義できんのは0,1,3,7元数だけなんだから
次元をコンパイル時定数にして特殊化すれば終わりでしょ
4つしか無いんだから他のクラスのためにインターフェースを作る必要は無い
作っても使わないものなんて糞以外の何でもないだろ
それと掛け算とクロス積は別のものだから勘違いすんなよ
Productableは作る価値があるかもしれないけどCrossProductableは作っても永遠に使う機会は来ないよ
>>743 C++ や Java の用語を使えば関心ある人が増えると思ったからクラスやインターフェースで喩えたが、
本当は Haskell を使ってて、型と型クラスの話なんだよ。
初めから Haskell で話すと、それだけで自分にはアドバイスできないと思う人も多からね(結局、裏目に出たが)。
で、その型クラス(仮称)CrossProductable の名前を考えてた。
ベクトル型(ベクトルとしても使える型)を使うと簡単にスッキリと記述できる関数があるが、
そのベクトル型の実装として効率のいい、かつ柔軟なものがなかなか思い浮かばないから、
とりあえず拙い方法で実装しておき、そして関数の型はベクトル型クラスを受けるよう定義した。
(後でもっと良い実装方法を考え、比較検討するつもり)
で、今度は別の関数が、3次元ベクトルに限定すると
クロス積を使って簡単にスッキリと記述できる事に気づいたが、
(次元を指定できる)柔軟なベクトル型から3次元に限定した型を作った方がいいのか、
それとも3次元専用の型を別に一から作った方がいいのか今はまだ判断できない。
だから、とりあえず関数を「クロス積が可能なベクトル型」を受けるよう定義したんだ。
これが、クロス積が可能なベクトルクラスが必要な理由だ。
C++ や java でいえばクロス積可能インターフェースが必要な理由。
おかしいか? 無駄か? 馬鹿か?
で、名前は何がいいでしょうか
すれちがい
イミフメーなので俺はパス
なんかよく分からんが分母に0がこないことをコンパイル時点で保証するために 0を含まない整数を定義したい、って話に近いようにも聞こえる。 っていうか、どうしてもそんな型が必用ならもうCrossProductable でいいじゃん。 そう冗長なわけでも簡潔すぎるわけでもなし
コンパイル時でも実行時でも好きなときに次元数=0,1,3,7をチェックして 分岐すりゃいいだけの話なのにインターフェースとかなにいってんのこの子? お前のベクトルは3次元でも明示的にCrossProdAble継承して無いと外積できないわけ?
バッファーを表すクラスをひとまとめにしたクラス名は何が良いでしょうか BufferSet?
BufferCollection
英語なら buffers is generic name
>>748 お前こそ意味が分からんな
実行時に次元数を判定する方法の一つが if 式による判定だ
コンパイル時に次元数を判定する方法の一つが型クラスによる判定だ
俺はその後者をたまたま選択しただけだ
ベクトルクラスを作るのはプロジェクト内で一人だけではないんだよ
俺ではない別の数人がそれぞれ独自に別々の実装方法で作る
俺が作る色々な関数がベクトルクラスを要求し、
中にはクロス積できるベクトルクラスを要求する関数もいくつかある
あとで、俺の関数を先の数人が作ったベクトルクラスに適用して検証する
ベクトルクラスはこういう能力がある、
クロス積可能なベクトルクラスはこういう能力がある、
という仕様を型クラスとして彼らに提示するんだよ
彼らはその仕様としての型クラスを満たすクラスを作る
だから、
> お前のベクトルは3次元でも明示的にCrossProdAble継承して無いと外積できないわけ?
当然、そうなる
意味論としては同じだが、3次元である事というよりは、
今回はクロス積ができる事というニュアンスを仕様に明示したい
この型クラスが必要であることをチーム内で話し合って決定した上で、
単に名前の案を訪ねただけなんだがな
決定するまでのいきさつや理由を詳細を語り、かつそれがお前らの理にかなってなければ、
名付ける必要なしと言って、ここでは案を出してくれないのか?
であれば、これ以上詳しく語れないから、もういいです
クロス積に拘るなあ。。。 数学板で聞いたら?
CrossProductableなんちゃらでいいんじゃないの
>>752 if(GetSize<MY_UNKO_VEC>::value == 3) { /* 外積で処理 */ } else { /* 普通に */ }
if(my_unko_vec.size() == 3) { /* 外積で処理 */} else { /* 普通に */ }
プロジェクト内でいくつもベクトルを作る意味がそもそも分からん 誰のベクトルが一番スゴイか大会でも開くの? インターフェース全員に配って再発明させるぐらいなら 実装一本に決めてモジュール配ったほうが、間違いなく低コストだしバグも減るよね (最強ベクトル選手権をやるなら話は別だが) チームに文句行って再審議したほうがいい 名前を決めてる今の段階ならまだやり直せるぞ
PureImaginaryQuaternion
ルフィーみたいに実行スピード順に同じオブジェクト名のあとに GearFirst GerSecondってつけて行こうとおもってるんですけど メモリー節約度順につけていくならどんな風につけていけば良いとおもいますか?
スピード順に First, Second って説明されたら First が一番速いかと思うじゃないか
いきなり何なんだ? この横暴な態度はw
>>752 の使ってる言語はJAVAだな
C++ならテンプレートに次元数を入力できるようにすれば
いっぱいベクトルを作る必要はないからね。
>>752 のチームは残念の塊ってことでいいじゃないか
簡潔に説明する能力の無い
>>752 に、こんな腐れ設計に異議を唱えないメンバー
自分でも「今はまだ判断できない」だの「とりあえず」だの「たまたま選択した」だの言ってるのに
それがクソ設計だと切り捨てられたら瞬間発火
どんだけ自己愛が強いんだよ
メンバーは不可解な長文でごり押ししてくる
>>752 の応対に面倒臭くなって、もう
>>752 の好きにしてくれってスタンスなのかもな
まぁ、学生さんなんじゃね。
ひとつ指摘すると10の言い訳(全部後出し情報)が返ってくる ウザい性格ベスト10に入るわ
吐き捨ての感想に何言ってんだコイツ
そこらじゅうに糞をまき散らすな きたねー奴だ
>>758 >>765 あのなぁ、俺がいつ製品を作っていると言った?
研究プロジェクトの一環だよ
正確には研究プロジェクトの準備段階のプロジェクトだよ
実装の異なる複数のベクトルクラスを作り、
どのようなシーンでどのような性能を発揮するのかを検証するのも、
このプロジェクト(の準備プロジェクト)の一つ。
>>767 全部後出し情報なんて当たり前だろ
全部最初に、この型クラスを使ういきさつを解説し、
それから名前をどうしようかとお前らに訊いた方がいいのか?
そっちの方がウザイと思うが
だいたい、説明を聞くまでは「糞設計かどうかも判断できるはずがない」のに、
>>739 が糞設計だと言うから余計な説明をしなければならないんだよ
>>771 まあここは
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。
と書かれつつもそこに突っ込んでオナニーする場だからしょうがない
>>747 の後半で終わりでいいじゃん
なにか不満があるんだろうか?
cross productableじゃないものも含む何かXがあってその特別な場合なら、 CrossProductableX の方がおさまりがいいような気がする
そもそもなぜ元の名前がダメなのか説明がないから何が気に入らないのかわからない
>>774 アドバイスをくださった方たちには感謝しています。
その人たちに対する不満は全くないです。
ありがとうございます。
>>776 ダメだとは思っていません、利用者に意味は汲み取ってもらえると思います。
ただ、productable あるいは crossproductable などという英語を今まで目にしたことが無く、
もっとよい名前があるのかなと思い質問しました。
この一文を添えておくべきでした、すいません。
>>756 >>775 あぁ、なるほど、何がクロス積可能かを名前に含んでしまうわけですね。
検討してみます。
社会に出るとよく分かるが、そういう横暴な態度がいちばん嫌われる
>>778 相手がいきなり糞設計などと言う横暴な態度であれば、
こちらも相応の態度で応対しますよ
>>775 検討してみたところ、せっかくのアドバイスなのですがすいません、
今回は CrossProductableX の X は付けない方向で考えることにしました。
CrossProductable なベクトル型には CrossProductableVector という名前を与えてもいいのですが、
今回名前を考えている対象は型ではなく型クラス(C、Java でいうインターフェース)なので、
その型クラスによって能力を与えられる側の型はできる限り限定したくないです。
クロス積可能な能力を型に与える型クラス(インターフェース)の名前なので、
今のところ CrossProductable でいこうと考えました。
これがおかしな英語であれば別の名前を考えてみますが、
今のところ指摘してくださるレスはありませんね。
大丈夫のような気がしてきました。
PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion PureImaginaryQuaternion これが正解なんですけど
>>784 誰の何に対するレスで、それが正解だという根拠
他か不正解だという根拠を示さないと、普通は話が通じないと思います。
つーかベクトルの実装なんて struct vec{real x, y, z;};とかreal vec[N]; 以上のものはありえないしやるだけ無駄 どんなにコードレベルのオナニー最適化をしても ハード使って高速化するときに邪魔になるからすべて失敗に終わる
おまえキモイ
スレ違いに誘導した戦犯はだれだろ〜ね〜
終了
結局、ぼくがかんがえた最強のベクトル選手権がやりたかったんかい
>>795 妙な言い方は止めて欲しい
チームやプロジェクト自体が馬鹿にされているようで不愉快だ
お前は、どのような状況でどのような実装がどのような評価基準の下で
どのようにランク付けされるのか、別の状況ならどうか、
などを多くのデータで検証したことはあるのか?
それらの検証作業をスムーズに、可能な限り自動で行うような仕組みを
考えてみたことはあるか?
「イチャモン君」にお前は他人にイチャモン付けるしかできない卑しい奴なんだ自覚しろ、 なんていってもまあ無意味でしょ。 基本放っておくか、それも癪ならイチャモン君の逆手をとって(こういう奴は基本馬鹿だから それは難しくない)おちょくり返すぐらいしかできることはないよ。 まともに相手しても時間の無駄。
?2chのしかも > 命名規則や設計の善し悪しについて議論するのは基本的に禁止。 というスレでこんだけ暴れといてなにいってんの? というか仕事場じゃなくてこんなところで相談している段階で > チームやプロジェクト自体が馬鹿に されて当然だと思うがな。
>>798 > 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
そんな事は
>>1 を見たから分かっている
だから最初(
>>736 )は設計には深く踏み込まず、名前を訊いている。
>>737 の質問にも無視しておけば良かったのか?
>>740 の質問にも無視しておけば良かったのか?
より良い名前の提案にそれら質問の情報が必要なのかと思い、
質問に対して可能な限り設計には深く踏み込まないように答えていたのだが、
それもしない方が良かったのか?
(ただ、こちらの態度がため口を越えて悪かったのは最低だったと反省してる。申し訳ない)
ついでに言えば、あなた(
>>798 ) に対してもスレチだから無視する方がいいのか?
ここは高校英語を超える難度の質問にはろくな回答がないから あまり粘っても答えは出てこないぞ。
>>799 2chのプログラムスレなんてどこも似たようなもんだ
解答者には驚くほどアホが多いんだからこれからは冷めた目で接したほうがいいぞ
802 :
798 :2010/11/03(水) 12:44:30
質問を終了します。 アドバイスをくださった方、ありがとうございました。
803 :
798 :2010/11/03(水) 12:45:19
>799 >800-801のいう通りなんで、こんなところで熱くなって暴れまくった挙句馬鹿にするなとか 恥ずかしいこというなって話。ここは2chですよ?ああ、スレチなんで無視してくれていい (というかこんなツッコミにまで反論するほど熱くなっちゃ駄目)。
>>803 あんたは偉そうに上から目線で忠告するより前に自分の行いを反省しろって。
馬鹿か
>>796 プロファイリングなどという常識レベルのことは日常的にやってますよ
ベクトルのようなシンプルなクラスでももちろん検証したことがあります
結論は無駄な努力せずにハードに任せるのが一番良いと分かりました
ベクトルのような概念自体がすでにシンプルなクラスは
手動で最適化したところで本当に些細な効果しか得られず
逆にハードによる高速化を阻害し、結果として遅くなるからです
お気の毒ですがあなたのプロジェクトがやってることはなんの生産性もありません
806 :
798 :2010/11/03(水) 14:55:42
>804 参加してないもん 乗り遅れちゃって
終了
英語は耳慣れない言葉でも捏造を許容する言語だからオーケー。
一々自分のレス否定されたからって暴れてたら 自分の研究者としての貴重な時間をドブに捨ててるだけだってことに 気づかないのだろうか。人生短いのに。
2chで人の足を引っ張るクズみたいなレスしかできない馬鹿って
必ず
>>811 みたいな上から目線だよね。
そういうのって日頃虐げられてる自分の実存を晒してるのとしか言い様がないんだが、
本人は馬鹿だからその程度のことのことも気付かないわけでいい気なもんだ。
お前が人様に説教できるような玉かよって
スレ違いだからしねよ
C++でHaskellのクラスに相当するものって template<class T> struct is_cross_productable{ static const value = /*template function body*/; }; こっちだよねえ。で template<typename T> double volumeOfParallelepiped(const T&a, const T&b, typename boost::enable_if<boost::is_cross_productable<T>, typename boost::add_reference<typename boost::add_const<T>::type>::type>::type c); こうか.。なげえ
すれちがい
ワロタ 何この流れ。
>>796 平均的なプログラマが日常的に繰り返している事を何を偉そうに言ってんだw
とっくに枯れた分野になってんだろうが
お前がどれほど低レベルで非生産的な集団に所属しているのかは知らんが、ググレカス
で、どこがそんな腐れプロジェクトのスポンサーなんだ?
万一税金が使われているなら苦情入れたいんだが
すれちがい
最近はゼミの課題をプロジェクトって呼んでるのか ずいぶんとカッコいいなおい
結局チューニングするのは人間で、ベンチマークだけを(ガチガチのルールで固めて)自動化するプロジェクトって事? ひ、ひどいなそれは。
すいませんでした 私が悪かったのは認めますからもう粘着するのは止めて下さい
ユニットテストとかパフォーマンスの実測とかって普通やるよな?
スレチって言われるぞ
なにか勘違いした学生が自分の糞設計をボロクソに言われて正論じゃ反論出来なくなった 脳内で高度な(つもりの)プロジェクトを立ち上げて、 そのありもしない権威を武器にして反撃しようと、或は架空のメンバーに責任転嫁する逃げ道を用意した けど、その設定に練り込みが足りなくて、更にボロがでて収集つかなくなった とまあ、こんなところだろうな
まぁ、そういうの言わんといてあげてw
土方自演
あんまり苛めると祟るぞw 叩かれて粘着、これ宇宙の法則。
このスレ自演がひどすぎて笑えるwさすが底辺プログラマのオナニースレw
売掛金って変数名だと何がいいかな
urikakekin
英語圏の人はいいよなぁフォントもいっぱいあるし
フォントフォント、というオヤジギャグ
日本語変数名使えるんなら業務に絡む用語は日本語のままにしちゃうのもありだな。
URKKKN
(つ∀-)・・・・・( ゚д゚)ハッ?
組 甲 { 公開: 無 操作(無); };
classは階級とか種族とかそっちじゃないの?
メーン関数
型 ホゲ { }; でいいよ
>>845 俺も最初そう思ったが、
クラスと構造体を使い分けようとすると、
組(あるいは分類)、構造体、として両方を「型」と予備隊。
両方を統合する必要あんの?
型で統一してクラスとPOD構造体と組み込み型はコンパイラさんが判断すればいい話なんだよな なんでC++とかはいちいち分けたんだろう
あん?
どぅ?
みき?
こういうヲタっぽい気色の悪いコミュニケーションで盛り上がる馬鹿の鬱陶しさは ネトウヨと双璧だな。
853 :
デフォルトの名無しさん :2010/11/07(日) 19:14:03
とらー
>>848 歴史的事情。
すっぴんからつくってたら、きっとそうは
ならなかったっぽいところは多い。
初期化 initializeの反対ってなんですか? 日本語と英語で 終了処理 terminate finalize しか思いつかないのですが、対義語っぽく○○化っていいたい
自由化 liberalization
setup/unsetup prepare/unprepare init/uninit
終了化 finalize でいいと思う
initializeを初期処理にするとか
初期 末期 そもそも初期化って言葉がへんだな
精神安定のためにlizeも入れたいのでfinalizeにします 日本語は初期処理、終了処理で。 ありがとうございました。
病気だなこりゃ
initialize finalize initialize terminate begin end open close allocate free どうしてこう長さが揃わないのばっかりなんだろう 昔の外人まじセンスないわ
漢字は素晴らしいよね
ほんと 昔の外人はセンスあるね
initlize finalize initializ terminate bgn end open clse aloc free
ctor dtor 同文字数だ!
enXXX deXXX すべてこれで統一すればいいよ
vec map set lst // list hap // hashmap ary // [] stk que
だめだ
ハップ!!
init ←→ tini 冗談はともかく、if のスコープを閉じるのが fi みたいな言語があったような
言語かどうかわからんがtex というかfiってそういう意味だったのか…!!?
bashとかのシェルスクリプトがそんなんだったような
はいはい cleanup
全部機能番号にしようず initialize -> f0000 finalize -> f0001 みたいに統一すればっ!
本末転倒ですがなw
GetとSetは神だと思う
取得 設定
enset unset eninitialized deinitialized
setとputを対にしてるのを見ると殺意を覚える
>>881 VB6にはさらにLetもあったな。
Set = 参照の代入
Let = 値の代入
という使い分けで。
nを110%にするような割合加算するというイメージの単語ないでしょうか? 乗算のmultiplyは別にあるので使えません そのものズバリでなくてもいいので、よさげなのがあったら教えてください
そのメソッドはnのポインタを引数に取ってnそのものを書き換えるの? っていうか、仮に適当な名前を付けたとして、名前からそれとmultiplyの違いが 推測できるのかと。 出来ない可能性が高いと思うけど、それなら名前に凝っても無意味じゃないのかね。
>>886 expand
magnify
amplify
その辺でいこうと思います ありがとうございました
変更前と変更後がどう違うのかが気になるところ。 単純に1割加算するだけなら、それこそ n*1.1 のほうが分かりやすいだろうし。
void f(int x); void g(int x); struct h { void operator () (int x); }; Hoge hoge; hoge.add(f); hoge.add(g); hoge.add(h()); hoge.add(f); hoge.call(100); // f(100), g(100), h(100), f(100)が呼ばれる こんな感じでイベント通知用にファンクタを詰め込んでまとめて呼び出すHogeクラスになんかイイ名前ない?
HogeEventMulticaster
delegate
Boost.Signalに倣ってSignalとか
>>891 unary_function_list caller;
caller.call_by_value(100);
外から見えるところにHogeManagerとかHogeControllerみたいな名前が並ぶのもどうかと思ったんで、 内側にある、管理される側の方に適当なプリフィクスやサフィクスを付けたいんだが、何が良いだろう。 ObjとかEntでいいかなあ。
アリガトウ、ソレ採用シテミル
コンテナから要らなくなった要素をすぐに削除するのではなく 一旦使用済みのフラグを立てて後でまとめて削除するとした場合 この使用済み要素を削除するメソッドをなんて名前にしたらいいでしょう?
>>899 俺なら、よっぽどの理由が無い限りそうはしないな。
もっとフツーで穏便な方法を使う。
// List list
List marked = new ArrayList();
// 略
marked.add(list.get(i));
// 略
list.removeAll(marked); // java.util.List#removeAll(Collection c)
immediateRemove lazyRemove/delayedRemove flush とか
>>899 使用済みフラグを立てるメソッドはなんて名前にしてるんだい?
>>900-902 レスどうもです
話を抽象化するためにフラグを立てると言いましたが
実際には参照が無効になっている=削除のフラグが立ってる
という感じです
emptyRecycleBin
名前がつけにくいときが、 リファクタリングの時だ。
sweep
ガーベージコレクトを行うメソッドに名前を付けろってか
pack
じゃあ collectGarbages で
恐らく、実際の処理の中身はガベコレというよりむしろ「再構築」じゃないの? restructure, reconstruct
名前があやふやになるのは結局使いにくいよ。 機能としての輪郭もユルユルだってことだ。 糞クラスや糞メソッドは、結局全体の足を引っ張るよ。 ジワジワ、ジワジワとあとから効いてくるから注意ね。
なんかさっきからしつこいのがいるね。 流石にその上から目線は言い掛かりにしか思えんな。
オプテぃマイズとか
DoGC()
ここの連中は無駄に変数名考えて実装おっせーんだろうな
うん。
long val = foo.GetValue(arg); long ret; if (val < min) ret = min; else if (val > max) ret = max; else ret = val; return val; こんな感じの処理してるところ多いのでメソッドにまとめたいんだけど、いい感じの名前ってないですかね?
retはどこに行ったんだw
clamp
middle mid
long val = foo.GetValue(arg); if (val < min) return min; if (val > max) return max; return val;
adjust
long GetValue(Arg arg, long min, long max)
confine
任意の期間例えば、2000年から2010年のデータを取得するプログラムで 開始日2000年と終了日2010年を表す変数名ってどんなのが適切ですか? 思いついたのは begin_year end_year start_year goal_year first_year last_year アドバイスお願いします
>>926 そんなかじゃ、おれなら一番下。
ちなみにrubyのrangeクラスでは、
begin first 最初の要素を返します。
end last 終端を返します。範囲オブジェクトが終端を含むかどうかは関係ありません。
とあり、begin-endも用意されてる。
from, to year_from, year_to
悩んだけどこのfrom,toって他にも色々使えそうなのでこれ統一してみます ありがとうございました
>>917 TrimToRange
ClipToRange
ApplyRange
ApplyThreshold
Limit
そういやありがちな処理のわりにこれが定番って名前思い浮かばないな....
>>917 MS社のネーミングでよければ。
Microsoft.Xna.Framework.MathHelper
public static float Clamp(float value, float min, float max);
Restricts a value to be within a specified range. Reference page contains links to related code samples.
Parameters
value
The value to clamp.
min
The minimum value. If value is less than min, min will be returned.
max
The maximum value. If value is greater than max, max will be returned.
Return Value
The clamped value. If value>max, max will be returned. If value<min, min will be returned. If min?value?max, value will be returned.
932 :
917 :2010/11/23(火) 19:25:11
>918 あああ、やらかしたw 書き写す時の間違いです… 答えてくれた方、ありがとうございました。 >919,931さんのClampを使うことにしました。
APIを使って指定したディレクトリにあるファイルをサブディレクトリも含めて巡回するコードを イテレーター形式のものと、コールバックを渡すビジター形式の二つの形式で作ったんだけど それぞれ名前は何が良いかな?
trav?
平成20年10月05日→平成20年10月 5日 H20.10.05→H20.10. 5 こんな感じで日付の二桁目が0の場合に半角スペースにする関数名は どんな感じがいいでしょう?
いわゆるゼロサプレスを行う関数ではないのですね?
suppressZeros
938 :
935 :2010/11/30(火) 14:51:18
>>936 あー、勘違いしてました
ゼロサプレスって0削除以外にも空白に置き換える意味もあったのですね
ゼロサプレスをモジッてみようと思います
何表現って言うんだったっけね、ファイル名の先頭に 1 って入れるんじゃなくて 00 って入れて 09 10 とかが順番に並ぶように考慮する方法を
あー、、アレね
pad(ding)
transform("平成%d年%d月%d日", "平成%2d年%2d月%2d日", str);
>>939 StringFormatPaddingWithZero
regexp
Haskell で Test a という型があったとして、 今やってるプログラムで次のような感じの関数をよく使うんだけど、 名前は何がいいんだろ <1> Test [a] -> [Test a] <2> Test (a, b) -> (Test a, Test b) <3> Test (Foo a) -> Foo (Test a) -- Foo a は Test a と似たような型 ... これらの関数は型の被せ方を変える(外と内を入れ替える)、 型パラメータが表す値は一切変更しないです。 なにか頭に共通の名前Xを付けて、 その後ろに <1> なら L、<2> なら T2 などと型を示す名前を付けたい。 何となく、分配するような感じがするから、 Xは distrib なんてどうかと思ったけど、もっといい感じの名前ある? (disribL、disribT2、disribF ...) 正直言うと、名前はもう少し短くしたい。
文字列から単語の長さの平均を求める関数で迷ったんだけど GetAverageOfLengthOfWord GetAverageOfLengthOfWords GetAverageOfLengthsOfWord GetAverageOfLengthsOfWords どれが正解?
947 :
デフォルトの名無しさん :2010/12/04(土) 17:22:53
GetAverageWordLength ofは語順を変えて省略可能。
thx 単数形になってるけどそれは文法上いいのかな
GetAverageLengthOf( string[] words )
>>946 文字列="foo bar baz"で
平均3てこと?
「文字列から単語の長さの平均を求める関数」って概念は便利なようで分かりにくいような。 使う言語やその他の状況にもよるだろうけど、 SplitWords() GetAverageLength() の二つに分けたほうが結局は可読性が上がるような気がしないでもない。
既存のメソッドで組み合わせたほうがよっぽど自然。 s = "foo bar baza" a = s.split(/\W+/) ave = a.inject(0) {|sum, s| sum + s.size} / a.size.to_f
セパレータが空白以外の時(日本語とか)に全作り直しになるから引数は配列がよさそうな。
parameterとvariableの違い教えてください
引数と変数
957 :
デフォルトの名無しさん :2010/12/06(月) 00:14:35
parameterとargumentの違いは?
仮引数と実引数
なんで俺は英語圏で産まれなかったんだろう。。。あー悔しい
英語圏に生まれてもアホはアホ
アホだとしても日本語の俺より英語の俺のほうができると思う
962 :
デフォルトの名無しさん :2010/12/07(火) 06:45:55
母国語の命名に違和感を感じるのは国語が発達し且つアルファベット外来語の教養を持つごく限られた国だけ
3Dグラフィックスでマテリアルが保有する値の名前は何が宜しいでしょうか? シェーダーに渡すデータの型とか値を持ちます
965 :
デフォルトの名無しさん :2010/12/10(金) 02:35:56
AS3でスクロールバーを作ってるんですけど、 最終的にスクロールバーの動作を制御するクラスとスクロールバーのユーザーインターフェイスを組むクラスとに分かれてクラス名に迷ってます。 UIのクラスに動作制御クラスを入れ込んでるのでUIのほうは単純に ScrollBar でいいと思うんですが、動作を制御するほうでなにかいい案はありませんでしょうか。 UIのプロパティから参照できるようにもしたいので、英語がダメダメであってるかわかりませんが、例えば ScrollBarControl とかでUIからは Scrollbar.control で参照できる、なんてのをお願いします。
ScrollBarController つか相互に密結合してるならクラス分けても何の意味も無いよそんなもん 分けたかったら分けてもいいけどScrollbar.controlは隠してしまうべき
967 :
デフォルトの名無しさん :2010/12/10(金) 23:27:43
>>966 レスどうも。
汎用性を考えると表示オブジェクトと動作を制御する部分が切り離せないと何かと不便なんでこんな形にしてます。
Controller頂きます。ありがとうございました。
968 :
デフォルトの名無しさん :2010/12/11(土) 03:18:36
Behaviourとか。〜Controllerって自分もたまに作るけどあまり見たこと無いな。
969 :
デフォルトの名無しさん :2010/12/11(土) 03:33:05
ビヘイビアもいいですね。 動作のみを提供してデザインは別に組むって仕組みを考えるとこっちのほうがあってるかもしれません。 くくりとしてはちょくちょく聞きますけどクラス名につけることも一般的なんですか?
Color Colour Behavior Behaviour 米国式と英国式は統一したいところだ
あるデータ配列があって M=56 N=64 とし、もし配列サイズが @Mより小さいならNまでパディングを埋めてこれを1ブロックとする AM以上Nより小さいならN*2までパディングを埋めてこれを2ブロックとする BN以上なら最初からN*AまでをAブロック、残りを@かAで処理してA+1ブロックまたはA+2ブロックとする という処理があるんですけどMNにつける適切な名前は有りますかね Nはブロックサイズでいいと思うんですがMになんてつければいいのか困ってます
>>971 threshold to pad another block
>>971 エスパーすると
redzone, dengerous level
しかし、何の背景説明もないマジックナンバーに名前を付けろって驚愕の発想だな。 俺にはこういう人理解できんわ。
>>972 ,973
どうもです
スレッショルドが分かりやすそうなので使わせてもらいます
ちなみに用途はmd5計算です
>md5 ハッシュ値計算とかはローカル変数名もほぼ決まってるというか ローカル変数名を(オリジナルから)変更しない方がいいと思うんだけどなぁ
IETFを見てみたら名前付けないでマジックナンバーのまま扱ってた
shurrup getout
変な名前のまま開発進めちゃったことあります?
"〜〜number"なのに数字以外の文字を入れちゃったり "〜〜name"なのに数字しか入らなかったり
コメントに安定ソートって書いたけど実は非安定ソート...
あるあるw
実際の業務だとリリース直前でチェックアウトとかあまりしたくないでしょ
コミットなら兎も角、チェックアウトなら何も問題ないな