- 1 名前:デフォルトの名無しさん [2008/09/29(月) 13:13:43 ]
- クラス名、変数名のつけ方に悩んだら書き込むスレです。
質問する人は、その変数に何を格納するのか(クラスだったらその役割) プログラミング言語は何なのかを、それぞれ書いて、 いい変数名を思いついた人は、それに答えてあげましょう。 命名規則や設計の善し悪しについて議論するのは基本的に禁止。 >>2 英和・和英・英英など各国語辞書と翻訳サイト。 >>3 類義語(シソーラス)辞書、図形・数式・数学用語の英単語。 >>4 関連スレと、いろいろな言語規約。 >>2-10 諸事情によりリンクがずれた場合。 前スレ。 ◆ネーミング倶楽部◆: pc3.2ch.net/tech/kako/1035/10353/1035362308.html Part1: pc5.2ch.net/tech/kako/1046/10465/1046541730.html Part2: pc5.2ch.net/tech/kako/1058/10582/1058213523.html Part3: pc5.2ch.net/test/read.cgi/tech/1067171530/ Part4: pc5.2ch.net/test/read.cgi/tech/1087209526/ Part5: pc8.2ch.net/test/read.cgi/tech/1109330204/ Part6: pc8.2ch.net/test/read.cgi/tech/1128266018/ Part7: pc8.2ch.net/test/read.cgi/tech/1144978008/ Part8: pc10.2ch.net/test/read.cgi/tech/1154448184/ Part9: pc11.2ch.net/test/read.cgi/tech/1168356029/ Part10: pc11.2ch.net/test/read.cgi/tech/1180146315/ Part11: pc11.2ch.net/test/read.cgi/tech/1191250784/ Part12: pc11.2ch.net/test/read.cgi/tech/1206118762/
- 409 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 16:20:18 ]
- >>408
>>203-204
- 410 名前:デフォルトの名無しさん [2008/11/02(日) 16:21:07 ]
- Cです。C++でもいいです。
ある文字列を読み込んで解析するプログラムがあります。 その中では、例えば以下のような処理を行うとします。 ・文字列をトークンに分割 ・/* 〜 */ の間にある文字列は無視する ・( 〜 ) の間にある文字列は特殊な処理を行う など さて、文字列を先頭から1文字ずつ読み進めていくとき、 現在読んでる文字を、どう解釈すればよいか判断しなければならないことがあります。 先の例で言えば、 ・現在の文字が「*」で前の文字が「/」なら、「/*」というトークンにする ・現在のトークンが「/*」の後にあるなら、コメントアウトとする ・「*/」のトークンを見つけたら、コメントアウト扱いをやめる などです。 このような判断をするためのフラグの、構造体やクラスの名前はどうすればいいでしょうか。
- 411 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 16:33:44 ]
- context
state あと、lex/yaccとかを調べてみるのも回り道にはなるが、 悪くないかもしれん。
- 412 名前:くるりん子 mailto:sage [2008/11/02(日) 16:44:27 ]
- >>409
あのね、今書いているソースコードでは、 ・パラメータを読み書きするクラス ・ パラメータそのものを表すクラス を別々にしているの。 だから、名前も分けたいの。
- 413 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 17:35:51 ]
- だったら初めからそう書け。
残念だけど、後出しじゃんけんに参加する奴はもういないと思うよ。
- 414 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 18:37:37 ]
- >>405
「パラメータを読み書きするためのクラス」っていうのは そのハードを表すクラスのプライベートなオブジェクトであって 外部に公開するものではないんだよね? 普通に xxxGetter/xxxSetter(xxxはレジスタ名) でいいんじゃないの? 取得と設定を一つのクラスにまとめるのは多分意味がないと思う。 >>413 前の議論(>>409の一行引用レスクンが引用してるもの)でも言ったが、 普通後だしジャンケンじゃなくても>>408のように考える。 得意げな>>409とか君とかみるとどんだけ設計能力ないだお前、と思うぞ。
- 415 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 18:50:50 ]
- いや、パラメータを扱うクラスがParameterなのかParameterManagerなのか
どちらが作ろうとしてるものに適切かなんて設計者のさじ加減一つだろ。 ありとあらゆるプログラムで後者の方が適切だとでも?
- 416 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:01:09 ]
- >>415
話がずれてると思うな。 (1) 何らかのレイヤを経由してデータ(バイナリだったり文字列だったり) の取得設定を行うクラス と (2) 取得したバイナリなりテキストなりをパースするクラス は当然別だろうって話だよ。
- 417 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:01:19 ]
- >411
thx その辺の単語を使うのが良さそうですね。 lexとyaccは……参考にはなるでしょうが、ちょっと遠回りすぎそうです(笑)
- 418 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 19:02:52 ]
- >>414
>xxxGetter/xxxSetter(xxxはレジスタ名) 2つに分けるのは嫌だって>>405で言ってるケド。つーかレジスタ数×2個にしれってこと? >>412 >ParamConfigurator --- なんか長くてやだな。 私はこれでいいと思うよ。クラス名なんてコード上にそんな出てこないじゃん?だから判りやすさ優先で!
- 419 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 20:53:09 ]
- ゲーム作ってるんですけど
数 維持費 レベル 戦車 3個 10円/個 3 飛行機 1個 10円/個 2 兵隊 50個 10円/個 3 みたいなデータがあって ループさせて各データの合計値を保存しておく みたいな関数の名前は何がいいですか? countはダメなんです
- 420 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:03:29 ]
- 各データの合計値ってその例だと具体的にどの値のことなの?
- 421 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:10:28 ]
- sum
- 422 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:13:57 ]
- accumulate
- 423 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:22:26 ]
- >>420
総数 54個 総維持費 540円 合計レベル 8 みたいなことです
- 424 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:57:34 ]
- TotalCount
TotalCost TotalLevel
- 425 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:00:39 ]
- レベルを合計して意味あんの?
- 426 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:05:27 ]
- 俺柔道初段、囲碁初段、オセロ三段、腹三段の合計八段。
- 427 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:06:30 ]
- >>425
意味持たせるかどうかは>>419の決めることだしこのスレで勘案しても仕方ないんでは?
- 428 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:10:49 ]
- >425
合計10レベル分までのユニットを保持できる、みたいなルールじゃない?
- 429 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:31:40 ]
- 国力に対応して対戦相手の強さも調節されるんだろう。きっと
- 430 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:36:41 ]
- >>424
それを導く関数の名前です
- 431 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 23:49:38 ]
- summary(summarize)とか。
- 432 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 00:04:57 ]
- >>431
こんな感じの待ってました ありがとうございました
- 433 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 09:01:20 ]
- テキストから正規表現を読み込んで指定した文字列が
その正規表現からフィルターに一致するか返したりや置き換えた文字列を返すクラス名は何がいいでしょうか?
- 434 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 10:22:48 ]
- RegExManipurator
- 435 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 10:23:43 ]
- ごめんスペル間違えた。
RegExManipulator
- 436 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 10:32:12 ]
- 複数の正規表現からOR結合したものとか、
大文字/小文字無視バージョンとか、いろいろ加工して返すクラスに見える。 とケチを付けつつ他のアイディアを出せない俺
- 437 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 10:38:50 ]
- TextFilter
中で正規表現を使ってるかどうか?なんてどーでもいいんじゃないかな。
- 438 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 11:08:02 ]
- >>433
それだけの情報で気の利いた命名をしろってのは無理がある可能性が高いと思うね。 クラスライブラリみたいな汎用的なクラスならともかく、 特定用途向けのクラスなら、そのクラスが必要になる背景も書かなきゃダメでしょ。 そういうクラスっていうのは機能じゃなくて意味から命名する場合だって 少なくないんだから。 つーか正規表現使った置換なんていうベタベタで汎用性のない処理なんか 処理の意味から命名する以外にないだろ常識で考えて。
- 439 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:03:13 ]
- とケチを付けつつ他のアイディアを出せない>>438
- 440 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 13:05:38 ]
- >>439
お前日本語読めないのかよw
- 441 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 16:54:23 ]
- >>433
RegExFromFile パターンをファイルから読み込める正規表現クラスってことでしょ。
- 442 名前:433 mailto:sage [2008/11/03(月) 17:46:34 ]
- 総称的でいいですね。有り難う御座います。
- 443 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:34:35 ]
- またいつぞやの設計君がわいて出た
ここはお前のオナニースレじゃないの いい加減分かれ
- 444 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 18:49:43 ]
- アンカーきぼんぬ
- 445 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:26:27 ]
- >>441-442
ありえんだろ。 置換処理なんてどうでもありうるベタな処理にそんな一般的な名前をつけるなんて狂ってるよ。 もしも将来、そのクラスとほぼ同じだが別の置換をするクラスが欲しくなったら どうするのよ。 適当な数字でもプリフィクスしますか?w
- 446 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:31:56 ]
- そんな危惧ができるならインタフェースと実装を分けられる言語を使えばいい。
はい終了
- 447 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:33:25 ]
- >>446
日本語で頼むよ。
- 448 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:46:58 ]
- 危惧←この漢字が読めなかったか?
- 449 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:24:19 ]
- >>445
使ってるフレームワークに一般的なRegExっていうクラスがあると想像して (大抵そんなようなのあるよね)、それの派生でパターンをファイルから 読み込む事ができる特定アプリ版、みたいなイメージで>>441を書いた。 だから一般的な名前というつもりはなかったんだけど。
- 450 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:46:49 ]
- わかるけど、それは>>433で要求されてる物と明らかに違うよね
- 451 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:56:44 ]
- >テキストから正規表現を読み込んで指定した文字列が
>その正規表現からフィルターに一致するか返したりや置き換えた文字列を返すクラス名は何がいいでしょうか? ↓↓ テキストから正規表現を読み込んで、指定した文字列が、 その(読み込んだ)正規表現から(なる)フィルターに一致するか返したり、や、 (指定した文字列を)置き換えた(結果の)文字列を返す
- 452 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:30:34 ]
- だから?
- 453 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:36:52 ]
- >>433で要求されているものだと言いたい
- 454 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:41:46 ]
- なわけがない。
もしそんな風に思うとしたら、それは置換という処理の具体例が想像できてないからだろう。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:46:13 ]
- ここへきてようやく俺にも>>443の言ってることが理解できたw
では、みなさまお休みなさい。
- 456 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 22:48:36 ]
- そんなもんは知らん
要求元の>>433が納得したらしいのだから それが要求だろう
- 457 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 07:57:53 ]
- 動詞とか名詞で迷うことかある
- 458 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 09:21:38 ]
- >>433
RegexReader
- 459 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 09:30:17 ]
- >>450
×わかるけど、それは>>433で要求されてる物と明らかに違うよね ○わかるけど、それは>>433のカキコから俺がエスパーした物と明らかに違うよね そりゃお前が言うんだから違うんだろう 心底どうでも良い事だ
- 460 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 15:32:06 ]
- windows.hのマクロのせいでCreateWindowという名前が使えないんですけど、みんなどうしてるんですか?
A/W関数の切り替えにマクロ使ってるからDrawTextとか他にも引っかかることおおいけど、 undefして本当の名前で読んでるのか、いちいち同じインターフェースのインライン関数でも作る?
- 461 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 16:07:41 ]
- 使えないわけではないはず
勝手に CreateWindowA とか CreateWindowW に改名されるだけで すべてのソースで同じように改名されるなら実質問題にならない Windows的な命名規則を避けて create_window とか createWindow にするという手も もしくは NewWindow など同じ意味の違う単語を当てたり
- 462 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 16:21:24 ]
- そうか、DrawTextとかは関数名だけの置き換えだからセーフなのか。
CreateWindowだとCreateWindowW→CreateWindowExW の時にマクロの引数があるから、それが違ってコンパイルエラーになるのか
- 463 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 16:24:27 ]
- あぁ、そういうのがあるのか・・・
厄介なもんだね
- 464 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:09:19 ]
- グローバル名前空間以外に置く
- 465 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 17:31:10 ]
- マクロは名前空間を超越するから無意味
- 466 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:19:14 ]
- 初期化とその逆(破棄? 終了化?)を行う関数に名前を付けたいのですが、
事情により初期化関数側にはinitializeが使えません。 何かよい名前があれば教えてください。
- 467 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:40:18 ]
- Begin/End
Enter/Exit
- 468 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 23:51:53 ]
- Shokika/Haki
- 469 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:00:51 ]
- MyInitialize/MyFinalize
- 470 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:23:34 ]
- >>466
InitializeXxx/FinalizeXxx Xxx に具体的な内容を。
- 471 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:25:24 ]
- create/destroy
- 472 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:41:13 ]
- >>467-471
ありがとうございます。 参考になりました。
- 473 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:51:08 ]
- >>466
setup prepare start begin init
- 474 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 15:54:41 ]
- ある処理の捜査(1-100)%毎に呼び出すイベントがあります
()の中を埋める変数名はどんなものが宜しいでしょうか?
- 475 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:00:45 ]
- initとinitializeという名前の関数が両方存在するプログラムをメンテしたことがあるけど、もうね(ry
- 476 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:02:37 ]
- (T_T)
- 477 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:07:24 ]
- >>474
捜査?操作? 誤字はともかくそういう読み手にエスパー能力を要求する文章ってどうなの? そのイベントとは進捗度を通知するイベントという理解でいいのか? だったら辞書引くだけだと思うんだが。。
- 478 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:08:28 ]
- >>474
progress
- 479 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:09:33 ]
- >>477
走査の間違いでした イベントは進歩度を表します >>478 出来れば〜%毎にという意味合いも付け加えたいです
- 480 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:11:09 ]
- 〜%, 残り〜秒、〜秒経過とか使い分けるんでもないなら
いちいち明示するのって筋が悪いよ
- 481 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:14:42 ]
- >>480
限定された進歩度を表現したいので使い分けたいのですが・・・
- 482 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:15:28 ]
- >>480
俺もそう思うね。 そもそも進捗度(進歩って普通は言わないよ)を通知するイベントっていうのが イベントとして不自然だ。
- 483 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:16:23 ]
- >>474
CalledEventFrequency
- 484 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:23:17 ]
- >>483
呼び出す頻度って意味かな? 参考にします ありがとうございました
- 485 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:35:10 ]
- >>481
まあケチつけるだけだとアレなんで一応考えてみる。 イベント名はProgressNotificationで通知するパラメータの名前はpercentage。 名前に"〜%毎"なんて意味を含めるのはやっぱり愚策に思える。 どうしてもと言うならイベント名をProgressNotificationEveryXXPercentにするのかな。 でも普通はイベントを発生させるオブジェクトのプロパティか何かで イベント発生のステップの取得/設定ができるようにするんじゃないのか。
- 486 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:47:50 ]
- >>485
あるデータを処理してその進捗度がデータ総数のX/100区切りの時のみ イベントを発生したかったのです X=1なら1%毎にX=10なら10%毎にといった感じです このXを格納する変数を教えて頂きたかったのですが 説明が悪かったようでホントに申し訳ありませんでした
- 487 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:57:15 ]
- >>486
イベントを発生させる側の内部の、 イベント発生のステップを表す値の名前って意味? notificationStep notificationPercentageStep percentageStepOfProgressNotification こんな感じかな
- 488 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 17:19:56 ]
- >>487
そです! notificationPercentageStep が的確と判断しましたので採用しました! ありがとうございます、助かりました!
- 489 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:33:31 ]
- (notification) intervalとか
- 490 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 22:27:21 ]
- インターバルだと時分割っぽいんだよな。
- 491 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 13:57:55 ]
- オブジェクトの内容をファイル(XML)に保存・復元するクラス名はなにががよいのでしょうか?
- 492 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 14:22:33 ]
- (Xml)Serializer
- 493 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 23:23:05 ]
- >>491
実際にコード書いてみれば分かると思うけど、 その二つの機能を一つにするメリットなんてなーんもないと思うぞ。 そしてそんなことしなければ命名で悩まなくても済むし。
- 494 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 23:49:23 ]
- > 設計の善し悪しについて議論するのは基本的に禁止。
- 495 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 23:53:13 ]
- コピペ君って馬鹿だな、まで読んだ。
- 496 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 00:27:20 ]
- >>491
XmlFormatter.Serialize XmlFormatter.Deserialize
- 497 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 00:28:43 ]
- >>493ってコピペなの?
馬鹿なのは明らかなんだが、コピペなのか。
- 498 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 00:33:51 ]
- アイちゃんだよ。
- 499 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 13:55:12 ]
- この板アイちゃん多くないか?
- 500 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:13:11 ]
- >>499
アイちゃん、それは自虐って言うんだよ
- 501 名前:デフォルトの名無しさん [2008/11/20(木) 16:50:23 ]
- C言語で配列の任意の範囲を文字列として返す関数名はどのようなものをつけたらいいですか?
- 502 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 16:54:52 ]
- string_of_array_range
- 503 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 16:58:13 ]
- make_partial_string_of
- 504 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:19:23 ]
- >>501
だから母国語でまず考えて英訳するだけだろ。 部分文字列の取得() ⇒ getSubString()
- 505 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:49:46 ]
- おっと 母国語で考え違い
- 506 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:51:02 ]
- substringで一つの英単語だよ。
二つ目のSキャピタライズする必要ないよ。
- 507 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 21:41:57 ]
- >>501
1. その文字列の領域を関数内で確保するなら CreateSubstringFromArray() 2. 呼び出し側で確保した領域に入れてもらうなら GetSubstringFromArray() 文字列として返すと言ってるから 1. の方かな。
- 508 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:35:42 ]
- SubstringFromString
- 509 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:39:20 ]
- substr()
|

|