[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 09/06 22:40 / Filesize : 201 KB / Number-of Response : 685
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:59:22 ]
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

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

>>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/


487 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 15:44:55 ]
AutoDeleteHogeList

488 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 15:58:43 ]
>>799
分かりやすいと言えば分かりやすいのですが、説明くさいというか名前が長く感じます。
もう少し短い名前ないですか?

489 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 16:03:59 ]
HogeManager

490 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:51:39 ]
>>801
Manegerは意味が広すぎてちょっと・・・。

491 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:52:36 ]
HogeDeleter

492 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:53:05 ]
HogeDelList

493 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:53:12 ]
訂正:Managerでした

494 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:55:04 ]
HogeCleaner

495 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 17:56:09 ]
>>803
ポリシー・クラスに見えてしまいます。
>>804
削除候補を保持するクラスに見えます。



496 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:00:10 ]
>>806
うーん、削除が強調されすぎてて、生存してる間保持する役割のクラスに見えないんですよね。

497 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:08:54 ]
HogeLifeManager

498 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:09:46 ]
HogeAutoreleasePool

499 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:10:14 ]
HogeKeeper

500 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:11:15 ]
長いのが嫌なら抽象的になるのは仕方が無かろう

501 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:14:29 ]
抽象的な名前にしといて具体的な機能はコメントに書けよ

502 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:31:01 ]
>>809
生存時間に対して操作をイメージしてしまいます(参照カウントとか)。
>>810
うーん、これより>>799の方がよく思えます。
>>811
これが一番良いと思いました。
>>812
そうですねぇ・・。
>>813
あまり名前が長くなるのも嫌なのでそうするべきなのかもしれません。

HogeKeeperにします。
ありがとうございました。

503 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 18:36:20 ]
あーでもないこーでもないって散々悩んでそれかよw

504 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:05:09 ]
HogePool

505 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:38:56 ]
さんざん迷惑かけといて、HogeKeeperじゃ一番分けわかんないじゃんかよ



506 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:48:42 ]
>>817
迷惑って何だよ。何で「答えてあげてる」感覚なの?

507 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 20:05:32 ]
>いい変数名を思いついた人は、それに答えてあげましょう。

508 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 20:06:07 ]
そもそも>>799の話って前後が繋がってない意味不明に聞こえるんだが
これって俺の理解力の問題か?

なんでリストのアイテムを皆殺しにするクラスの機能が寿命管理なんだ?

皆殺しならHogeExterminatorとかでいいじゃん。

509 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 20:06:52 ]
すまん799じゃなくて>>798だった

510 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:00:52 ]
>>798
ptr_vector

511 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:26:46 ]
>>820
> これって俺の理解力の問題か?
いや、そうは思わないが。。。

では逆に「寿命を管理するクラス」とはどんなメソッドを持っているものと想像する?


512 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:32:46 ]
デストラクタでdeleteと聞いて、皆殺しにするクラスとは俺は思わないな

513 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:48:20 ]
おまえらのレスが糞すぎるから、皆殺しってことw

514 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:50:07 ]
いや、つまんないから。

515 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:46:52 ]
HogeCollector



516 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:50:20 ]
>823
インスタンスの追加、削除、削除の予約、生きているインスタンスの総数とか?

517 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:51:27 ]
>>800
auto_array

518 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 05:02:04 ]
>>823
shipPollutedRice

519 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 08:57:37 ]
漏れは既出のHogePoolを推す。


520 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 09:33:57 ]
おれは自民党総裁に投票する!

521 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 09:38:17 ]
中でやってる処理よりも、外から見た機能で名前付けたほうがいいよね
わかっちゃいるんだけどつい安易な名前になっちゃう

522 名前:798 mailto:sage [2008/09/13(土) 12:16:15 ]
引き続きレスありがとうございます。
寿命を管理と書いたのは、単に参照としてポインタを保持しているだけなのか、
deleteの義務まで請け負っているのかをはっきりさせたかったためです。
基本的にはコンテナのような物です。

また、for_eachなどで保持してる全てのHogeの関数を呼び出すなどの操作をラップした関数も考えています。
なので、ptr_containerのtypedefでは不足なのです。

HogeKeeper、HogePool、HogeCollectorのどれかにしようと思うのですが、この3つの使い分けが難しいです。
それぞれどんなニュアンスを感じますか?

523 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 12:47:49 ]
>>834
それこそ auto array とか auto list でいい気がするが。

keeper, pool だとただ持ってるだけ感が。foreach を使える感じしない。
collector は、「集めること」に主体があって、集合(集まってるもの)なイメージしない。

524 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 12:48:06 ]
Collectionならともかく、
Collecterだと、条件に従ってフィルタリングする人という気がする。


525 名前:798 mailto:sage [2008/09/13(土) 13:19:05 ]
>>835,836
なるほど、参考になります。
たしかにautoと付けば、「deleteしてくれる」と一発でわかるし、一番ぴったりした名前かもしれません。
AutoArrayにします。
ありがとうございました。



526 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 14:11:37 ]
>>834
boost::scoped_array
auto_arrayもググると出てくるよ

527 名前:798 mailto:sage [2008/09/13(土) 16:47:51 ]
>>838
new[]で確保してdelete[]で解放するものは、可変長にできないのがだめですね。
うーん、そう考えるとAutoArrayも固定長っぽくて微妙かなぁ・・・。
ptr_containerのtypedefで済ましておくべきか。

528 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 16:57:53 ]
std::vector<boost::shared_ptr<T> > ではだめなのか。

529 名前:798 mailto:sage [2008/09/13(土) 17:03:13 ]
>>840
それもありますけど、それなら専用に作られてるptr_containerにするつもりです。

530 名前:デフォルトの名無しさん [2008/09/15(月) 18:33:54 ]
クラス名を決めたいのですがどうすればいいのかわkりません。
できるだけ具体的に教えてください。言語はC++です。

531 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 19:09:16 ]
MyClass1、MyClass2、MyClass3・・・ってつけるといいと思うよ

532 名前:デフォルトの名無しさん [2008/09/15(月) 19:16:51 ]
クラス名なんて、好きなタレントでも、アニメのキャラでも、食べ物でも
タバコの銘柄でも何でもいいんじゃん?愛着が沸くぜ?

533 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 20:15:57 ]
俺なんかunko
tinpo
manko
とかだぜ。manko=tipoとかなんだろう…って想像しちゃうし
最高!おすすめ。

534 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 20:45:20 ]
なんだっけ? 伝説的な命名。

SakuraたんにMyStickをInsertする、だっけ?

535 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:01:12 ]
>>845
manko << tinpo

とかの方がいいんじゃね。



536 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:15:09 ]
mankoはtinpoを継承してmanpoになりました。

537 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 21:38:12 ]
多重継承イクナイ。

538 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:45:36 ]
ダイアモンド継承は近親相姦

539 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 21:33:23 ]
>>850
そういうのは疑似だけにしなさい。

540 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:42:25 ]
>>851
仮想継承の使い道がやっと理解できました

541 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 20:55:29 ]
ありがちだと思うのですが、
文字列を大文字小文字関係なく比較する関数の名前ってどんな感じが良いんでしょうか。
CompareString〜〜 みたいな命名方法でお願いします。

542 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:04:19 ]
今時どんな言語でもオーバーロードぐらい使えるんだろうから
メソッドはCompareStringで共通にして、比較方法を引数にとるオーバーロードを
追加すればいいじゃん。

543 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:08:36 ]
>>854
ソレじゃメソッド名から機能が読み取れねェ。って事を気にしてるんじゃ?

544 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:12:34 ]
いや標準的なプログラマならそういうオプションを指定可能な
オーバーロードの存在を普通に期待するから大丈夫。

545 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:13:28 ]
>>853
CompareStringIgnoreCase



546 名前:853 mailto:sage [2008/09/18(木) 21:13:51 ]
あー、すみません。
今使ってるのはC言語なんです、、、

547 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:19:03 ]
そんじゃ直訳で。
CompareStringWithCaseInsensitive

548 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:20:51 ]
>>853
stricmp → CompareStringIgnoreCase

549 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:21:11 ]
あとVB方式で
CompareStringBinary VS. CompareStringText
とか。

もっともこれだと全角半角も区別しない印象を受けるかも知れんが。

550 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:25:30 ]
>>858
Cか。じゃあstrcmp関数もあることだし
strcmpic
で。

551 名前:853 mailto:sage [2008/09/18(木) 21:28:49 ]
皆さん意見ありがとうございます。

・・・stricmpという正にな関数があるみたいなので、素直にそちらを使わせてもらいます。すみません。

552 名前:デフォルトの名無しさん [2008/09/18(木) 21:29:57 ]
これはどうよ?
www.linux.or.jp/JM/html/LDP_man-pages/man3/strcasecmp.3.html


553 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:31:53 ]
>>863
そんなCの悪い文化を今更踏襲することないのに。

554 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:36:42 ]
環境によってstricmpだったりstrcmpiだったりstrcasecmpだったりする罠

555 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 22:09:24 ]
その悪しき文化の i は insensitive の i?



556 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 22:11:45 ]
暗号的な命名。
これが本当のコーディング、なんてな

557 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:10:00 ]
文字列が入った配列を受け取り、その中で一番長い文字列と同じ長さになるように他の文字列の
末尾にスペースを付加する関数の名前をお願いします。

例えば、以下のような配列を受け取ったとき、

ライオン
カバ
キリン

カバの末尾に半角スペースを4つ、キリンの末尾には半角スペースを2つ付加します。

558 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:25:44 ]
埋めるって意味だと pad
揃えるって意味だと align
かな。
pad space to align ?

559 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 13:13:47 ]
>>869
pad space for adjust length

560 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 13:16:59 ]
>>865
「今更」じゃねーよ!
まだまだ現役。

Cとかオーバーロードのない言語とかに言いがかりを
つけたいだけなら、このスレにくんな。

561 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 13:17:27 ]
String.PadRight(int totalWidth, char paddingChar)

562 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 13:44:43 ]
Cが古いって言ってる人って大抵ドザだよね。

563 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 14:01:04 ]
alignは位置揃えという感じですな。(左揃え右揃え)
fillか、既に出ているpadがよいでしょう。

fill to max widthとか


564 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 14:01:51 ]
私マカーだけどObjective-Cの時代だと思う。

565 名前:869 mailto:sage [2008/09/19(金) 17:09:25 ]
ありがとうございます。
皆さんの意見を参考に名前をつけたいと思います。



566 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 18:42:43 ]
英語厨だけど文法的には
pad string with blanks
となる

567 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 18:51:19 ]
fill margin with space

568 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:06:06 ]
>>872
頭大丈夫?
Cにケチつけてるんじゃなくて「Cの悪い文化」にケチつけてるんだよ馬鹿。

569 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:19:40 ]
テキストボックスにテキストが与えられた時刻を記憶させる変数の名前で、
timeWhenTextWasSetはさすがに冗長で、timeTextSetとかwhenTextSetというのが思い浮かんだのですが、どうなんでしょう
時刻なんていろんなところにでてくるので通例みたいなのがありそうなんですが

570 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:41:32 ]
通例は知らんけど。
EditedTimeとかModifiedTimeとかUpdatedTimeとか。

でもUI関連はそのテキストボックスが何の入力用なのかとか
他にどんなUIが載っているかとかで変える必要はありそう。

571 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 21:43:18 ]
textSetAt


572 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 22:56:42 ]
>>880
バカは貴様だ。

質問者は、標準ライブラリ関数そのものを使うと答えたんだ。
それが「悪い文化」ってどういうことだ!

573 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 23:09:01 ]
後の時代に使っちゃいかん関数がたんまり出てくるライブラリを
作ってしまう文化ってあまりよくないと思う。

まあ、>>865 はどう見ても C に難癖つけてるとしか思えないけど。

574 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 23:53:54 ]
>>881
lastModified

575 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 01:57:19 ]
modifiedTime
textModifiedTime
timeModified
timeTextModified



576 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 10:23:56 ]
FillSpacePaddingRight

577 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 12:32:32 ]
前置詞を使えよ、前置詞をよォ。

思いついた単語をベタに並べるだけってのは止めてくれ。
思いついた本人にはマトモに見えるのかも知れんがね?

578 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 12:46:57 ]
前置詞の問題でもないだろw
単に英語ダメな子なんだろう

579 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:07:56 ]
好きにしろよ

580 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:09:00 ]
>>889
お前の書いたプログラムの関数名で中くらいの長さの出してみろ

581 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:32:08 ]
>>890
英語がダメなら日本語で命名とかどうですか。それもダメなら連番にでもするか。

582 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:53:01 ]
前置詞うんぬんって誰に対するレス?
このスレ全体?

583 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 14:55:04 ]
goToHell
restInPeace

とか

584 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 15:05:27 ]
日本語から英単語を連想するとネイティブの感覚とはズレてくるね
たとえばfillだとスペースを他の単語で埋める感じになる
穴埋め問題(fill in the blanks)とか

英語が出来ない人が多すぎるのは確かだけど、俺は諦めてる
そもそも英語自体が言語として出来が悪すぎるんだよ

585 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 15:41:59 ]
fill with spaces にしろってこと?



586 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 16:20:00 ]
行列の対角成分の和はtraceと言う名前がありますが,
対角成分の積で何かいい名前はないでしょうか?

587 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 16:47:20 ]
一語で適切なのは無いような気がする
diagonal productとか?

>>897
それでもわかるけど後ろに追加するからappendのほうがいい
あとspaceは図形的な空間の意味が強い
ちなみに俺は>>878と書いた






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<201KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef