クラス名・変数名に迷ったら書き込むスレ。Part17
クラス名、変数名のつけ方に悩んだら書き込むスレです。
質問する人は、その変数に何を格納するのか(クラスだったらその役割)
プログラミング言語は何なのかを、それぞれ書いて、
いい変数名を思いついた人は、それに答えてあげましょう。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
>>2 英和・和英・英英など各国語辞書と翻訳サイト。類義語(シソーラス)辞書、図形・数式・数学用語の英単語。
>>3 関連スレと、いろいろな言語規約。
>>2-10 諸事情によりリンクがずれた場合。
5 :
デフォルトの名無しさん :2010/03/08(月) 22:44:54
乙
C++であるインターフェースを継承していれば、何でも格納できるクラスになんかいい名前ありますか? ポインタっぽいけどポインタではないです class iface {virtual void method() = 0;}; class impl_a : public iface {...}; class impl_b : public iface {...}; xxx<iface> obj obj = impl_a(); obj->method(); // impl_a::method obj = impl_b(); obj->method(); // impl_b::method
InterfaceObject
どう考えてもそれってifaceそのものでいいんじゃないかと思うのですが.... ちなみにインターフェイスって継承するものじゃなくて実装するものでは? こういう区別って一般的じゃないのかな
shared_ptr使え
見た目はスマポに似てるんですが、中身はあくまで静的なオブジェクトなんでポインタではないんです
iface
PlayerクラスとEnemyクラスの分け方っておかしいよね。 EnemyもPlayerちゃうんかと小一時間問い詰めたい。
まあスレ違い
サーバー上のデータを削除、更新、追加するクラスの名前を それぞれお願いします。この3つを組として何か適切な名前をお願いします。 実行はそれぞれにexecuteか何かをつけようと思います。
ああ、後、データの取得で4つでした。
16 :
デフォルトの名無しさん :2010/03/12(金) 11:19:34
操作単位でクラスにするなと小一時間(ry delete, remove update add, append
17 :
デフォルトの名無しさん :2010/03/12(金) 11:20:40
fetch, get, retrieve
erつけなくていいんでしょうか? >操作単位でクラスにするなと小一時間( 本当はエンティティ自体にUpdateとかのメソッド付ければいんでしょうが、 実際のエンティティはWebサービスのインターネット上にあるので、特定の操作だけ エンティティをまとめて取得したり(でも更新は個々に)とか取得だけワーカースレッドで実行させたり、 とか、ごちゃごちゃになるので、考えたあげくこんな設計になりました。すみません。
20 :
デフォルトの名無しさん :2010/03/12(金) 13:34:22
>erつけなくていいんでしょうか? 済んだ話だが、そりゃもちろん基本となる単語が出てきたら 必要に応じて語形変化させるのは受け手の裁量。
Fooクラスというのがあり、アプリ中に100や200と言った数が生成されます。 そのままでは使いにくいので、この配列をまとめたBarクラスがあるとします。 外部からは、Barクラスが呼び出され、Fooへのアクセスはそこを通してのみ行われます。 要はFooが本体で、Barがそれらの管理クラスと言ったところです。 このような仕組みのクラスが幾つもあり、出来る限り同じような命名をしたいと思います。 Fooを命名の基準とする場合、Barを基準とする場合の両方についてアドバイスをお願いします。 例:Fooを基準とする場合 Foo → Foo Bar → FooManager 例:Barを基準とする場合 Foo → BarBody Bar → Bar …この命名は最悪だと思いますが、ニュアンスとしてはこんな感じで。
Bar→FooCollection
普段、変数名はxxxYyyZzzのcamel case、 イニシャルは2文字までは大文字、3文字からはcamel caseで書いているとします。 ここで、xxxYYZZのようにイニシャルが2つ連続したときはどのように書くのがいいでしょうか? 2つのイニシャルが混じって大文字が4つ続くのは、見にくい気がします。
24 :
21 :2010/03/15(月) 17:15:49
外部からはBarしか見れないので、Bar基準の名前にした方がいいのかなあ…。
>>22 これくしょん、っと(めもめも
>>23 自分はもう諦めて ID → Id とかにしちゃう。
いっそのことIdentityみたいにフルネームという手も。
>>23 頭辞語が複数連続するケースなんて現実問題ある?
ありえもしない問題考えるのは杞憂にしか思えんから、具体的に言ってみてよ。
>>24 なるほど、連続する時は2文字でもcamelでいいかもしれません。
>>25 自分が考えていたのはwp(winning percentage)とcc(correlation coefficient)です。
また、GUIDもそれに当たると思っています。
これは名称として覚えるだけの価値があるから問題ないですが、自分のコードでやったら俺用語でわかりにくいと思います。
普通、頭字語ABと頭字語XYの間にはそれなりの前置詞があるはずで、 もしABXYというのがあるのならそれはまた別の頭字語になる GUIDは1つの頭字語、IDは頭字語じゃなくて(単語の)省略形
>>25 DB ID
>>27 天下のMSジャスティスでは他の語とくっ付くなら2文字でも絶対にキャメル
30 :
デフォルトの名無しさん :2010/03/16(火) 01:24:46
だからIDはacronymではないって…
DBもなw MSというか.NETなら、省略形は何文字だろうとcamel(IDとOKだけは特別)なんだが、 ときどき大文字のDBとかが混じっていたりするw
>>33 その辺微妙だよな
DBは頭字語ではないので、本来はDbとすべきなのに何故かDBなんだよな
まあ、DBは暗黙的に特別扱いされるとでも考えておけばいいんだろうけど
最近の馬鹿はmsdnすら読めないのか? DB,IO等、2文字以下は大文字と知らんとは世も末だな。
36 :
デフォルトの名無しさん :2010/03/16(火) 08:38:21
IOはもと二語だな。
最近の馬鹿はmsdnすら読めないのか? 2文字以下の頭字語が何か知らんとは世も末だな。
>>27 困るなら変に省略しない方がいい。
未来の自分が突然WPと出てWinningParcentage、
CCと出てCorrelationCoefficientと展開できるだろうか。
XxxWinPercentCorCoeffくらいにしておくのが良いんじゃなかろうか。
39 :
デフォルトの名無しさん :2010/03/16(火) 10:32:26
なんで突然脈絡もなくmsdnでの扱いが出てくるのやら。
略語が繋がったときどうするべきか聞かれた(
>>23 )から
天下のMSがどういうルールを決めてるか(
>>33 )を参照してると思うんだけど
脈絡なかったの?
41 :
デフォルトの名無しさん :2010/03/16(火) 11:13:27
ベンダーロックインされている人なら気にならないのかも。
>>28 頭字語は、省略しないで書く場合より基本分かりにくくなる物ですが、長くなれば長くなるほど分かりにくさが上がると思います。
GUIDはよく使われる略語なので問題ないですが、WPCCは滅多に使われないのでかなり分かりにくいです。
>>29 なるほど、これに従います。
>>30 頭字語ではないですが、普段大文字で書いている物が2つ連続した時にどうするか、という問題においては関係ないと思います。
>>38 ローカル変数なので、ある程度は分かりにくさがあっても問題ないかなと。
それより、長い変数名は打つのが手間だったり、見栄えが悪かったりするのが気になります。
また、wpXxx, wpYyyのように他にもwpと付くものがあるので、分かりにくさも軽減されているのではないかと思います。
>>39 ,40
>>23 に書いたルールは、「MSでは2文字まで大文字、3文字以上はcamel」とどこかで聞いたのを書いた物なので、
MSに従うのは尤もだと思います。
穴掘り法で2D格子上の迷路をつくるアルゴリズムをつくってます ランダムな方向に穴を掘り進んでいき、四方を塞がれて進む先がなくなった場合、堀進先がある座標をすべて検索してランダムに座標をジャンプします このときに毎回検索していては無駄があるので、有効な候補地を出来る限り絞って保存・管理しておくクラスを作りました このクラスはどんな名前がいいでしょうか?キャッシュクラスとかでいいんでしょうか?
>>44 それだけの説明じゃただのリストで必要十分にしか思えない。
どうして専用のクラスにする必要があるのか分からないと名付けようがないのでは?
>>44 そのまま訳してValidCandidateCellHolder。
もっとも、有効でなければ候補ではないのでCandidateCellHolderで十分か。
なお、候補地のつもりでCandidatePlaceHolderとすると
PlaceHolderのつながりが別の意味になるので良くない。
単に保存するだけでなく、操作の関数も持っているようならHolderでなく
Managerとかの方がいいかもしれん。
48 :
デフォルトの名無しさん :2010/03/20(土) 08:38:57
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
49 :
デフォルトの名無しさん :2010/03/20(土) 10:46:47
ゲームを作っていて、キャラが生きているか死んでいるかの情報を格納するbool型変数を作ったのですが、いい名前はないでしょうか。 LivingFlagだとなんか格好が悪いし、DeadFlagもなんか・・・。
>>50 普通にaliveまたはlivingでいいでしょ。
いちいちflagとか付けるのはそれこそ馬鹿っぽくて格好悪い。
Alive! そういうのもあるのか・・・。 ありがとうございます!
どういたしまして
っていうか、中学英語レベルの基本語彙だろってのは目を瞑るとしても 言っちゃ悪いけど「辞書ぐらい引けよ」ってレベルの話だな。
Flagだとtrueとfalseでどうなっていればいいのか分からないのでisを付けましょう
isFlag こうですか?!わかりますん!
bool is_true = false, is_false = true;
if (! flg = false)
ゲームに使うクラスを作成したいのですが Sprite(いろいろ表示して動かしたり出来るやつ) Scene(場面とか画面とかコンフィグ画面、戦闘シーンのようなの) に該当するような他の名前はないでしょうか? Flashで作っています。 SpriteとSceneはAS3.0に存在するクラス名なので、被らないよう意味が通る名前を決めたいです。 ちなみにMouseクラスも被っていたのでPointingDeviceクラスとしました。 こんな感じで何か無いでしょうか。
MyXXX
接頭辞を付けるのはよくやるな プロジェクト名がMyGameだったら MgSprite, MgScene, MgMouse などなど リファクタリングしてて名前変えたくなったときにも楽
名前空間があればそれでいいんだけどな
>>63 >>64 今ちょうどMyXxxです。
が、このお手製感というか「My」のつかないクラスが存在することが見え見え感がイヤで変えたくて変えたくて本題のコーディングが進まないので、別の名前にしたいです。
MyがいやならOurにすればいいじゃない
OurもいやならOreにすればいいとおもうよ
>>65 実際そうだけど標準APIのクラス名とはかぶらない方が良い
スプライトとシーンは代わる単語ないな。stageはあるけど、別で使うでしょう。 Mouse→Rat
GameObjectとかEntityとか SceneはScreenとか
>>66 自分で作ったクラス全部に接頭辞を付けてれば何も問題ない。
標準APIのクラスなのか、自分で作ったクラスなのか一目で分かるからオススメ。
だがMyはダメだ、「お前誰だ?」って問いただしたくなる。
>>71 Sceneはゲーム世界(≒Stage, World)、
ScreenはSceneを描画する画面(≒Canvas)な感じがするなあ。
いろんなゲームのステージ名集めようぜ missionとか、world、trip
Spriteは7upとか あーでも数字が最初はまずいんだっけ
どうして既存のライブラリと同じ(少なくとも名前がかぶるような)クラス
を再発明する必要があるのだろう。
仮に
>>62 の作成したスプライトクラスをMySpriteとして、SpriteとMySpriteの関係は
どうなってるの?
>>75 Spriteは標準のを継承してちょいちょい必要な物を付け加えて使ってます。
MySpriteとかExSpriteではない名前にしたいと思っています。
Sceneは標準のと中身が別物です。
Screenが近い感じなのでそれにしたいと思います。
Screenが必要になった時はCanvasで代用できそうだし。
>>76 俺は基本的に既存のものを拡張したものについては、それと分かる名前にした方が
いいと思うけどね。
どうしてMySpriteとかSpriteExじゃだめなんだろう。
名前見ただけで「ああライブラリのSpriteの拡張版なんだろうな」と見当が付く利点は
とても大きいと思うけど。
仮にゲーム名がドラクエだったとして、 DQSpriteならそのゲーム専用だと、すぐに分かるだろう? 俺ならMyって誰だよ、Exが拡張って、じゃあ拡張じゃないのがあんのかよ?と重箱突きたくなる。
>じゃあ拡張じゃないのがあんのかよ? ちゃんと人の文章読んだら?
↑馬鹿
拡張してあるからEx付けてるんだろうに 重箱の隅をつつきたくなる理由が分からん
もちろん拡張って言ってもいろんなレベルがあって、 コンポジションで元のものを利用してるだけでもう完全に別物といえるようなものに MyHogeとかHogeExみたいな名前をつけるのが良いとは思わない。 ただ、Hogeから派生して一つか二つメソッドを付け加えました、みたいなレベルのものだと、 Hogeの拡張版、という以上の形容の仕方がない場合も多いわけで、 そんなものに無理矢理まったく元のクラスを連想させない名前を付けても、 本来単純な話を無意味に複雑にする以上の効果は何もないでしょ。
DQSpriteなら〜の様な理由も確かにあって、 標準クラス群とまぜこぜにして開発をする気がないから、標準Spriteの拡張クラスであることを意識する必要性が特にない(意識したくないの方が近い)という理由でもあり でも最大の理由は個人的にMyとかExをつけるとクラスの独立性みたいなものがあやふやに感じられて嫌だからです。 (拡張してるんだから独立性もへったくれも無いのですが、前述のように標準Spriteは使わないで作るつもりなので、形式的に独立したクラスであるように見せかけたい) 荒れさせるような話を振ってすみません。
Flashって名前空間ないのかな? お勧めはしないけど(むしろ普通はやっちゃだめだと思うけど)、 名前空間があるのならもう完全に同名のSpriteにしちゃえばいいと思うよ。
Klass とかと同様なノリで Sprite -> Splite
誰か日本語に訳してくれ
>>86 さすがに l と r だと発音が違うからダメだろ
$prite $creen
90 :
デフォルトの名無しさん :2010/03/21(日) 18:52:09
LaTeXマクロでの@の使い方を思い出してしまった。
Perlかよ
普通は[どういう風に拡張したかを表す単語 + Sprite]だろうが
AccordingToRequirement_AdditionalMethodsAndVariableImplementsSprite
>91 そこはPelrだろう
regex("\.zip+"); ""の部分を格納する変数名は何にすればいいですか?
.zip, .zipp, .zippppppにマッチするんだっけ?
pattern パターンという表現すら出てこないということは、 そのパターンに対する名前ではないよな
ま。regexStrでいいと思うんだけどね
その変数に何を期待するのか具体的に分からんとなんとも、だな。
局所的な変数は関数の仮引数の名前を与えることが多いかな。
そういう意味では
>>99 に一票。でも何でもいいか。
シーケンシャルにデータをダウンロードするんだけど、 それを管理するキューのクラス名は?
105 :
デフォルトの名無しさん :2010/03/22(月) 20:09:17
専用クラスを作るほどのものなの? ただのキューで、変数名を データの種類 + queue とすれば事足りる ものではない? download request queue とか。
106 :
104 :2010/03/22(月) 20:15:25
>>105 確かにそう言われれば、その通りですね
面倒くさいからクラスを作ろうかなって事しか、考えていませんでした
なんでD言語使わないの?
ださいから
おっぱいのサイズはC++ぐらいが丁度いいだろ
うん つまんない
>>102 それだと検索対象もしくは置換文字列に見える。自分だけかもしれんが。
うん おまえだけ
うん おまえだけ
なんか今日会社でやなことでもあったの?
↑ニート
↑身障
大半の企業は今日平日だぞ 休日とか言ってる場合じゃない
ああ一応 「昨日」な
ニート君言い訳がましいですね
>>117 「平日」として働いてたんなら会社に騙されてるんじゃね?
そんなニート臭い突っ込み要らんから 普通に通る話だろ
特定のライブラリが使えないのでもどきを自作した場合どう命名したらいいでしょうか? 名前空間で区切られてるとはいえ同じ名前を付けると混乱の元になりそうだし 別名をつけると見通しがわるくなりそうで・・・
>>122 聞いてるのはクラス名?
ネタ元と同じでいいでしょ。
そもそもそのための名前空間なのだから。
ネタ元のクラスが使えない(つまり混在はありえない)のになんで躊躇する必要があるの?
単機能のdllだと悩む。 名前空間、クラス、メソッド 同じものしか思いつかないw
名前空間
>>125 のフルネーム
クラス 機能名
メソッド do
>>126 名前空間 "デフォルトの名無しさん"
クラス "機能名"
メソッド "do"
ですか?できれば全角文字は回避したいです。
やまだくーん
うん つまらん
xxxの個数ってnumber_of_xxxだけどもっと短い言い回しってないの?
xxxxs とか xxxxes みたいな複数形かねえ。 でもそれだと xxxx のコレクションって解釈する人のが多いよなあ。
おいら nHoges で統一してるー。 異論はあるだろうけど統一されてりゃそんなに問題なさげ。
134 :
デフォルトの名無しさん :2010/03/26(金) 20:23:04
xxx_count とか。
xxx_count は結構使うかも。xxx_total とか total_xxx なんてのも見たことある。
num_xxx って意見の人は居ないのか ググったりソースコード検索で調べると numXxx が一番多く引っかかる 一番引っかかるからってどこでも通用するかは分からんけどね
なんでもいいんだよ。ベストは存在しない。 ベターと思えることをやればいい。
最近のスペル省略しないで変数名長く書く風潮にそまったせいで num_xxxx ってするぐらいなら number_of_xxxx、略しても num_of_xxxx にするようになっちゃったなぁ・・・
numof_ nof_ は見たことがある
nof_ はさすがに of の方略せよって思うがw なんだか nor とか nand みたい
cntXxx
num_xxxs
XxxNumはもしかして少数派なんですか xxx_num、xxx_count、xxx_sizeあたりをテキトーに使ってるな
マイノリティとか関係なく、明らかに自然言語の意味から乖離しているので不適切 hoge count/count of hoge/the number of hoge → hogeの個数 hoge number → hogeの番号
↑馬鹿
numberなんて付けたら駄目だろ だせえwwww
XxxNum → Xxxx, the number of. かもしれん まあでも Num が前でも後ろでも多分総数あらわしてるんだろうなーって想像するような気はする。
record number box number room number
number of 略して no とかでいいんじゃない
>>151 そういう時って xxxNo 使う方が多くね?
line_number line_no line_count no_line no_lines number_of_lines
とある本の外人が nbElements ってやってたんだよ。 さすがにこれは嫌だったので、nElements に落ち着いたってわけ
nbはたまに見るな、外人にとっては普通なのかも知れん 俺はnum_xxxかnumXxxだなあ NoはYes/Noと誤解しそうだから使わない
いただきハンガリアンな流れだな
全くだ。正直、このスレでこんな流れになるとは思わなかった。 なんだかんだでstrHogeだのメンバ変数はmから始めるだの 前時代的な命名をする人が多いんだろうか。
まーたアプリケーションハンガリアンとシステムハンガリアンをごっちゃにして批判ですか。
そりゃどちらのハンガリアン記法に対しても批判的な見解を持っているからな。
プライベートメンバには普通に使う private: size; public: get_size() { return size; } private: size_; public: size() { return size_; } 下のほうが楽だし あとはデリゲーターとかで private: void func_(); public: void func() { func_(); } もよく使う
プライベートメンバは区別するとしても自分は前置だなあ。 size_ より _size
古い人間は前置だと、ここのスレで気づきました
ググってたら、同じファイル内で引数には _size、プライベートメンバには size_ を使ってるソースがあった。 やっぱハンバリアンは死んで良いわ。
前置ってそもそもC/C++じゃアウトだから他でも使いたくねーな。
アウトってC/C++の文法的に? 別に "_" が前置でも後置でも問題ないぞ
前置アンスコって予約されてんの?
int _hensuu って書き方は予約語がうんぬんかんぬんでダメってよく聞くんだけど、 具体的にどう駄目なん? 大学の授業で struct _hoge{ int a; _hoge *next; }hoge; みたいなのを見た覚えがあるんだけど。
>>169 問題になるのは2つのアンダースコアではじまる名前
1つのアンダースコアではじまる名前はよく内部的に使用されるクラス名や変数名に使われる
個人的にはそういう理由で名前にアンダースコアを付けるのは好かない
Cでは ・グローバルスコープにおいて '_' で始まる ・'_'+大文字で始まる ・"__" で始まる ものが予約されてる さらにC++では"__"が途中に含まれるものも予約されてる
>>169 規格に「予約語だから使うな」って書いてあるんだからダメ。
大学の授業なんてC++の専門家でもない人間がやるんだ。
酷いときには勘違いした内容をそのまま教えたりするからなw
まあ、実際アンダースコアで始まる名前を付けたからといって問題になることなんてレアだし、
研究者にとっては期待したとおりに動くなら規格上どうであろうと関係ないからな。
多分
>>171 のケースだけがダメなんだろうけど、いちいち覚えてないから
とにかく「'_'で始まる識別子」と「"__"を含む識別子」は避けるようにしてる。
ゲームでちょろっと必要だったからでO(1)で要素の追加とランダム取り出しできる集合(要素のくじ引きみたいな目的でつかう)を作ったんだけど名前が決まらなない。なんかいいの無いかな?
俺は現実主義者だから、"__"はともかく"_"でのプリフィクスを教条主義的には 否定しないけど、視覚的に見難いし醜いから好きではないな。 C#だとフィールドにこれを使う習慣が結構一般化してて、個人的には嫌な感じ。 俺的にはフィールド(メンバ変数)のいろいろな表現方法にあえて順位を付けると、 (1) mHoge (2) _Hoge, _hoge (3) m_Hoge, m_hoge (4) hoge ハンガリアンなんか全面肯定するつもりは毛頭ないが、メンバ変数に何もしるしを付けないのは さすがに最悪だと思う。
クラス名はただのリスト。 メソッド名でランダムにどうこうするって名前付けりなさい
>>173 クラス名は単に何のコレクションかに注目して付ければ十分では?
「ランダム取り出しできる」ことをクラス名なんかに盛り込んじゃうと潰しが利かないよw
そんなのは、そういうメソッドもあります、ってことでいいでしょ。
>>174 フィールド(プライベートなメンバ)についての明示的な命名規則定められてないんだよね、
C#って。
パブリックなフィールドはCamelCaseにしろってなってるからやりやすいんだけど。
MS製のC#のコードで_hogeが多いのってVBと統一してるからなんじゃないの
>>178 VBと統一するため、って意味不明に聞こえるけど。
>>177 少なくともMSはガイドラインのなかで、
_から始まるのは推奨しないと言っている訳だが。
>>178 もしかしてMSの流儀だと勘違いしてないか。
>>177 でもフィールド名にプリフィックスを使用するなというガイドラインはある。
でも公開されてる .NET のソース見ると m_hoge なんてのが結構使われてるという。
MSの.NETのソースは命名規約がバラバラ アセンブリ単位どころかクラス単位で違ってることもある
まあガイドラインはあくまでガイドラインで強制力はないしな
class Hoge { int myValue; } とりあえずプレフィックスに意味をつけてみた
>>174 メンバ変数にはthis->を付ければ問題ないと思うんだ。
this->も省略するのはさすがに最悪だと思う。
メンバにthisをつけないキチガイは死ぬべき thisが絶対付くならmなんか付けるのはアホ過ぎると気付く
よく分からん理屈
this 付けわすれたりスコープ出てるの気付かなくてメンバの方アクセスしてたとか そういう間違い防げるんじゃね? m_ とか付けとけば。 個人的には m_ も 前置 _ も 後置 _ も好きじゃないけどさ。
間をとって this_ で
意味ねーじゃん。死ね。
マイノリティだからなんだよ
静かにしてろってことだ
なるほどstaticか
「くらえ!奥技!パブリックスタティックボイドメイン!」
何かを管理するクラスは何でもmanage付けてるんだけど 読みにくいから他の方法ないですか?
Collection
ほう
DirectXを初期化する関数はどんな名前がいいですか? いつもaaaa1とか適当につけてるんですがちゃんとつけた方がいいですよね?
aaaa1 はねえよさすがにw
InitDxとかでいいよもう
aaaa1吹いたw
208 :
デフォルトの名無しさん :2010/03/31(水) 07:36:07
代入する、っていうメソッドがあって、それの引数に 自分が代入先なのか代入元なのかを示すフラグを付けたいんだけど、 その引数名が思い付かないっす。
src dst
何もかもが間違っている。
bLvalue
lhv rhv
aaaa2
lvalueでいいじゃん
from to
設計見直せなんて豚でも言える お呼びじゃないんで失せろ
>>217 どうしようもない馬鹿だろお前さん。
まあ馬鹿に馬鹿って言ったところで自覚できるわけないし、それが馬鹿ってものなんだろうがw
まあしかし、設計なんて大げさなものではないな。
そもそも
>>208 が何を言っているのか俺にはサッパリわからん。
「代入するメソッド」とか「自分」とかって何のことだよ。
分からない馬鹿は黙っとけ
from toとか言ってるが 引数2つとは言ってないんだが フラグがどうとかだし
仕様変更したほうがいいってことじゃない? A.from( B ) A.to( B ) こんなかんじ?
ちゃうだろ if(bForward) A.assign(B); else B.assign(A); だろ
+-,[.>>>++++-<,]
ファイル移動をしたいんだけど 移動元、移動先のパスを格納する変数名は何がいいですか?
source, destination
たまにdestという変数を見かけたけどそういう意味だったんですね ありがとうございます
そうですとばい
1 サーバに自分用アクションの名前を登録する 2 サーバに自分用アクションの名前とデータを送る 3 サーバ上で自分のアクション名義でなにかデータが動く というので、名前が既に登録してあるかどうかは事前にわからず、 実際に登録行為をして「その名前は既にあるので無視しました」 というエラーレスポンスが返ってくることでしかわかりません で、送信クラスにおける 「この変数を事前に真にしておくと既に名前があるよ系のエラーが返ってきても例外出さずに黙殺するよ」 という便利変数をクラスのユーザーに操作させるためのメソッド名を
supress error = true ignore error = true safe mode = true raise error = false 登録済みエラーが実際の不利益のないものなら ignore 不利益は滅多にないが起こったとしても自己責任で進む、というのなら supress
>230 p が1個たりないぞ。
不利益が無いならエラー表示する意味がわからん
234 :
デフォルトの名無しさん :2010/04/08(木) 01:09:39
最大同時読込み数を指定する変数でいいのないでしょうか。 同時処理数、並列処理数って感じです。
235 :
デフォルトの名無しさん :2010/04/08(木) 02:17:13
writeとsendの使い分けってなんだ?
>>234 厳密にその意味を表現するなら、MaxConcurrentReads
文脈上対象が明確なら、MaxConcurrencyでも
>>235 そもそもの意味が違うんだから、その通りに使えばいい
ある作業をするかどうかをboolで表す変数名を何にすればいいでしょうか? 例えば名詞だと IsStringやIsNumberだと思うのですが 動詞の場合はDoだとは思うけど何かしっくりこない
IsToPrint とか・・・クドいね。 IsPrinting とかだと print 中みたいだもんなぁ。
239 :
デフォルトの名無しさん :2010/04/08(木) 15:47:25
needPrint canPrint など、いろいろ前に付けられそうなケースはありそう。
するかどうかじゃなく可能かどうかなら Is〜ableを良く使うかなぁ。 JavaBeanの規約の癖でどうしてもIsは頭に付いてないとお尻がむずむずしてらめぇええええええええええ
IsDoPrint とかじゃだめ?
IsDoPrintは動詞+動詞+動詞になっちゃっててさすがにくどすぎないか?
243 :
デフォルトの名無しさん :2010/04/08(木) 17:06:43
doは助動詞のほうのdo扱いってことでどうか。
IsEnablePrintとか
最近 Let- って命名にハマっている
なるほど、Let はよさそう bool返す場合、isの他にhasなんかも良く使われるけど他にどんなバリエーションがメジャーなんでしょ
247 :
デフォルトの名無しさん :2010/04/08(木) 20:40:58
DBの商品コードや得意先コードは英語で何と付けたらよいですか?
shohin_code tokuisaki_code いやマジで。 業務で使ってる用語ならなおのことローマ字お勧め。
productCode と customerCode じゃねーの 普通に
おれのところはPROD_IDとCUST_ID
251 :
デフォルトの名無しさん :2010/04/08(木) 21:32:41
>>248-250 ありがとうございました!
ちなみに売上/仕入/入金/支払/伝票のテーブル名はどのようなものがあるのでしょうか?
uri,sirとか? うちの明細はurimei,sirmei,nyumei,shimeiとかになってるけど…w
むしろ辞書引いて教えてくれ
半端な略語は見ててゾッとするな
DBの命名はそれぞれじゃね? 頭にmstとか付けるとこもあればつけないとこもある ローマ字表記も多いし混沌としてるわ
DBは詳しくないんだけど ・プログラマ以外も名前を見るのか ・その名前に日本語の別名やコメントを付けられるのか このへんの仕様で変わりそうだ
対応表あればそれでいいや。 テーブル名の長さに制限あったりするのもあるし。
DBのSELECT文作るのに条件文(WHERE〜)の部分の文字列作って返す関数名で悩んでるんだけど どんなのがいいかな? get_queryだとSQL文全部って感じするし、get_conditionってのも変なかんじ
259 :
デフォルトの名無しさん :2010/04/09(金) 18:34:53
create_conditions_for (条件に使うパラメータ) とかでどうか。
get_where
build_criteria
GetWhereSegment的なニュアンスのでいいんでしょ GetWhereClause/Part でもなんでもどうぞ
criteriaってのが意味的によさそうですが、
あとで意味わすれそうなので、
get_whereとかGetWhereSegmentいい感じだと思いました。ありがとうございます。
>>259 さんのと混ぜて
create_where_segments_for〜もいいかなと思ったけどちょっと長いな。
ぼくの彼女に名前を付けてください
265 :
デフォルトの名無しさん :2010/04/09(金) 22:03:10
SQLで WHERE句 というときの 句 は clause なので、segment より clause がいいかもね。
生成してるわけだし get より create だの build の方がよくね?
関数なら where 想定してる使い方はこんな感じ select('hoge', from('foo'), where('id', '=', 'fuga'));
268 :
デフォルトの名無しさん :2010/04/09(金) 23:28:35
>>266 たいした処理じゃないのに大げさな。 makeにしとけ
$where = make_where(hoge); $query = "SELECT * FROM foo WHERE $where"; とかやってるオレは適当人間ですかね。 プリペアドステートメント使える環境で仕事してーなー
makeって付くと使役の意味かと思ってしまう make it possibleみたいに buildやcreateはビルダーなりファクトリならいいかもだけど
>>271 使役だったらletのがよくね?
makeはいわゆるmakeの印象が強いんで、
ちょっと抵抗があるなあ。
CreateとかBuildとか、そっち系に見えちゃいそう。 文法的に正しくても、日本人が見慣れない用法/単語って 使うのにちょっと躊躇ったりしない?
create とか build そんなに見慣れない? StringBuilder とか、結構使われてると思うけどなぁ。
generate にしようぜ
bearもいいな
(´(・)`)クマー
279 :
デフォルトの名無しさん :2010/04/12(月) 01:11:46
DBのカラム名について聞きたいのですが、 cakephpに習って管理用カラムをidのauto_incrementとし、 英字のカテゴリ名と日本語のカテゴリ名を設定したいです。 以下のような感じにしようと思いましたが、keyが予約語なので、嫌な感じがします。 一般的に英字と日本語をひとつのテーブルに設定する場合、このようなカラム名にするといいよ というのが、ありましたら教えて欲しいです。 create table category( id int not null auto_increment primary key, key varchar(10), name varchar(20) )
迷ったら昔の女の名前をつけてるよ
カタカナで書けば予約語と被らずすっきり
その当たりのネタはドラゴンボール板にベターアンサーがあると思うよ。
>>279 名前はクオートすればいい。
予約語と同じでも使えるようになる。
>>283 は下らないバグの温床になるからキチガイ以外にはオススメしない
>>279 カタカナはどうかと思うけど、ローマ字でいいんじゃないか?
create table category(
id int not null auto_increment primary key,
kii varchar(10),
namae varchar(20)
)
という感じで。
286 :
デフォルトの名無しさん :2010/04/12(月) 23:01:05
ActionScriptの減速処理係数(?)の変数名で迷ってます。 mc.x += (targetValue - mc.x) * 0.5; 上の式の0.5の部分です。 座標に限らずいろんなプロパティに使えるいい名前はないでしょうか。 changeSpeedとかにしてましたがスピードってのもちょっと違うような、なんて迷ってます。 宜しくお願いします。
friction
acceleration deceleration
rate, ratio, gain, factor, zoom, scale, volume, weight, coeff., AMP, rapidity, boost
>>286 制御屋さんのP制御みたいなものか?
制御屋さんの用語だと「比例ゲイン(proportional gain)」と呼ぶらしい。
まあ特定分野の専門用語だとわかりにくいかもしれんから、
differentialGain, diffGain, gain あたりで良いのでは。
291 :
デフォルトの名無しさん :2010/04/13(火) 00:29:48
>>287-290 たくさんありがとうございます。
知らない単語もあるのでひとつひとつ検討してみます!
カウントアップするような処理はどうしてる? increment? add? 素直にcount up?
293 :
デフォルトの名無しさん :2010/04/15(木) 18:04:49
increase
俺も increase
succeed
それ自体が意味を持たない変数を規則的にカウントアップするならincrease それ自体が意味を持つ変数(自動採番等)を規則的にカウントアップするならgeneratedValueとかautoIssueとかautoNumberとか。
issueだとその流れでデータを吐きに行きそうなイメージが先行するかも
>>292 そもそも「カウントアップ」って何?
単純な加算と違うの?
どうして名前を付ける必要があるの?
そこら変の背景も書いた方がいいと思うけど。
あと、increaseは、もちろん他動詞の意味もあるけど自動詞的ニュアンスもあって
あいまいだから、プログラミングではあまり使わないと思う。
>あと、increaseは、もちろん他動詞の意味もあるけど自動詞的ニュアンスもあって なるほど勉強になります。 数値オブジェクトが自身を破壊的に加算するメソッドとして実装されているなら、 適切な命名になるんでしょうかね。
なるほど。 Number.increase() とかだと問題なさげなのかな。
次の様な仕様のメソッド名に悩んでいます。言語はPro*Cです。 目的:更新対象となる表の排他チェック&レコードロック 振る舞い: 更新対象をレコードロックし、その結果を返す 排他ロックを行う条件: where 表Cの更新対象のデータがレコードロックされていない、かつ更新されていない and 表Cの外部キーを持つ表Bがレコードロックされていない、かつ更新されていない and 表Bの外部キーを持つ表Aがレコードロックされていない、かつ更新されていない 戻り値:更新可否、及びどこに問題があったかを示すステータスコード(enum) このメソッド自体が取得するのはあくまでenumなので、is〜やcan〜は使えませんし、 かと言ってget〜等にすると本来の目的が読み取れません。(本来の目的はロックなので)
>>301 ロックがあったら待たずに失敗にしちゃう仕様なの?それならいいけど。
文を読んだ限りじゃその関数は更新にいけるかどうかの判断のために呼ばれるんだろ。
内部実装でナニをしてようが関数の利用者が意識する部分じゃないし、アウトとして重要なのは更新可否の部分だけだと思うんだが。
だったらget〜statusでいいんじゃないの?
〜が何かって言われたら適切な単語が思い浮かばない。
>>302 >>303 ありがとうございます。
間を取ってgetLockTableStatusにします!
冗長になるからlockTableでおk
306 :
デフォルトの名無しさん :2010/04/15(木) 21:55:04
try lock ってのをどこかで見たことある気がする。
>>304 エラーコードを返す処理っていうのは、当然だけどエラーコードを取得することが
目的じゃないわけだから普通はgetとか付けないよ。
だって変でしょ。これを変と思わなきゃ君のセンスが変だ。
>>305 >>306 >>307 確かに、返すステータスはあくまで副次的な情報で、目的はロックを取得する事なので、変な気がしてきました・・・。というわけでtryLockTableにします!
キリがついたので今日はそろそろ帰ります。助かりました。
なんでそう、出自の異なる案を安易に連結するのか
お年頃なんだろ
311 :
デフォルトの名無しさん :2010/04/16(金) 23:28:43
画面の項目をチェックして、 未入力項目があればtrueを返すメソッドの 名前はなにがよいですか? 逆に未入力項目があればfalseを 返すメソッドの場合はなにがよいですか?
>>311 未入力項目があればtrue: entryIncompletion, hasBlank
逆に未入力項目があればfalse: entryCompletion, check, filldOut
未入力項目があればtrueを返すメソッドに存在価値は無い Validate一本
>>314 true 返すメソッドと false 返すメソッドの二つ用意する必要なんてないだろってことだろ。
validate() と !validate() で頑張れよってこと。
「満たす」→「suffice」→sffc_xxx
>>311 AllInputsEntered
それかSubmitted?
>>315 validate が boolean を返しちゃイカンだろ。
エラーの数を返すとか、エラーがあったら例外をスローするとか、
戻り値はvoidにして渡された引数(Collection)にエラーを登録するとか。
>>311 FullfilledAllRequiredElements
Lが一個多かった。 fulfilled_all_required_elements
IsValid
>>320 エラーの詳細返すか返さないかは実装の話でしょ?
325 :
デフォルトの名無しさん :2010/04/17(土) 12:14:14
>>315 入力項目にカーソルが当たるとは限らない。
必須項目に何も設定しないで登録ボタンを
押した場合のチェック用メソッドでしょ。
validateだけで何とかしようなんてUIも最悪
何故質問者じゃないフリをしてるのかがわからん
>>311 hasEmptyFields
IsAllFieldsFilled
>>313 まあ言いたいことは分からんでもないが、現実世界のありがちな要求に
即してないんだよな君の言ってることは。
例えば、とりあえず全ての入力欄が埋められた時点でsubmitボタンをenableにして、
各欄の値の具体的な検証はユーザーがsubmitボタンを押した後行う、
というのは割とありがちなシナリオだと思う。
なんか論点ずれてるけど ・「同じ検査するメソッドで true 返すのと false 返すの両方用意する意味ねーよ」さん ・「validate で一括検査とか全然使いもんになんねーよ。個別理由わかるようにしれ」さん 別に競合してないのよ?君らは。
ID無い板は自演の問題もあるけど読み手が勝手に複数のレスを単一の人間が主張してると見誤って 論旨がずれてくって欠点があるな。
>>327 さすがに複数形にIs...は変だたっかもw
まあ、でもAre....ってプログラミングではあまり見ないからなあ
313じゃないが、普通に考えたらvalidate系が適切だろうな。
仕様が変わって未入力を許可する項目がでることは十分考えられるけど、
そうなると
>>327 の名前だとおかしくなる。
>>321 の方が良さげだけど、入力文字数や文字の種類といった様々な制限の中で
必須入力だけを特別に扱う必要は(普通は)ないはず。
>>320 これも普通はbooleanを返す。エラーの数を返すのはまぁ構わないが、例外を
投げるのは明らかにおかしい。
例外とは例外的な場面でのみ投げられるべきで、検証処理という(おおまかに)
OKかNGという結果が期待されている場面では、NGは例外ではない。
>>331 だから、単なる検証じゃ不十分な具体例を挙げてるのにそれは無視するんかい。
未入力を許可する可能性を考慮すべきって、それ質問者のお題にはないでしょ。
まあ一理はあるのは認めるけど。
それじゃあ
hasOmission
canValidate
333 :
331 :2010/04/17(土) 16:12:10
>>332 分からないから番号つけてくれよ。
327で、最後の3行のことかな?
その場合は「簡易な検証」と「厳密な検証」という感じの名前になるかな。
「簡易な」というのは、(331でも書いたように)文字数や文字種のようにすぐに
できるチェックのこと。
繰り返しになるけど、これらと必須入力を区別する理由はないと思う。
あと、hasOmissionでは説明不足という感じだし、canValidateはちょっとねぇ…。
>>333 だからねえ、UIのユーザビリティーとしてはユーザーの入力があった時点で
リアルタイムで検証が行われ必要ならなんらかの警告を表示する方式の方が
優れている場合が多いわけだけれども、例えばwebアプリのように
それが難しいケースもあるわけだ。
そういう場合は質問者(
>>311 )が言うような「とりあえず必須項目に漏れがあるかないかを判断する処理」
が必要になる場合はありうる。
「簡易な検証」とか「厳密な検証」なんていう曖昧な概念化(抽象化)はそれこそよくない。
それは概念の抽象度が高すぎて、なぜ簡易と厳密の二つが必要かが、概念の名前から
汲み取れないからだ。
その点、なぜ「とりあえず必須項目に漏れがあるかないかを判断する処理」が必要かは明確だ。
既に挙げたように、未入力があるうちはsubmitできない程度のチェック機能は
あった方がいいに決まっているのだから。
335 :
331 :2010/04/17(土) 18:32:08
>>334 だからねえ、ってこっちが言いたいよ。
リアルタイムで可能なチェックの中で、未入力だけを特別扱いする理由になってないだろ。
それと、「簡易」と「厳密」で普通の開発者ならその意味と必要性は見当がつくし、
大抵の場合はこれで十分のはず。
少なくとも「canValidate」なんて阿呆な名前や、327のように概念的に十分起こりうる
(実際に起こるかどうかは別)変更に対し無防備な名前を付けるよりはずっといい。
もちろん、より問題に適した名前があればそれでいいよ。
そもそも、未入力のチェックは昔からValidationの代表的な処理の一つで、今更議論する
ことなんて何も無いはず。(実装方法はいろいろあるが)
canValidateって一体何を表してるのかさっぱり分からない 日本語で言うとどうなるの?
缶もしくは缶詰オブジェクトが有効なら真…
hasOmissionの検索結果 2 件中 1 - 2 件目 (0.30 秒) こんな有り触れた処理でまでオンリーワンを目指さなくても、良いんじゃよ?
その二つの命名から
>>332 の無能さが良く分かるなwww
>>335 >未入力だけを特別扱いする理由になってないだろ。
日本語読めてる?
例えばwebアプリのように、ローカルでは各フィールドの値の検証が
困難な場合があると何度も書いてる。
>それと、「簡易」と「厳密」で普通の開発者ならその意味と必要性は見当がつくし、
>大抵の場合はこれで十分のはず。
君は(ダメなプログラマにありがちだが)機能性と可読性を混同している。
確かに機能的にはその区別で十分。
可読性の観点からは全然十分ではない。
繰り返すように、「簡易」とか言われてもその必要性は書いた人以外にさっぱり理解ができない。
簡易などという表現は抽象的過ぎるからだ。
>>336 値の検証を開始可能かどうか。
質問者は、要は各フィールドの値の具体的な検証を開始する作業段階に
推移可能かどうかを判定するメソッドを要求していると思われるからこれでいいんだよ。
>>338 ならもっとよい具体例を挙げてから言ったら?
canValidateは悲しいことに結構使われてたりするという。
んでさ、ここ実装の話はスレ違いなの皆わかってらっしゃるよね? 未入力チェックだけがいいのか内容の検証まで一括がいいのかは もっと別な場所でパトスを迸らせてください。
英語苦手だが考えてみた entry fields are left blank
なんだこりゃw
レベルが低すぎる
>>320 入力漏れがあっただけで例外だと?
それは実装経験から導かれた答えなのか?
お前は金輪際黙ってろ
>>325 >入力項目にカーソルが当たるとは限らない。
イミフ
まずお前が勝手に設定した謎な前提条件をどうにかしろ
>>327 なぜvalidateだとその実装が出来ない事になるんだ?
例外スローしなきゃならんからか?w
>>332 お前が質問者のお題をよく読むべきだろう
なんだよcanValidateって
>>334 だからなんでvalidateじゃそのチェック機能が実装できない事になってんだよ
そして「簡易な検証」と「厳密な検証」は普通に言い換えれば「クライアントサイド検証」と「サーバーサイド検証」になる
この二つが存在するのはもう常識過ぎて、あえて言うまでもないはず
>それは概念の抽象度が高すぎて、なぜ簡易と厳密の二つが必要かが、概念の名前から
>汲み取れないからだ。
とか、雄弁に無知を振りまくのもいい加減にしてくれ
>>342 いや、意味のないメソッドの名前なんか考えても仕方がないんだから
こういう議論には意味があるんだよ。
ただ、
>>313 的な意見は少々独善的だけどね。
>>345 >命名規則や設計の善し悪しについて議論するのは基本的に禁止。
>>340 onsubmit="return canValidate();"は正直ありえん。
onsubmit="return validate();"は普通に分かる。
前者が良くて後者が駄目な理由はどこにあるの?
最初に煽り気味で正しい解答をとられたから、なんとか違う物をでっちあげようとしてるんじゃないかと思い始めてきた。
>>349 まず落ち着いて人の意見をちゃんと読んで欲しいな。
俺は後者がダメとは少しも言ってないでしょ。
全部の必須フィールドが埋まってるかどうか程度の検証しかできない場合だってありうる、
と言ってるだけ。
だから
>>311 の質問には意味があるよと言ってるわけだ。
ちなみに、俺個人としてはcanValidateとか、間違ってるとは思わないが
あまりよい命名とも思わない。
もっと明示的なメソッド名にすると思う。
例えばAreRequiredFieldsFilledみたいな感じ。
ただ、ここでは短い名前が好まれる傾向があるからそれにある意味媚びてるだけ。
>>350 だから、全部の必須フィールドが埋まってるかどうか程度の検証しかできないとして
それがvalidateと言う名前であって何の不都合があるのか。
文字長も確認しなければならなくなった場合どうするの?
onsubmit="return validate();"ならvalidateの中身を変えるだけで終わる。
onsubmit="return AreRequiredFieldsFilled();"なんてやってしまっていた場合
onsubmit="return AreRequiredFieldsFilled() && 〜;"とかやっていくわけ?
後出しで脆弱な名前を推す意図が分からない。
>>351 >何の不都合があるのか。
何度も言うように、メソッド名というのは抽象度が低い、
より具体的なものの方がよい。
一番最初(
>>327 )に書いているように、とりあえず入力欄が埋まった時点で
submitボタンをenableにする、というようなシナリオは割とありがちなわけで、
だとすれば
>>311 の質問は質問として成立していると思う。
追加。 なるべく処理内容を具体的に表現するメソッド名を「脆弱だ」として退けて、 抽象的なものがよいと本気で思うのなら、全てのメソッドはDo000とかDo001式に するのがよい、ということになる。
>>350 だから、議論は禁止だと言っているだろう。
一方的な誹謗中傷のみに留めておけよ。
>>353 は?それマジで言ってんの?
すっげー時間無駄にしたわ
>>356 それは復帰不可能な致命的不一致が発生している場合だけだ
検索したなら内容まで読め屑
ユーザーの入力値が間違ってる程度で例外は発生しない
360 :
331 :2010/04/17(土) 21:48:30
>>340 他
どうせ伝わらないだろうが一応答えとくかな。
メソッド名というのは処理を一般化・抽象化した名称を付けるもの。
327のように簡単に破綻するということは、それが出来ていないことの証。
未入力チェックというのは要するに検証処理の中の1処理と考えるのが、より一般的であり
(恐らくは)より正しい抽象化。
>>350 それと…
AreRequiredFieldsFilled
これは良くないよ。メソッド名はなるべくオブジェクト自身(=this)が主語になる
ように名前を付けるのが原則。もちろんIs this ○○?とは書けないしあくまでも原則だけど。
>>356 ValidationExceptionクラスが多くでてくるがこのことかな?
もしこれらがクライアントのvalidateメソッドの中で使われているとしたら、それは間違い。
いくら数が多かろうがね。理由は331に書いた通り。
でもこの検索結果の多くはたぶんそうじゃない。
正しいもの(例えば文法的に正しいxml文書など)が期待されている場面(要は普通のメソッド)
で、誤ったものが渡されたときに投げられる例外が定義してあるだけだろう。
それは完全に正しい例外の使われ方。
最後に
>>358 の言葉を君に送るよ。
>>331 > 例外とは例外的な場面でのみ投げられるべき
語感でもっともらしく聞こえるけど、これって何の指針にもならないよね?
http://www.boost.org/community/error_handling.html > An oft-cited guideline is to ask yourself the question ``is this an exceptional (or unexpected) situation?''
> This guideline has an attractive ring to it, but is usually a mistake.
少なくとも例外が発生する事を期待したチェック機構はカスと言える 本来は例外でもなんでもなく想定の範囲内であるはず 明確な指針が必要なほどお前が無能なら、俺が与えてやろう 発生後にも処理の継続が前提なら例外にするな
>>360 なんか倒錯してる人だなあ。
>327のように簡単に破綻するということは、それが出来ていないことの証。
メソッドに要求されている仕様が変われば名前も変わるのはむしろ当然のこと。
仕様が変わっても変らない名前を付けること = 抽象化、と考えているのなら(そのように思えるが)
君は抽象化というものを誤解しすぎている。
>未入力チェックというのは要するに検証処理の中の1処理と考えるのが、より一般的であり
>(恐らくは)より正しい抽象化。
そういう場合もあるだろうが、そうでない場合もある。
だから元の質問主はそんなもの要求してないんだってば。
このスレがどういうスレだか分かってる?
>メソッド名はなるべくオブジェクト自身(=this)が主語になる
その方が直感的なのは否定しないが、そんなことはない。
例えばドトネトのSystem.Windows.Formのメンバ一覧とか見てごらん。
例えばForm.Activate()ってFormが主語?w違うでしょ。
っていうか、質問主の要求は明らかにUIクラスのprivateメンバなわけで、
だったらなおさらおかしい。
プログラミングの世界で抽象化って言ったら、ズバリ名前を付ける事。
処理を人間が意味的に把握できる単位(関数)に切り分け、その意味を把握できるような
適切な名前(関数名)を付けること。
>>360 が言うような、メソッドの要求仕様が変わっても名前を変えなくて済むような
抽象的な名前を付けることを「抽象化」って呼ぶ人って俺はあったことない。
>>360 みたいなこと言う人俺は今日初めて見たよ。
要は、抽象化の「抽象」っていうのは、関数の具体的な実装を捨象して、
処理の本質だけを抽象して名前に表現するっていう意味であって、
>>360 が誤解しているような、より曖昧で仕様変更に耐える(
>>360 の言葉によれば、
脆弱じゃない)名前を採用することなわけがない。
その正反対だよ。
>>362 うんうん。
少なくとも .NET は例外をフロー制御に使うことを推奨してないよね。
だから Java と違って検査例外が存在しない。
しかしこのスレって実装の話での殴りあいになるともりあがるな。
>>366 検査例外の有無とは関係ないだろう・・・
>>363 全然参考にならないからそろそろ黙って?
370 :
331 :2010/04/17(土) 23:35:06
>>363 だから331では"普通は"と強調して書いてる。
311の説明だけでは適切な名前が決められないが、一般的なケースに当てはめて考えたら
「validate」のような名前の方が適切ということ。理由は何度も書いた。
>>364 , 365
で、ここでの処理の本質とは「入力された値を検証すること」と考えられるわけ。
(それは327以降、君(だよね?)も"検証"という言葉を何度も使っていることからも
共通の認識のはず。)
その副作用として、細かい(本質的ではない)仕様変更に影響されにくくなるといってるの。
つうか自演みたいなまねを平気でしといて、人のこと倒錯って…。
>>361 本文読んだ?
記事では「例外的な状況だからといって常に例外を投げるべきではない、乱用するな」
というニュアンスで、当然「例外的でない場面では例外を投げるべきではない」という
主張は何ら否定されるものではない。
時間も時間だし、スレ違いも酷くなってきたし、どっちが正しいかも明らかなのでこのへんで。
勝利宣言キター!!!
>>363 >>364 >>365 鳩山さんこんなスレでブレっぷりに磨きをかけないで下さい
尊大な物言いで何か言ってるけど抽象的過ぎて意味も分からないし
最初から最後まで言ってる事がブレブレで結局何が言いたいのかさっぱり
>>370 >ここでの処理の本質とは「入力された値を検証すること」と考えられるわけ。
そんな風には考えられません。
何度も言うように、ここは質問者の質問に答えるスレなんだから、
回答側が勝手に何が本質か決めてはダメだし、決められるわけがない。
もちろん質問者が名前を要求しているメソッドがナンセンスならこの限りじゃないけど、
質問者のいう「未入力項目があればtrueを返すメソッド」が、検証とは別に
必要な場合がありうることは何度も繰り返し説明しているし、君からも
それに対する筋の通った反論は聞けてない。
だったら、いい加減質問者が望んでもいない回答を回答だと言い張る行為は
撤回したらどうなんだろうか。
お前が挙げた話を連結すると クライアントサイドでsubmitをenableにするための判定メソッドはAreRequiredFieldsFilledが適切となるんだが 寝言も程々にしろ
世界的に推奨されているベストプラクティスがValidatorによるValidateなんだからしょうがない。
みんなまとめて 適当に話を合わせるスレへ移動すべき
>>370 > 当然「例外的でない場面では例外を投げるべきではない」という
> 主張は何ら否定されるものではない。
否定してるんじゃなくて、例外をいつ使うかという話で「例外的な場面」とか言っても
意味が無いと言ってるんだよ。
議論と言うか 色々な状況が想定されるから本質を捉えた一つのメソッドがあればそれで良い派と 色々な状況が想定されるから個別にメソッドを備え、コントローラーはそれら全てを逐一チェックし処理を切り替えるべきだ派の 埋まらない平行線を楽しむスレ 前者はここ2,3年で非常に浸透しつつある考え方で 後者は10年くらい前に氾濫したチェック漏れの温床となった考え方 初学者にとって前者は若干理解し辛いから、後者の廃絶は中々難しい
>>370 > 記事では「例外的な状況だからといって常に例外を投げるべきではない、乱用するな」
> というニュアンスで
どこを読んだらこうなるんだ?
もういいから失せろよ荒らしども
validate にすると異常値を正常な値に補正するような気がする クリッピングみたいな感じで isValid なら有効かどうかのチェックだけな気がする
>>379 そんな話じゃないでしょ。
だから、例えばニコ動でもyoutubeでもいいが、アカウントを新規に取得する場合を
考えてみる。
こういう場合、ユーザーが入力したユーザーIDが適切かどうか(既に使われてないか)
をリアルタイムにチェックするのは、不可能でないにしろ困難だったり、
また個人情報保護の観点から好ましくなかったりするわけだ。
だが、少なくとも未入力かどうかのチェックぐらいは可能だしすべきでしょうと。
本質を捉えた一つのメソッドとか、ある前提が成立する場合にしか言えない様なことを
あたかも普遍的なことのように倒錯して何を寝ぼけたことを言っているんだろう。
質問者の要求を否定してもいいが、狭い世界しか知らない井の中の蛙によって
独善的に「俺の世界ではそんな必要がありえない」式に否定されたのでは
質問者が気の毒だわ。
例外投げる場合、返り値void? それともboolも一応返す?
>>386 すまん
例外投げる処理があったとして
その関数の返り値はvoidにするかboolにするかってこと
まあスレチなんだが聞いてみたくて
>>387 100%例外投げる関数ならvoidでそ
boolにする意味がない
でも100%例外投げるならclassでもいいきがする
>>388 納得
サンクス
夜更かしして体壊すなよ
390 :
デフォルトの名無しさん :2010/04/18(日) 13:33:09
論理値を返す is*** メソッドについて質問です。言語は PHP です。 if ($this->isFailure()) { /* ~~~ */ } 上記の「失敗であるか」のように、論理値を返すメソッドがありますが、 「失敗である」というフラグを立てるために $this->isFailure(true); // 失敗である $this->isFailure(false); // 失敗でない (成功である) といったメソッドの使い方は一般的でしょうか。 これが一般的でないのであれば、一般的なやり方を教えていただきたいです。 よろしくお願いします。
391 :
デフォルトの名無しさん :2010/04/18(日) 13:39:28
>>390 isFailureは中にstaticな変数(仮にvalとする)を持ってて、
引数付きで呼ばれた場合はその値をvalに代入し、引数を省略した場合は
valの値を返すって意味なんだろうか?
誰が考えてもダメだと思うそんなやり方。
isFailureが返す値は普通にメンバ変数として持つべき。
メリット(メンバ変数が一つ減らせる)のわりにコスト(isFailureの動作が分かりにくくなる)の方が大きすぎ。
>>390 is〜は基本getter向けの命名ルールだと思うよ
bool値設定するなら $this->setFailure(true) とか、もしくはそのまんま $this->failure = true
>>390 言語によるけど、態々メソッドにするなら setter と getter の二枚を用意のが一般的。
そんでもって普通は setter と getter を同じメソッドにしたりはしないねえ。
質問のケースだと setFailure(true) とか setFailure(false) が一般的。
>>392 なんでそこでstaticな変数が出るのか理解に苦しむ。
低レベルなスレだな。
また香ばしいのが出てきたなw
>>390 $this->failure(true)ならアリ。
でも、最近ははやらない気が。
static の意味わかってないのは
>>392 だと思うが・・・
もうただの荒らしだろこれ 昨日論破された末に放置されたのが余程癪に障ったんだろう しばらく放置しとけばそのうち収まるんじゃないか?
>>404 スレ違いですが、staticの意味がわかりません。
言語、使用箇所別にstaticがどのような意味をもつのか教えてください。
>405 よそでやれよ
>>406 答えられないんだったら最初から黙ってればいいのに。
それは何か気の利いたことを言ってるつもりなのか?
>407 よそでやれよ
おまいら規制中だというのに自由に発言しやがって・・・
C言語の変数命名での質問なんですが プリフィクスにszがついてる変数がたくさんあるんですが、何を意味してるんですか? char配列がそうなのか、とも思いましたが、全てがそうではないみたいですし。
何だっけ、string/zero終端って意味だっけ?
415 :
デフォルトの名無しさん :2010/04/21(水) 19:00:34
>>414 なるほど!納得しました!
かなり直さないと・・・orz
ハンガリアン記法は使うと決めたら全部直さないといかんからねえ
システムハンガリアンはさくっと切り捨てて、自分は sz を size の略として使っている。
それは逆に紛らわしいぞw
htmlやデータなどからURLを抜き出すクラスの名前は何がいいでしょうか? 抜き出すメソッド名はGetURL()にしようかと思っています
>>419 UriPicker
UriExtractor
UriRetrieve
っていうか辞書引くだけだろw
>>419 HTMLUtil::ExportAnchorURLList(HttpUtil::GetHtml(url));
>>420 ?
>>421 それはちょっと誤解を招く名前ですね
URLの文字列を抜き出すだけなので
>>422 Utilは既にネームスペースに入っているので重複したくないです
>>423 だからいかにも「抜き出すだけ」って名前になってるはずだと思うけど。
よーわかんないセンスだなあ。
util::Document::GetURLComponents
>>424 >>425 バイナリデータからも抜き出す場合があるので
Documentやhtmlという名がクラス名に入っているのは
ちょっと違うような
おい、バイナリとか初めて聞いたぞ
別にバイナリだってDocumentなわけだが
>>427 htmlやデータ・・・ のデータにバイナリが入っていたと
URLExtractor
後出しいくない
Document=テキスト じゃないでしょ
文字列をファイルやフォルダ名にできるようにリネームする関数名 RegularRenamer としているんだけど他に良いのはありますか?
434 :
デフォルトの名無しさん :2010/04/22(木) 22:04:55
その Regular はどういう意図? 長すぎたり、ファイル名に使えない文字を含んでいる場合に ファイル名に使えるように変換したいの?
>>434 正規という意味で使いました
>ファイル名に使えるように変換したいの?
そうです
\t\nなどをReplaceで削除するだけの処理です
436 :
デフォルトの名無しさん :2010/04/22(木) 22:18:14
renameFileSystemSafe 長いかー。
「regularize」 だけで充分正規化のための変換で通じると思うな。 PathStringRegularizer() とか RegularizeStringForPath
RenameToDir
正規化ならcanonicalizeとかnormalizeじゃね?
あ、やっぱreguralizeで十分だわスマソ
RegularizeForPathにします ありがとうございました
なんか.NETにそんなメソッドがあったような
.NETはNormalize統一
>>442 少なくともforはいらないと思うけど....
確かにいらんな
ではNormalizePathにします
string normalize(string path)
あ、そのほうがいいですね。そうします
normalize だけだとイミフじゃね? クラス名が Path とか PathUtil とかならまだわかるけど。
クラス名は見ても引数名は見ないのか
452 :
デフォルトの名無しさん :2010/04/23(金) 12:13:27
引数でポインタ使うとき、pHogeにする? pointerHogeは冗長だし
>>452 pointerHogeは冗長だと思う。
pHogeかhogeのどちらか。
俺はpHogeとしてる。
454 :
デフォルトの名無しさん :2010/04/23(金) 12:35:30
ポインタの場合はpつけた方が可読性上がる? あまり実感したことはないのだが、もし実体験ある人教えてください。
455 :
デフォルトの名無しさん :2010/04/23(金) 12:36:13
>>453 ありがとうございます。
当面、pHogeで行こうと思います。
可読性じゃなくてコーディング時の凡ミスが減るかな
>>454 しばらくポインタを命名上特別扱いしてたけど
しなくても問題ないなあ
むしろしない方がいいような気がする
言語によるんじゃないかなあ
ポインタのある言語って、C, C++, Objective-C, Pascal, Delphi, . . . 他にある?
Delphi じゃなくて、Object Pascal だね。
461 :
デフォルトの名無しさん :2010/04/23(金) 17:15:43
与えられた引数が"-"ならば標準出力に書き出し、 それ以外の場合はファイルに書き出すメソッドの命名で悩んでいます。 逆の場合(ファイル読み込み)のメソッドもセットで用意します。 言語はC++です。
>>461 IfHaifunThenWriteToFileOrStdOutPut
自分なら、条件分岐の部分は名前から割愛するかなあ。
そんなたくさんのことをするメソッドは分割すべきだろう
>>461 単に writeTo、readFrom でいいと思う。
例外条件があること、それはどのような例外条件なのかということ、
あれこれ考えてまでこれらを名前に盛り込むメリットが見いだせない。
何か理由でもあるのか?
ところで、名前が "-" のファイルには出力できないのか。
(まぁ、需要はまず無いだろうが)
>>461 write(FILE*);かwrite(std::ostream&);
なにを書き出すかわかってればうしろにそれを表す名詞をつけるのもいいだろうけど
C#でFileとDirectoryの機能を併せ持ったクラスを作ったんだけど どういうクラス名がいいかな? staticメソッドなのでできるだけ短いクラス名 Filerでいいかなと思うんだけど
>>468 既存のものを2コイチしてなんの意味がある。
意味がないから名前が付けられんのじゃない?
470 :
デフォルトの名無しさん :2010/04/23(金) 20:28:31
ファイル名に - を与えると標準入出力を意味するのはUNIXコマンドで よく見る習慣。- という名前のファイルを指定したい場合は ./- とする ことになるんじゃないかな。
472 :
468 :2010/04/23(金) 21:37:08
Regexを使用してファイルやディレクトリを検索したり サブディレクトリ以下を取得したりしてます
なんちゃらUtilとかその程度でしょそんなん。
FileSystem::Search(??? path, Regex pattern);
そういうのは使いたくならないようにわざと〜Utilsとか〜Helperとか 嫌な感じの名前付けることにしてる
>>448 渡す物は「パスではないもの」なのに、引数名がpathなのは糞過ぎると思う
>>476 そんなことはないでしょ。
引数は、「ファイル名またはディレクトリ名に不正な文字または書式を含む可能性があるパス」
ってことになるわけだから、ざっくりpathでいいと思うよ。
引数としてpathを要求している所に、パスとして不正な物を渡す発想は出てこないわ
パスじゃなくてフォルダ名やファイル名を渡すんだろ
>>468 unixとかだとディレクトリファイルっつーぐらいでどちらもファイル。
javaもディレクトリはjava.io.Fileで表現するよ。
eclipseはIFileとIFolderの親インターフェースにIResourceってのがあるな。
他の例は知らない。
不正なパスを正常なパスに変換するんだから引数がpathなのは問題ないと思う 引数がstringなのに関数名がnormalizeだけなのはよろしくないと思うけど 引数がpathクラスならともかく
>>478 なんか勘違いしてると思うよ君は。
人間社会の事務処理に喩えると、たとえば、人名には使用できない文字があったり、
子供の人権保護上許されない名前があったりする。
だから出世届けに表記された名前を役所がチェックする必要があるわけだが、
届けに表記された何らかの文字列は、名前として不適切である可能性があるにせよ、
依然「名前」以外の何物でもない。少なくとも普通の人はそのように考える。
っていうか、異論があるならあるで対案だせば?
言っとくけど俺は448じゃない。
PathNormalizer(string path)になるわけ?
PathNormalizer(string maybeValidPath) とすれば満足だと思うよ
まあメソッド名に名詞はありえないと思うけどね
>>483 sourceとかbaseに決まってんだろ
引数名はpathとsrcのどっちでもいいよ(どうでもいい) normalize 動詞 normalizer 名詞
より適切な対案出されたら(どうでもいい)とか言って逃げ出す奴って何なの
なるほろ んじゃ、NormalizePathにすればいいのかな
>>476 以降パラメータ名の流れになっていると思ったらごらんの有様だよ!
どっちも一理ある感じだなあ。 辞書というか言葉の定義の問題だよな。 pathという集合にはどういう要素が入るかっていう。 実際のソース中で NormalizePath(path)って書いてあると頭痛が痛い的な冗長な感じを受けるかもな
パスのすべてに変更を加えるか ディレクトリだけ変更を加えるか で違ってくるような Normalize(string path) NormalizeDir(string path) NormalizeFile(string path)
お前ら暴走しすぎ
>>433 を普通に読め
なんか良く分からん文字列を、ファイルやフォルダ名に使える文字列に変えるだけで、別にパスは扱わんだろ
GetWithoutInvalidFileNameChars(string file)
excludeInvalidCharsForFilename(String s)
制御文字を削除するだけの処理だよね?なら remove control characters でどうだろう まあ、制御文字削除するだけじゃファイルやフォルダ名に使えない 可能性もあるけどね
500 :
デフォルトの名無しさん :2010/04/24(土) 12:34:33
file system safe は長い上に形容詞句なんだよな。 副詞化して rename file system safely じゃますます長くなってしまう。
RemoveInvalidFileNameChars(string s) これが最善
makeFileNameFrom(string) generate_file_name_for(string)
いつも思うんだけどFileNameCharsみたいに対象をやたら説明的に重ねるのは日本語の発想だよな。 特定口座徴求区分みたいなもん。 A「それどういう意味ですか?」 B「特定の口座に対して徴求するための区分だよ。わかりやすいだろ?」みたいな。 英語簿記用語とか見ると実は死ぬ程簡素なんだよな。 実際運用収益がactual returnとか。 日本人から見ると「おいおい運用はどこいったよ、あと収益はreturnでいいのか?」とか思う。 こういう、合理的な発想方法は中々できないよな。 と、取り敢えず説明的で長けりゃいいんだろ系のレスが続くなか思った。
何を言っているのだ
>>504 InvalidFileNameCharsは言語開発者が考えたんだが
"Invalid FileName Characters" でググると結構ヒットするね
>>504 つーか.NETにPath.GetInvalidFileNameChars()っつーメソッドがあってだな
無知ほど無駄に長文を連ねる典型例
無知というか、お馬鹿さんだよねw もちろんメソッドや変数の名前なんてなるべく短い方がいいに決まってるわけだが、 お馬鹿さんプログラマっていうのは、今コーディングしてる自分がが短い名前からでも その機能を連想狩可能なのは、その名前が機能を必要十分に表しているからではなく、 単に「今は」関連するいろんな文脈が全て頭に入っているからに過ぎない、 という当たり前のことがわからないようなんだよな。
>>487 sourceっていうのはdestinationがあって初めてsourceなわけで、
そんな文脈でもsourceなんて表現を許すなら、大概の引数はsourceってことになってしまう。
愚かだと思うね。
input
>>511 いや、お前の里ではそう教えられてるのかも知らんが、俺らには関係ない話だわ
TONちゃんてプライド高い割に今ひとつ抜けてるな
>515 いやけどsourceとかbaseは無いわw 引数にinstanceとかobjectとか書いてるのとそれほど変わらん
NormalizePath(string source) NormalizePath(string base) これだけの明解な付加情報があって更に何が必要なんだ?
>>517 お前もJavaとか.NetとかのAPIリファレンスをちょっと見てみたらどうだ?
>>518 メソッド名:NormalizePath
引数:path
戻り値:path
www
>>504 英語簿記用語知ってる俺カコイイが先走るあまりに取り返しの付かない赤っ恥をかいてしまった例
皆さんは背伸びレスする前にグーグル先生に一言尋ねましょう
既存の関数(メソッド)と同じ名前で全く異ることをするのはまずいと思わないのかね?
path を NormalizePath すると path を得る事が出来ますwwwww
やたら尊大な口調で馬鹿丸出しとか、哀れすぎる。
moneyをMoneyLaunderingするとmoneyを得ることが出来ます ごめん言ってみたかっただけ
dirty moneyをMoneyLaunderingするとmoneyを得ることが出来ます だな 普通は
>>523 なんかいかにもお馬鹿さんの思考って感じ。
なるほど、では例えば画像の不適切な箇所を黒塗り修正したら
画像とは別の何物かになってしまうわけね君の世界では。
学校のお勉強ができなかった人ってなんかこういう思考するよな実際。
元ネタの話をすると、パスとして不正な文字列はパスではないんだ、という
応用の利かない思考しか許さない世界では「不正なパス」という表現は許されないことに
なってしまうことに気がついてないのかな。
だって、不正なものはパスじゃないんだから「不正なパス」なんて表現は語義矛盾になってしまう。
そういう世界は不便だから、普通は不正なものも含めてパスに含めて考える。
数学が負の数や虚数を数に含めて考えるのと似たようなものだと思うんだけど、
こういう人ってたぶん数学苦手だったんじゃないのか
じゃぁ引数をerr_pathとかにすれば解決じゃね
>>522 はNormalizePathについてじゃね?
InvalidFileNameCharsを関数名に含めると
いい感じに使いたくなくなるな
>>528 >なるほど、では例えば画像の不適切な箇所を黒塗り修正したら
>画像とは別の何物かになってしまうわけね君の世界では。
例え下手すぎ。何言ってんの?
「パス」として不正な物は「パス」として扱えないのだから、「パス」と呼ばずに「不正なパス」と呼ぶべき。
前提として、普通の感覚で「パス」と言ったらそれは「パス」として解釈可能であり、強いて例えるなら「1000までの正の整数」位の明確な基準を持つ。
例えとして「数」に対応するのは「文字列」だろうな。
お前が「この関数はpathを要求します。」と言う文を見て、「適当に文字列わたしゃ良いんだな。」と思う基地概算ならもう何も言うまい。
無能なゴミ屑とだけ言わせて貰う。
>>532 なんかいかにもお馬鹿さんの発想って感じ。
人の話を全然聞いてないしw
まず今問題にしている引数は、
>>477 に書いたように「不正な文字または書式を含む可能性があるパス」
であって、「不正なパス」などではない。
次に、不正なパスもパスに含めて考えるのが合理的であるのだから、
それ(つまり「不正な文字または書式を含む可能性があるパス」)を
パスを呼ぶのも不適切とは言えない、と言っているのに
「不正なパスは『不正なパス』と呼ぶべき」では全く会話になってない。
頭悪いよ君。
自覚しろって言っても無理だと思うけど。
>>511 がアホなのは間違いないが、
>>532 もちょっと明後日の方向にいった感じだな
つーか
>>511 は最近居着いてる、わざとアホなことを書いて議論を吹っかけてる奴だろ
真面目に相手をするだけ無駄
アホなことねえ.... sourceとdestinationみたいな対にして使わないと意味を成さない言葉があることなんか プログラマの常識だと思ってたけど、まあどんな世界も非常識な奴っているからなあ.... 同じことを書くのもばかばかしいけど、単にブラックボックスの「入力」って意味で sourceって言葉を使うのなら、ほとんどの関数の引数はsourceになってしまうよ。
たのしーなー
まず今問題にしている引数は何だったけと振り返ると > 433 > 文字列をファイルやフォルダ名にできるようにリネームする関数名 実は誰も引数がパスだとか言ってない。 さて、そうすると引数がパスだ/パスじゃないって断言できないな。
>>520 > お前もJavaとか.NetとかのAPIリファレンスをちょっと見てみたらどうだ?
そりゃ引数にsourceやbaseっていくつもあるんじゃない。
でもこのnormalizePathのコンテキストで引数にsourceやbaseを使うのは
それを読むときになにも追加情報を与えてくれないっていう点でやっぱ変だなあ
>>538 もう少し考えろ。
その引数に文字列を渡す以上の追加情報が必要無い事を追加情報として与えているんだよ。
逆に引数にpathなんて付いてると不要な混乱を生む。
よくわからん理屈。
>>535 だからお前さんの村の仕来りを全国に広めようとしないでくれwww意味分からんからwwww
主張に論拠を沿えることもできないお馬鹿さんのくせに粋がって無理しちゃって。 俺が言っていることは正しい、なぜなら俺が言っているのだから、って奴かね。 相手を罵倒したところで、君がお馬鹿さんで不適切なことを言っている事実は 変わりはしないのに。
しかし、無視しろ、だってさw いつも思うけどこの手のことを書く奴ってよくそういう自分を棚上げして平気の 安っぽい自分に平気でいられるよな
>>521 ぐぐってレスするのはずいぶん背伸びした状態だと思うが、最近はそうでもないのか?
>>545 だから背伸びするならせめてググレって事だろ
文盲の人?
>>544 日本語が崩壊し始めてるぞw
涙拭けよw
>>546 ああ、そういう意味だったのか。背伸びレスを肯定する人はいないと思い込んでたもので。
しかしいきなり文盲はきついなw
>>535 の理屈が誰にも分からんって、このスレどうしちゃってんの?
このスレは時々すごいのが出没するから楽しくてしかたがない。
>>549 >>535 の理屈が正しいと仮定すると、殆どの有名所ライブラリが真正面から
>>535 の理屈に違反している事になる。
で、あらゆる専門家が無視している理屈に理解を示す必要がどこにある?
>>551 >>535 の理屈に反している、つまり、殆どの有名どころライブラリのパラメータ名はsourceであるといっているんだよね?
>>548 やはりお前は文盲だわ
どこの誰が背伸びを肯定してるんだよ
背伸びしたがる馬鹿は死んでも直らないと言う一般常識を持ち合わせていれば、諦観から来た一言だと分かるだろう
>>539 > その引数に文字列を渡す以上の追加情報が必要無い事を追加情報として与えているんだよ。
sourceにそんな意味込めちゃうのかw
ちょっと新鮮だわ
>>553 背伸びレスするとこういうことになるからやめとけ、といえばそれで済むこと。
背伸びレスをするためにはこういうことをしてからね、というアドバイスをしているのは何で?
なお、そのような一般常識は持ち合わせていない。
一般というのが限られた範囲であるのならそれは分からないが。
>>551 自然言語でも単に「(変換)元のデータ」とか「値」みたいな抽象的な表現以外しようがない
ケースもあるから、そういう場合は引数名にsourceとかvalueとか使っても
誰も文句は言わないし、現に使われている。
引数にもっと具体的な意味が与えられているケースに、わざわざ好んでより
抽象的な表現を使うのは愚かとしか言いようがない。
っていうか、虎の威を借りて(全然虎の威が借りられていると思わないが)ないで、
自分の言葉でどうしてこの場合sourceという表現が合理的なのか説明したら?
まあ無理しなくていいよ。
どう考えても不合理だから。
>>552 馬鹿じゃねぇの?
そりゃ
>>535 の理屈に沿っているっつーんだよタコスケがwww
でだ、srcとdstを単品で使用しているライブラリなんて腐るほどある
>>555 ただの皮肉だよ文盲
こんな下らん事を皆まで言わすな
もう黙れ
"背伸びレス" とか変な言葉使うなよ
>
>>555 > 背伸びレスをするためにはこういうことをしてからね、というアドバイスをしているのは何で?
そんな質問するのは何で?
って質問して欲しいの?w
>>557 おいおい
>>535 の理屈に沿えば、sourceだらけにならないはずだろ?
てか、sourceには何の意味も持たないという意見もちょっとおかしい。それは十分sourceであるという
意味を持っているはず。単にvalueであるのとは違うよ。
ぐぐることで背伸びじゃなくなるという認識だろうか。それなら合点がいく。
>>556 お前本当に話題の発端である
>>433 を読む気がないのな。
もう一度読めば?恥ずかしくて顔真っ赤になるだろうから、あまりお勧めはしないけど。
>>561 馬鹿乙
1日後にもう一度流れを読み直して反省しろ
この暴れまわってるのって一人?それとも複数? 一番落ち着いてない人が落ち着け落ち着けと言っているように見える
\t\nなどが含まれる文字列を指してpathとは言わんだろう 普通の神経してれば
正規化することで0-1個のパスが得られるという状況を考慮すべきだろうか
不毛だねえ。 そもそも前提が双方違うんだから 斜め上を繰り出しあってかみ合わないのは当然だろう。 感情だけがぶつかりあってゴミレス大量生産。 大概にしとけw
「(変換)元のデータ」を「pathに含めることが可能なデータ」にするための関数が欲しいって話じゃないの 元データがpathなんて情報はどこから得たんだ
元データがpathじゃないとも言えないけどなw
そもそもパスの正規化って /usr/local/hoge1.5/../hoge1.3/./conf.d//hoge.conf を /usr/local/hoge1.3/conf.d/hoge.conf みたいにすることを指すんじゃないのか?
>>573 だからどちらが正しいと結論づけられないって事ね。
双方のオレ前提にたてばどっちも変じゃないと思う。
タブや改行が含まれてるっつーことは、ワードみたいにファイル保存時に文章の先頭を勝手に切り出してファイル名にしたいとかそんな用途だろう で、それはパスと呼ぶのが適切か? いや、そもそもこの話題にパスなんて関係あったのか? 文盲ちゃんとそれに影響されたタコスケちゃんが仲良く踊ってただけに見えるが
>>574 そうだよな
Normalizeもpathもずっと違和感があった
RemoveInvalidFileNameChars(string s) つまりこれが唯一にして最強の解。
removeのニュアンスって削除したものをどっかに保存しとくイメージってきいたけどな
また微妙な発言を…
関係ない
文盲の俺としてはRemoveを推したいところだがタコスケちゃんはどうなの
扱うのはCharsだからRemoveが適切
適切(キリッ
最終的にフルボッコされて逃げ出すケースが殆どなのにTONさんは懲りない奴だな
>>580 の「唯一にして最強」とかいうところにツッコミをいれないのなんで?
TONってどれ?有名な人なのか?
>>594 文盲の俺としては適切に対しても、唯一にして最強に対してもつっこまないだけですよ
適切ってそんな突っ込むようなことか? 突っ込むならexcludeの方だろ
突っ込むならexcludeの方だろ(キリッ とか書きたいだけだと思うよ。なんでかわからんけど(キリッ
またお前かよ ほんと誰にでも喧嘩売るな
何でみんなどれがだれとか分かるんだ?俺やっぱ文盲なんだなって実感するわ
excludeだと、Invalidだったら文字列が丸ごと除外されるイメージだからアウト
deleteとremoveの違いを意識してない低脳がメソッド名を語ってたのかよ(´・ω・`)
突然deleteとか持ち出したあたり、
>>586 読んで強気になったと言うのが見え見えw
TPO弁えろw
とりあえず
>>582 は間違ってると言うことで良さそうだな
え?細かいとは思うけど間違ってないでしょ?
Removeメソッドにとってはどっかに保存しておく義理はない
removeに(字面どおり)移動ってニュアンスがあるのは確かだと思うけど、 移動したものをどっかにreserveしとくかどうかはまた別問題だと思うよ。 実際はdeleteと同じ意味でremoveが使われることもある。 要するに、remove ⊃ deleteだと思う。
あらTONさんがまだ居る
dos deleleでゴミ箱 linux removeで消去 これはいったい。
srcってパラメは変換処理するときによく使うな あとは移動処理とかか でもフォルダ名を正規化するというのではちょっと違う気がする あくまで一部を取り除く、無駄を省く処理だから Path.GetInvalidFileNameCharsで予めチェックしているだろうし これで不完全なのはフォルダ名とファイル名の最後に スペースかピリオドがある場合なので結局取り除くには Regexを使ってReplaceすることになる。ということで ReplaceInvalidFileNameChars(string filename)
もしくは Regex r= MyPath.GetInvalidFileNamePattern() なんかして後はフォルダ名でもファイル名でもRegexで処理すればいい それとpathを引数名にしてたが、パス全体処理する必要がある場合なんて 限られているからpathだとダメだと思う
メンバメソッドならadjustで十分じゃん。
みんなpathとfile nameとfilenameってちゃんと使い分けてるの?
うちはdeleteとremove使い分けてるな。 消す処理のあとに実体が残っている場合はremove。 そうじゃなければeraseとかdeleteとか。
eraseとdeleteを同列に並べるのはタコ過ぎるだろう
意味のとりづらい微妙な名前を付けないのは基本だろ 細かい使い分けはしない
618 :
デフォルトの名無しさん :2010/04/25(日) 12:21:32
adjustって位置のずれを微調整するような意味合いが強くないかね。 限定しすぎ?
Replaceじゃ何に置き換えるのかわからんだろw 内部でReplaceしているにしても、そんな実装そのものがメソッド名にあるとかセンス悪すぎ
>>618 ニュアンスは特になく、限定せず何でも良い。
位置も、温度も、勘定だって adjust で調整するという意味に日常的に使う。
元々の質問者のメソッドの機能は、日本語で言えば「修正」であって「調整」ではないから adjustは少しおかしい気はしないでもない。 adjustは「目標実現のための操作」とか「状況に適合する(させる)」という ニュアンスが強すぎる。
オレ様仮定を重ねてオレ様ビューヒフルを吐きまくる612辺りをバカにするために adjust は用いられています。
よくわからん被害妄想だな。
>619 おれも一見まさにそう思ったんだが、 まあPathクラス(って何だ?)へのメッセージと思えば、まあわからんでもないかな… と10秒ぐらい考えて突っ込まないことにした。
Replaceだと、\とかを_なりの一文字に置き換えると想像するのが普通じゃないの
>>625 何かに変えるための引数をとってないということは
Emptyであると容易に想像できるだろ
何かに置き換える場合もあるなら
ReplaceInvalidFileNameChars(string filename,string replacement)
を追加してやればいい
>>626 メソッド名は違うけど、引数は同じことを考えてた
そもそもこの問題はアンダースコアに置き換えるのが割と標準的な方法っぽいし
実装から名前をつけちゃいけないってばっちゃがいってた。
>>626 ReplaceならEmptyじゃなく_に置き換えるケースが圧倒的に多い
お前の村の事は知らん
田舎物の「村人」はむしろ
>>629 に思える。
例えばIEだとハイフンに置き換えるようだし、Adobe Acrobatは確か空白だと思った。
というか、いちいち鬱陶しい奴だな本当に。
ともかく、
>>619 の言ってることが正しい。
Replaceなんていう実装丸出しの何の名前は普通のセンスしてたら避けたいと考える。
引数にreplacement取るなら別に良いけどな
元の仕様はより一般的な「他の文字への置き換え」と読み替えることもできるから
(削除は空文字への置き換え)replaceが実装丸出しとは思わないな
まぁ
>>611 の考え方だと確かに実装丸出しだけど
今回のベスト発言 (引数にsourceという英単語を用いること即ち) >その引数に文字列を渡す以上の追加情報が必要無い事を追加情報として与えているんだよ ΩΩΩ
>>626 それFile nameとfilename意識して使い分けてるの?
それとも単に不注意なだけ?
getAbsPathFrom(string path_like_str) または getValidPathFrom(string path_like_str) 初学者なのでボコボコにして勉強させてやってください
>>635 全然ダメ
駄目な理由を説明するには2Kbytesでは到底足りん
初めから読み直せ
>>636 そんなこと言わないで書けるだけ書いてください><
>>635 今までにダメ出しされた要素の集大成だな。
釣りか?
釣りだろうな
引数にstring型を使っていると言う事以外の、あらゆる全てが駄目すぎるw
既に質問者が納得してるのに何日もうだうだ議論を重ねるよりも 初学者が陥りやすいダメなネーミングパターンを体系立てるための議論をしたほうが建設的じゃないか?
643 :
デフォルトの名無しさん :2010/04/28(水) 18:38:45
enum で「打撃(殴打)」「斬撃」「刺突(貫通)」を定義したいんですが英語で何ていうんでしょうか? 日本語でも曖昧で申し訳ないのですが ・「打撃(殴打)」鈍器で叩いた感じ ・「斬撃」刃物で切り裂く感じ ・「刺突(貫通)」針などを刺す感じ を表す英語が知りたいです。
crush slash pierce
thrash slash piercing ここじゃなくて英語板で聞いたら?
つかゲームだろ
殆どの洋ゲーは
>>644 になってる
というかおれらよりゲームの知識が少ないようじゃ 作れないぞ
648 :
643 :2010/04/28(水) 22:14:43
ありがとうございます! まさにゲームを作っているんですが、色々と命名に悩んでます。 翻訳前の洋ゲーをやれば参考になるんだろうなぁ…
C#とかならもう日本語で識別子名付けられるんだけどな。
>>649 デバッガとかWEB関連で変数が文字化けしなければそのまま日本語が楽だよね・・・
for (int インデックス = 0; インデックス < 配列.Length; インデックス++) { 配列[インデックス] = インデックス; } こうですか??わかりません!
Java様な長ウンコ識別子をウジャウジャしてる人にとっては多国語でもいいかもしれんね IDE使用前提で バカやチョンの書いたソースをコミット前に弾き易いし
まーたそんなことになれば真っ先に「弾かれ」そうな頭の悪そうなお方がいきがっちゃってw
IDEを使わないオレかっこいい!!な人ってまだ居るんだなぁ・・・
いや、IDEを使いこなせないんだよ 頭の中はまだDOS
ワープロだろ
ゲーム中にキーの入力を判定する関数で、同じキーコードでも前のフレームで押されていたかどうかも 判定に加味するかで関数を分けようと思っています。 A:前フレームがどうであろうと、現フレームで押されているかだけで判定する関数 bool IsInput( int KeyCode ) B:現フレームで押されていても、前フレームで入力されていた場合は押し続けられていることになり、 その場合はfalseを返す関数 bool IsInput○○○( int KeyCode ) 上記Bの○○○の部分に適した語句が思い付きません・・・ 「断続的な入力を判定する」という意味にしようと、「断続」という英単語を調べたところ「intermittently」という 長くて馴染みにくい単語でした・・・ もっと端的な語句はないものでしょうか? よろしくお願いしますm(_ _)m
俺ならisInputNow
659 :
657 :2010/05/03(月) 18:52:20
>>658 それイイですね!!
ありがとうございました!!
よく見かけるのはA: IsDown、B: IsPressed
いやーそもそもinputとかどうかと思うよ。 普通キーが押されることをinputとも入力とも言わないでしょ。 キーが押された結果何かのバッファにキーコードか何かのデータが「入力」される、 というのなら分かるけど。
662 :
657 :2010/05/03(月) 19:09:35
>>660 おお、これもイイですね。
>>661 たしかにInputの語句は冗長でした。
この関数はCInputクラスのメソッドとして定義しているので、
呼ぶ側は何度もInputと記述することになってクドいですね^^;
勉強になりました。
ありがとうございました。
>>657 bool isKeyPressing() //A
bool isKeepOnKeyPress() //B
意味不明になってしまったorzスマソ
関数(メソッド)名は小文字から始まるから覚えておいてね
○isInput()
×IsInput()
これは痛い
メソッド名が大文字で始まるか小文字で始まるかは言語や文化や好みや規約などによる C/C++のライブラリでは大文字から始まるのが結構多いしMS系も一律先頭大文字
.NET なんかだと public なのは大文字な。 ×isInput() ○IsInput()
クラス名がCInputってことはたぶん先頭大文字文化圏じゃないの
> bool isKeyPressing() やめてw
何でもかんでも is ではじめりゃいいと思ってるやつがまだ多いな。 呼び出しコードが自然に読み下せるように考えろよ。
はいはい
>>657 if(GetJustPressedKey() == keyCode)
\
int GetJustPressedKey()
{
if(GetPressedKey(0) == GetPressedKey(-1)
return 0;
else
return GetPressedKey(0);
}
>>673 rubyとかはメソッドは小文字から始まらなくてはならない
ルールもあるわけだし普通だと思うんだけど
どっかにrubyって書いてたの? そんなのよりメソッド名の英語がいろいろ残念だな。
なんでもかんでも is/has で始めるってのは JavaBeans の仕様から来た風潮なんだろうか
smalltalkだろ
言語も書けばいいのに・・・
>>674 自覚が無いんだな
その命名規則は普通に存在する物だし問題としてないってのw
> bool isKeyPressing() //A > bool isKeepOnKeyPress() //B 彼はこれに爆笑したんだろう
681 :
643 :2010/05/04(火) 17:21:39
is_pressed is_pushed
今押された。 ずっと押してる。 やっぱ日本語最強。 なでしこ使おうぜみんな。
>>674 >>663 の後半はともかく、IsKeyPressingは別におかしくないと俺は思う。
このスレはお馬鹿さん多いからいちいち気にする必要はない。
さすがID無し板
Pressing
押されているかどうかにはpressed 押しているかどうかにはpressing? pressingの意味を調べると、ん?てな感じなんだけど
keyが何をpressしているのか興味深いな
trigger
pushing
自分はHoldを使ってる
>>683 自動詞と他動詞の区別も付かないなんて駄目すぎるよ。
TONさんですらそんなお馬鹿さんな事言わないよ。
召喚するなよ。うっかり出てきたらどうしてくれる
>>691 残念でした。
pressingそのもので形容詞の用法があるんだよ。
>>693 はぁ?形容詞?何言ってるの?
"key is pressing" じゃ「キーが押している」としか読めない、って話でしょ。
お題(
>>653 )は「キーが押されている」。
"key is pressing" 100件 "key is pressed" 2,380,000件
>>695 まさかその検索結果を見せて "key is pressing" を擁護したつもりじゃないよね?
元々少ない検索結果のうち「キーが押されている」という意味で使われているところが
さらに半分以下なんだけど。
厳密に間違いかどうかはともかく誰もわからないならそもそも名前の意味がないよな
少なくとも isKeyPressing なんて恥ずかしくて自分のソースには書けない
>>697 どういう意味で「擁護」と言っているか知らないけど、
俺はIsKeyPressingは「おかしくない」と言っているわけ。(
>>683 )
君はこれに反対するわけ?
じゃあおかしいの?つまり(英文法的に?)間違ってるの?
ヒット件数100件って、ほぼ確実に間違ってると判断できるレベルだと思うけど?
T O N さ ん 光 臨
日本の人口に換算すると50人だぞ
>>700 間違ってるよ。
pressingの形容詞用法では「押している」という意味にはならないよ。
isKeyPressingでこんなに荒れるってことは、これを使ってもいいじゃないかな〜 だって、viとemacsの宗教戦争と同じ匂いがするもん
( ゚д゚) (つд⊂)ゴシゴシ (;゚д゚) (つд⊂)ゴシゴシ _, ._ (;゚ Д゚)
>>705 英語圏ネイティブな人が開発してるオープンソースなプロジェクトで
isKeyPressingなんてトンマな関数名を使ってるプロジェクトを教えてくれたら信用してもいい。
>>704 「押している」という意味にはなるだろ。「押されている」という意味には読めないが。
>>709 形容詞的用法としてはって意味ね。
動詞としては「押している」になるけど。
>>712 どこの辞書に形容詞で「押されている」っていう意味が載ってるの?
2つほど見てまわったけど見当たらないよ。
>>713 そんな意味はない、って言ってるんだけど…
715 :
713 :2010/05/05(水) 22:57:36
あぁそうなのか。ごめん。
じゃぁ
>>700 に聞くわ。どうなの?
> 動詞としては「押している」になるけど。 ?
文法的に正しいかどうかより 一般的かどうかの方がよっぽど重要だと思うけどな。 変数名とか関数名の場合って。
isOsareteiru
誰かが書くとは思ってたけど 日本語のそれはもともとラ変なのをタ行で無理矢理口語活用してるから美しくないんだよね
美しく書くと?
ラ変? あり・おり・はべり・いまそかり?
何の話? 「日本語のそれ」って何の事?
設定ファイルを保存するディレクトリを作るメソッド名について void mkdirForRoot() voiid mkdirRoot() のどっちがいいと思う?
726 :
724 :2010/05/06(木) 21:03:16
>>725 なぜ?
とあるソフトではvoid mkdir_root()ってメソッドがあったので、
mkdirRoot()って名前はどうかなと思い質問しますた
makeConfigDir()とかじゃね?
>>724 返り値を利用しないのなら、ディレクトリを作るメソッドは既にあるに決まってるわけだから
CreateDirectory(GetSettingDirectory())
とかでいいんでないの?
>>700 間違ってないけど、たとえば何かの手順説明に
「パスワードを入力してください」
と書くところを
「パスワードが入力してください」
と書いてあるみたいなものだよね。
釣りネタとしてはイマイチかと。
730 :
724 :2010/05/06(木) 21:45:07
お前らありがとうな
var list = コマンドを実行して標準出力を取り込む("c:\\windows /s /b"); これってどんな感じですかね。なるべくUNIX臭の弱いのをお願いします。
string DoCmd()
>731 標準入出力を使用する時点でUNIX的に過ぎます。 WM_COPYDATAやDDE、COM等を使用すべきでは無いでしょうか?
普通にProcess.PipeとかProcess.Redirectでいいんじゃないの
コピペ君って馬鹿だな、まで読んだ。
>>735 今時、DDEやCOMみたいなレガシーなものを薦めるのもどうかと思うがね
740 :
デフォルトの名無しさん :2010/05/08(土) 02:59:57
何らかのランキングのトップ10やワースト5というのがあるとして、 その5とか10を格納する変数の名前をお願いします
RankList の 10番目とか下から5番目ってわけじゃなく、 ピンポイントに 10番目だけ格納する変数名?
wstfiv
>>741 リストの方。ピンポイントだと rank で良さそうだし。
fifthItemInTopList tenthItemInTopList fifthItemInWorstList tenthItemInWorstList で、ランクは、RankList
なーんか会話が全く成立してない気がするのは俺だけだろうか....
746 :
デフォルトの名無しさん :2010/05/08(土) 14:11:25
いろんなサイズのランキングリストを作りたくて、 そのサイズを保持するプロパティの名前?
シンプルに num items
rankLengthとか? ワーストはしらねーや
RankList でいいじゃん。 RankList[10-1] とか RankList[RankList.Length-5] で充分っしょ。
rankSize
751 :
740 :2010/05/08(土) 18:59:18
画像を1つ持つクラス名をCPictureにして、 CPictureクラスのオブジェクトを管理するクラスを作りたいんだけど、 こういうときってどういうクラス名がお勧め?
>>752 CPictureManager,Controler,Supervision
ExecutiveCPicuture
あとCPictureにその機能もたせちゃうとか?
755 :
デフォルトの名無しさん :2010/05/09(日) 18:28:54
生成したり破棄したり取り出したりかき混ぜたり、 お湯をかけたり回したり踏んだり蹴ったり、 埋めたり臭いを嗅いだりする…てな管理方法です
Mediatorであると考えればManagerも悪くはない名前
RPGゲームの要素で、キャラの特殊能力(復活や属性耐性など)や 状態異常、魔法効果などの効果を統合したクラスを作ろうと考えている。 このクラスの名前、Effectでは簡潔すぎて紛らわしいし、SpecialEffectとすると やや野暮ったい。もう少しいいネーミングは無いかな?
759 :
デフォルトの名無しさん :2010/05/10(月) 00:18:58
能力的な意味だと trait かなーと思ったが、 受けている効果もひっくるめるとなると違うな。
attribute
>キャラの特殊能力(復活や属性耐性など)や 状態異常、魔法効果などの効果を統合したクラス 統合しすぎじゃないんだろうか。 一言で言うと何?って言われて一言で言えないような物に名前って
特殊能力 → ability 状態異常、魔法効果 → status 特殊能力や状態異常、魔法効果 → ability_or_status
受け側の状態ってことで condition
conditionは取り消し
766 :
758 :2010/05/10(月) 01:15:53
HPをターンごとに回復したり、死んだときに発動して復活したりとかの効果が 沢山あるわけだけど、それらはゾンビの特性だったりフェニックスの尾だったり ザオリクだったりしても効果自体はほとんど、または全く同じになる。 で、アイテムや魔法の効果を区別するにしても、例えばドラゴラムのように 魔法で特殊能力をエミュレートしたり、魔法効果のあるアイテムとか 状態異常(グッドステータス含む)もありふれている。となれば全部一まとめに 扱うのもありだろうと考えたわけ。MTGにおける"effect"を想定するとわかりやすいと思う。 それでストレートに考えるとただの"Effect"だけどそれは出来ればどうにかしたい。 ちなみにattributeは火とかの属性、conditionは状態異常、statusは数値的能力に 使用済みとなっているので使えない…
病気みたいなもんだから sick
Effectにしてそれらの情報はコメントに書け
769 :
デフォルトの名無しさん :2010/05/10(月) 01:26:01
じゃあ既出のtrait(特性)でいいんじゃないか?
770 :
デフォルトの名無しさん :2010/05/10(月) 01:30:56
二語になるけど、 passive ability (or effect) とかいうのもあるな。
>>770 なるほど、戦闘コマンドで使う「魔法」とか「特技」なんかと同列に置くのか。
変数名に使う英語を省略するのは良くない行為だと聞いたんだけど、そうなん? right → rig みたいな省略は良くないとか。 ソースの可読性が落ちるからかね?
>>772 誤解しない省略なら問題ないし、海の向こうのプロジェクトでもみんなやってるけど
right->rig みたいに、別の意味にとれてしまう省略はよくない
effect は画面効果のエフェクトと重ならない?
そもそも、そりゃ例えば食い物も魔法も「キャラクターに影響を与えるもの」 という次元で見れば同じとみなせるが、みなせるからってみなして何かメリットあるのか。 もちろんプログラミング上の。 俺は全くないと思うが。
より抽象てきな概念にて一つのまとまりとして処理したい場合に意味があると思われる。 だからそういう場合には共通なインターフェースを作る。
それは、例えば、 作用因子.作用(主人公); みたいに、作用因子のメソッドを外から呼ぶように設計すればそうかもしれない。 だけど、外から呼ぶ必要あるのかな。 作用因子自身がキャラクターへの参照を持っていれば「作用」メソッドは外部に 公開する必要はなくなり、したがって統一のインターフェイスも必要なくなる。
>>772 環境による文化的な違いもあると思う。 Java文化とC文化では
そこらへんの感覚はずいぶん違う。
dstだけは許して欲しい
lft rgt top btm 文脈が伴えば理解できるレベル
ある程度の範囲内で長ければ長いほどいい とおもってたけどswap用の変数tmpがtemporalyとか書かれてたら違和感あるな
ここで颯爽と boost::any が登場。
rhsとかlhsも許して欲しいな
788 :
782 :2010/05/11(火) 09:56:42
自信なかったからググったのに・・・ あーあ
辞書引けよ
zip圧縮できるBSDライセンスなライブラリってある?
791 :
デフォルトの名無しさん :2010/05/11(火) 22:07:15
スレチ
>>766 バフ/デバフってどこ発祥か知らんけどゲームではよく使われるよね
EQあたりが発祥じゃないのかね
794 :
デフォルトの名無しさん :2010/05/12(水) 09:05:12
「1秒あたりの作業数量」を表す変数名をお願いします。
795 :
デフォルトの名無しさん :2010/05/12(水) 09:15:38
仕事/時間はいわゆる仕事率で、英語だとP(ower)だけど、 たぶんしっくりこないよねぇ。
>>794 tasksPerSec
とか
jobs_psec
process transaction task job operation work 等 + per second
文字通りfrequencyで良いとおもうけど しかし作業数量って何なんだろうねえ....
800 :
デフォルトの名無しさん :2010/05/12(水) 20:53:36
>>799 frequency は、単位時間あたりの 量 というより 回数 な気がする。
bitrate みたいに 〜rate とか
>>800 まあそうなんだけど、「作業数量」が何であろうと恐らく整数でカウントするんだろうから、
頻度だよねえ。
じゃあ1秒間のオナニー回数で
いや、つまんないから
1秒間でオナれる回数だと実数になる
throughputだろ
「時間」は? ○何かにかかった時間。つまり、時刻(date)ではない。 ○timeはイヤ。ちょっと抽象的(不明瞭)に感じる。
elapsed timeでええやん
>>808 amount_of_time
process_time
duration
>>808 timeを抽象的に感じる感覚を修正するのが一番簡単じゃないの?
っていうか、自分も不明瞭な「時間」って言ってるじゃんw
time of now
timespan
>>812 英語の「time」も日本語の「時間」も両方とも時刻と経過という
両面性を持ってるから普通の感覚でない?
809で即効終わってるのにうだうだやってるな
elapsed timeっていうのは、普通は現時点までの経過時間のことを言うんであって 掛かった時間とかかなりニュアンス違うだろう。 別の意味で速攻終わってないか? ああだから速攻じゃなくて即効なのかwよくわからんが
>>817 unix/linuxのtimeコマンドの説明にも
time writes the total time elapsed と書いてあるんだから
elapsed timeでいいだろ。
上で書かれてる処理時間はどうなんだい?
質問読む限り第一候補にelapsedが挙がるのは当たり前 実はelapsedじゃ不適当なケースなんじゃないかと 特に示されてもいない条件をあれこれ妄想するのは馬鹿げた話だ
now timeはやめて current使って
elapse = pass, glide by, go by, lapse, roll by, slip away まあ好きな野選べよ
823 :
デフォルトの名無しさん :2010/05/15(土) 00:59:08
状況によっては consumed とかも当てはまりそうだな。
だから普通にtimeでいいって。どうせ前後に〜がついてprocessing timeとか time to liveとかなるんだから。 文脈依存を嫌う日本語ですら「処理時間」とか「生存時間」とかいう表現が一般的で、 かつそれを誰も曖昧だとか不明瞭だとかは思わないわけで。
>>821 ×CurrentTime
○TimeOfNow
>>825 ストーカーになる奴ってきっと君みたいなメンタルの持ち主なんだろうなw
っていうか、そういう「気持ちの悪い」自分を「気持ちが悪い」と思わずにいられる
鈍感力(頭が悪いともいう)だけはある意味うらやましい。
↑クスクス
>>808 の質問を訳すとこんな感じ?
「〜を処理するのに掛かった時間」を表す変数名を教えてください
TONさん自分が恥ずかしい自覚あるんだなww
>>826 傍目にはいきなりファビョった君の方が恥ずかしいんだけどw
俺は恥ずかしく見えるというよりも怖く見えるのでこの手合いはスルーして来た
確かにそうだな こう言う突如切れる精神疾患持ちが刃物持って隣を歩いてないことを切実に願う
どうでもいいわ。よそでヤレ
こわいなー
836 :
デフォルトの名無しさん :2010/05/15(土) 14:23:15
fornextのはじめと終わりを示すのってなにかいいのありますか?
start, end でいいんじゃね
forとnextでいんじゃね
839 :
デフォルトの名無しさん :2010/05/15(土) 15:22:16
>>839 vb.netなら[]で囲めば使える。
しかしfornextの始めと終わりって何やねんw
じゃんけんゲームを作っているのだが、 プレーヤーが出したグーやチョキ、CPUが出したパーなどの種類を格納する変数は、 なんて名前が適当だろうか。
sign hand sign
どっちか言うとhandの方じゃね?
844 :
デフォルトの名無しさん :2010/05/16(日) 18:48:09
本当にhandでジャンケンの手の意味になるのか?
>>844 のどこを読んでもジャンケンの手の意味でhandと書いてる箇所はないと思うが。
hand-signと記述している箇所はあるようだが。
日本語で考えるとちょっと変だけど、やっぱゲームの手ってmoveでしょ。
手の意味でmoveを使ってる箇所は
>>844 にもある。
848 :
デフォルトの名無しさん :2010/05/16(日) 20:46:24
カードゲームの手札かな。handと呼ぶのは。
849 :
841 :2010/05/16(日) 21:14:20
よくよく考えてみれば、変数に格納したいのは じゃんけんによる「攻撃の種類」だ。 攻撃の種類が格納されていることが分かる変数名だと、 やはり move がいいんだろうか。 単語一つでこの概念が表せなければ attackKind で妥協するが
851 :
デフォルトの名無しさん :2010/05/16(日) 22:55:55
移動の意味に誤解される余地がないコンテキストなら、moveも悪くない。
852 :
808 :2010/05/17(月) 13:12:44
レスどーも。 durationかspanかの二択にして、結局 spanにしました。 .NETもそうみたいだし。 期間の長さとしての汎用的な名前が 欲しかったので、これにしましたが、 具体的な経過時間ならelapsedが よさげなので覚えときます。
853 :
137 :2010/05/17(月) 20:34:20
>>850 ,851
やはり sign か move が無難ですね。
コンテキストをよく考えて、どちらか選ぶことにします。
ありがとうございました。
おまえは137か
なんがい名前つけて悦に入ってる人っていうのは設計レベルで簡潔で結合度が低く効率のいいものを作れない雑魚
なんがい名前
"長い" と "難解" を掛け合わせるセンスに脱帽
うまいw
schemeのcall-with-current-continuation これはどうおもいますか!
最低だね
DirectXもやたら長い型名あるよね・・・
設計もつたないのに名前付けセンスもない人の方が多いよ。
好きな娘の名前つけるのがいちばん!!
テーブルの項目ID名で迷っています。 項目は一応「数」を表しますが、単位が一定ではありません。(同テーブルの持つ種別により変動します) 「個数」であったり「箱数」であったり「kg」(商品にグラム単価が設定してある時はコレ)であったり。 なので、数量であったり重量であったりと、単純に数というわけでもなく、どのような名前が良いか決めかねています。 一応種別によって設定される単位を全て挙げておくと以下の様になります。 個、袋小、袋大、箱小、箱大、箱特大、kg、台(トラック換算)、隻(船換算) 命名規約は英単語であまり長く無い事です。 よろしくお願いします。
>>868 なるほど!
数ではなく量でならどの単位でもおかしくないです。
ありがとうございます助かりました!
なんか悪夢にうなされそうな仕様だなw しかし、volumeって量は量でも不可算のものだけじゃなかったっけ?
volumeってなんだよ・・・ quantityに決まってんだろ
じゃあamountで
おれはvolumeに一票。 物流関係では良く使うと思う。
使わねえよw quantityかamountでしょ
amount, lot, number, part, sum, total
つか、種別ごとにテーブル分けるんじゃね? それがひとつにまとまってるメリットってなんだ?
請求書・見積書などの明細の数量欄なら、 quantity 一択だ。
それならcharge
879 :
デフォルトの名無しさん :2010/05/28(金) 20:06:43
chargeは単価にquantityを掛けたもの(たちの合計)じゃないか?
class Hoge : public Fuga {}; Fuga *p; p = new Hoge; 一番下の式の左辺の型と右辺の型の関係を一般化して名前をつけるとしたらどんなんでしょうかね? pointer_typeとpointee_typeとかで意味通じますかね?
>>880 base type, derived type じゃないの?
pointer type, pointee type って言ったら Fuga* と Fuga のことだと思う。
882 :
デフォルトの名無しさん :2010/05/29(土) 20:35:38
リスコフの置換規則的には基底クラスの型以外は忘れてもよさそうだけど。
どうもです。そうですね、BaseとDerivedにします template <class Base, class Derived> void derived_delete(Base* pointee) { delete static_cast<Derived*>(pointee); } みたいな感じで…
>>883 なんだその関数? virtual デストラクタつけとけば済むことじゃないの?
ああ、そういえばBaseはvoid*になったりするからBase Derivedだと一般的じゃないかも…
インスタンスを保持してる型(のポインタの型)→インスタンスの元々の型(のポインタの型)
の関係があればなんでも良くて継承関係なくてもおkとしたらどんな名前になるんだろう
>>884 いわゆる型消去における動的削除子というやつです
参照・ポインタの指すコンパイル時の型:静的型 実行時に存在する型:動的型 Base *p = new Derived; この場合、ポインタpの指すオブジェクトの静的型はBase、動的型はDerived まあ動的削除子なんて見ればわかるから型名なんて適当でいいと思うけどね
同一性チェックしてスワップ 同一性チェックなしで強制スワップ check_and_swap、nocheck_and_swap andが入るのが不快なんだけどもっとスマートな名前ない?
一方は force_swap
compare and swap swap とか思ったけどググって出てくるのとかぶるな
890 :
デフォルトの名無しさん :2010/06/01(火) 22:49:29
swap_unless_identical
swap if different swap always
>>887 普通、「同一」の意味は区別が付かないことのはずだから、
だとしたら「同一性チェック」など不要なはずだと思うけど....
言ってる意味わかるかな
>>892 いや、その前にしっかり把握しておくべき事がある。
何を基準に何を比べて同一と判断し、何をスワップするのか。
これらが分からないと、名前の付けようがない。
もしかしたら、これらの定義によっては
>>892 の指摘も的外れかも知れんし。
>>887 チェック有り → smart_swap
チェック無し(強制) → swap
たしかに、 同じモノをスワップするのに 中でどういう動きしようが使う人にとってはどーでもいいな。
書き込みが読み取りより100倍遅いストレージを使ってるのかもしれんぞ
>>894 smartってちょっと使われ過ぎ。 どう賢いんだよって不明だし。
さてと
>>887 safely_swap(safe_swap、secure_swap)、swap(raw_swap?)
スワップでチェックすることつったらアドレスチェックして同じだったらスキップぐらいだろ ほかにチェックすることなんてあるのか?
メモリマップドI/Oとかで読む毎に結果が変るとかかもしれん。 遅延とかあるだろしそんなの swap すんなよとは思うが。
>>885 value_type
real_type
どうせ明示するならspecified_type
>いわゆる型消去における動的削除子というやつです
指定するなら「動的」じゃあない。w
クライアントから命令等パラメータを受けて命令文を作成して次の処理へ送るクラスA クラスAに所有されてクライアントから受けたパラメータに従って返り値を整形するクラスB このクラスの命名をどうしたら良いでしょうか?
同一クラス内の乱数列を生成するメソッドと重複なし乱数列を生成するメソッド のクラス名と2つのメソッド名
>>903 Random::list
Random::listWithoutRedundancy
>>902 A: Interpreter
B: ??? ( 返り値に何を返すの? )
>>906 ありがとうございます
Aが次処理から受け取った返り値をパラメータに従って桁や単位を揃えて文字列化するクラスがBです
クライアント← A(Bを使って内部処理) ←返り値
こんな感じでしょうか
>>907 A: Interpreter
B: (Display)Format
ちょっと待て普通は"Interpreter"ってのは
>>902 の逆の処理のことじゃないの?
素直にxxxxEncoderとかの方がいいんじゃないかと思うが。
普通って?
振替 と 振込 はどうすればいいのでしょう? 調べるとどちらもTransferみたい…
912 :
デフォルトの名無しさん :2010/06/10(木) 01:08:01
>>913 PostalHurikae
PostalHurikomi
と、やっぱりこうなっちゃうのかぁ…
H売り込み
>>915 その場合、売り込みの先頭が大文字になって HUrikomi になると思う。
振替えと振込みってどう違うの?
口座→口座が振替え?とおもったけどあの紙、振替え用紙っていうような
振込 : (お金)→口座 振替 : 口座→(お金)→口座
おおそうだったのかd
英語の表記限界 時代は日本語だな
振替 : 自分名義口座A → 自分名義口座B 振込 : 自分名義口座 → 他人名義口座
ヒント:現金振込み
ヒント:公共料金の口座自動振替え
ヒント:ゆうちょ
突っ込まれすぎワロタ
そもそも事の発端である「Hの売り込み」がなんなのか気になる
英語に出来ないものもあるんだな 振込と振替はSUSHIみたいなもんか
そもそも日本語でもピンとこないから、ちゃんと定義してやれば あるていど英語にもできそうな気がするけどね。 振込みって振替えの特殊ケース(他方が口座じゃない資金移動)なのかなあ。
振込みと振り替えの違いは、同じ金融機関の口座同士の送金かどうかのはずだと思ったが... っていうか、このスレそういう趣旨じゃないと思うんだが
振替は自分の口座間での預金の移動って三井住友のウェブバンクだと括弧書きしてある
振りかえるといつも君は笑ってくれた
振り替えれば奴がいる
なぜJavaにenumが無いか? それは不要で中途半端だからだ。 お前らもそう思わないか? でも、ユニークな値が保障されることや、 値の範囲をはみ出さないことを保障してくれることは多少価値がある。 で、問題なのは命名だ。 1) enumを集合的にみなす。 enum Colors {Red, Blue} enum Colors background = Colors.Red; 2) enum名を型名的にみなす enum Color {Red, Blue} enum Color background = Color.Red; おまえらこれについて基準もってるやつがいたら語ってくれ。 c/c++はenum enum_tagの組み合わせて書いてたからまだ、 enumであることがはっきりわかってよかったが、 C#になったらenum_tagだけで「書かないといけなく」なり、 C#オブジェクト指向の真っ只中、一見クラスや構造体の名前にも見えて、 その実単にenumっていう気持ち悪さもある。
googleの検索候補で「つら」の時点で桃屋のラー油が出て来るんだがw
>>932 その詳細が明らかになることで名前に区別をつけられるのではないか、という展開かと
FPSのゲームで、照準合わせのブレって そのまま blur で良いのかな?
>>936 必要ないからなくなった。
いつまでも古い因習に固執してると老害呼ばわりされますよ?
942 :
デフォルトの名無しさん :2010/06/14(月) 12:06:23
enum age
もしかしてマジでTypesafe enum知らない人なの?
enum 大好き C# より Java の enum の方が好きだな
enumよりstatic const使うわ
大文字小文字を区別する言語は糞だと思うんですよね
えっ
俺も、区別されることによるメリットって見た目が統一できるとかその程度に思う。 逆に、大文字小文字が異なるだけの変数が作れたりするのは弊害だろう。
異なるだけの変数作って良いじゃん。Cのマクロなんて区別されてこそじゃん
それってプリプロセス時にケーシングを考慮すればいいだけのような。
関数をFackHogeHoge();の形式で統一しようかなって考えるじゃん そうすると例えばswapがSwapになってしまい using std::swap;swap(a, b);っていうイディオムが使えなくなる これは由々しき問題だよ
ちょっと前、あるネットゲームで出会った外人との会話。 外人 『Japanese! Japanese!』 俺 『うっせえよ毛唐、英語が世界の共通語とかナチュラルに思ってんじゃねえよ』 外人 『hmm…』 俺 『Fack you』 外人 『oh』 外人 『miss spell』 外人 『Fuck you』 俺 『Fuck you』 外人 『good!』 その後、一緒に冒険に出かけ、友人になった。
>>948 言われてみるとたしかにそうかもしれないね。でも
indentLine() と IndentLine() みたいに不揃いになってたら
コンパイルするときにワーニングぐらいは出して欲しいなぁ・・・
C++だと自作コンテナ作るときにbegin、endをメンバに入れるのがたまらなく辛い
940に質問が来てる件。 俺はFPSやらんので分からん。
956 :
デフォルトの名無しさん :2010/06/16(水) 09:12:22
blurって画像をぼかす処理のイメージがあるな。 ぶれ(原因)→ぼけ/blur(結果) な感じ。
振れとか、振幅の訳でどうか? ブラーと「ぶれ」では意味が違うと思われるが・・・。
>>940 辞書見る限りなんか違うっぽい。
jiggleかshakeでいいんじゃないのかね
SNSなどのコミュニティサイトを想像してください。 「A」というユーザが居て、「B」および「C」というユーザからのアクセスを拒否しているとします。 (1)引数でユーザを指定すると、その人 *が* 拒否しているユーザの一覧を取得するメソッド 例:「A」を与えると「B」と「C」が返る (2)引数でユーザを指定すると、その人 *を* 拒否しているユーザの一覧を取得するメソッド 例:「B」を与えると「A」が返る の2つについて、違いが明確に分かるような名前をお願いします。 GetDeniedUser()という名前を思い付きましたが、英語の弱い自分としてはどっちを指しているのかが分かりません orz
GetDenyingUsers GetDeniedBy
ん? deny じゃなくて reject のほうがいいかな。
962 :
959 :2010/06/16(水) 21:09:32
素早い回答に感謝。 データベース名がdenyになってるので、denyにしておこうと思います。
>940です。jiggleでぐぐったら吹いたので、これにします。
observerパターンの実装ですが subjectをテンプレートクラス化すればobserverの型に拘束されずにattachできるかなと考えました observerとsubjectというのは対でよく使われますが observerが多様に取れるようになると、subject単独での使用では意味が通りにくいような気がします subjectに相当するクラスのいい名前はないでしょうか? かなり日本語でokですが察してくれるとうれしいです
Java では interface Observable だけど。
interface じゃなくて class じゃん>おれ
templateよりも侵入的なobserverクラス作って継承するのがいいんじゃねーの?
>>967 これからのことを考えるとそのほうがよいのですが
今回は過去資産の流用のためのクラスなので・・・
でもそれならadapter作った方が建設的なのかも
中身いじれないなら型消去だな
スマポについて調べてたときにも気になったんだけど 侵入的〜、非侵入的ってどういうことなの?
エッチに持ち込めたときの挙動が、童貞か非童貞かの違いみたいなもんだよ。
スマポに必要な機能を、保持したいクラスに一切持たせないか、保持したいクラスに一部あるいはすべて持たせるかの違い 前者が非侵入的スマポ、後者が侵入的スマポ(スマポの機能が保持したいクラスに侵入している)
2D や 3D のゲームでキャラクタなどが多いとき、 キャラクタ同士の当たり判定やキャラクタの位置を調べる処理を高速化するために、 フィールドをグリッド状や四分岐、八分岐などに仕切って、 キャラクタのIDやポインタなどをそこに放り込む方法が良くとられますが、 そのグリッド状や四分岐、八分岐などに仕切った「入れ物」は 一般的になんて名前で呼ばれるのでしょうか。
2Dゲーなら単なる円の総当りだって相当な数こなせるよ。 それこそ画面を埋め尽くしても余裕があるくらい。 初代ペンティウアムの200Mhzくらいだったときは分割して当たり判定をおこなったけどな。
直感的には結局キャラを移動するごとにグリッドの「マス」と当たり判定をしているのと等価で、 なんか大して高速化に繋がるようには思えんけどどうなのかね。 いやスレ違いだなこれは完全にw
>>977 O(n^2)からO(log n)になるんだぜ
ああ、1対NじゃなくてN対Nの場合か。 大昔のバブルボブルの泡の処理みたいな。 それなら納得。
981 :
973 :2010/06/19(土) 16:14:02
すまん、言い方が悪かった。 「入れ物の総称」を知りたかったんだ。 それがどういう技術(ただの配列かオクトツリーかクアッドツリーか)かはどうでもよくて、 ターゲットとなるキャラクタの周辺のいる全キャラクタを探すために オクトツリーなどで作られた「入れ物」って何て言うのかなという話。 たとえば、 octtree->insertChara (chara); Character* c = octtree->searchCharaNear (chara); なんて命名してしまうと、クアッドツリーに変更した時に変数名まで変更しなければならない。 何て名前が良い?
Registry<Chara>
>>981 コンテナやリストでいいんじゃね?
xxxContainerとかxxxListとかな。
ゲームのこと全然知らんのに偉そうに言ってみる。 「入れ物」だのtreeだのcontainterだのは(取替え可能な)実装方法の名前に過ぎないから 質問者が言うようにこんなのを名前に入れちゃうのは不適切か。 要はそのクラスの機能は当たり判定なんだろうから、 ベタにHitTesterとかではダメなんだろうか。 当たり判定そのものじゃなく、近い物体を絞り込むのが目的なら [Near|Neighbor] + [Filter|Searcher]とか
charas chara_cont chara_holder 但し容れ物がcharaの所有権を持たないなら別の名前にする
987 :
973 :2010/06/19(土) 22:28:49
>>984 > 「入れ物」だのtreeだのcontainterだのは(取替え可能な)実装方法の名前に過ぎないから
> 質問者が言うようにこんなのを名前に入れちゃうのは不適切か
それは強く思う。
> 近い物体を絞り込むのが目的なら
本質的な役割はコレだと思う。
>>983 や
>>986 なんかは、入れ物に入っているモノによるネーミングですね。
やはり、役割が申し分なく分かって、ついでに中身もわかる名前がベターっぽそうだ。
まだこれだというものが決められてないけど、
まず役割で候補を洗い出して、そこから中身で絞っていく方針で考えてみる。
[Near|Neighbor] + [Filter|Searcher] と charas 辺りの組み合わせになりそうだ。
色々ありがと。
>>988 何度も言うが、管理方法がボクセルじゃなくなったらどうするんだ。
BPS の方が速いからこちらに切り替えるという場合もあり得る。
またその名前だけの情報では、ボクセル「で」管理するのか、
ボクセル「を」管理するのか分からん。
回転を表す行列で A軸、B軸、C軸の順に回転する行列を作る関数名は hogeABC と hogeCBA のどちらがいいと思う? 行優先のDirectXの行列は 回転の順番がZ→X→Y で演算の順番が Z * X * Y なんだけど何故かYawPitchRoll(YXZ)、 bulletやOgreは列優先の行列で演算の順序だった X→Y→Z、Z * Y * X でZYX
>>990 ABCのがわかりやすいな〜とは思うけど
>>990 もDXの書き方がわかりづらいと思ったんでしょ?
うーむ DirectX、bullet等はローカルな回転と考えれば分かり易いのかもしれない けどCBAでA→B→Cの順に回転するって考えるのは難しいから ABCにしようと思う thanks
encodeするだけならencoder、decodeだけならdecoderでいいと思うが 両方を行うクラスの場合どう名付ければいいだろ?
エンコード方式
encoderでいいよ アロケーターだってallocとdeallocするでしょ
dencoder
>>995 coder とか codec クラスは?
1000 (((((((( ;゚Д゚)))))))ガクガクブルブルガタガタブルガタガクガクガクガクガク
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。