1 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 00:20:32 ] クラス名、変数名のつけ方に悩んだら書き込むスレです。 質問する人は、その変数に何を格納するのか(クラスだったらその役割) プログラミング言語は何なのかを、それぞれ書いて、 いい変数名を思いついた人は、それに答えてあげましょう。 命名規則や設計の善し悪しについて議論するのは基本的に禁止。 >>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/ Part13: pc11.2ch.net/test/read.cgi/tech/1222661623/
577 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 17:08:06 ] 他人のコードを読むとか、語彙を増やすとか
578 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 23:39:43 ] あるキーワードを思いついたらgoogle codeで検索して他人がどういう変数名やクラス名をつけているか調べまくる。
579 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 09:12:15 ] 英語版googleでネイティブがどんな言い回しをしてるのか調べる。
580 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 09:15:00 ] とにかくググる癖をつけないと、TimeOfNowとか付けちゃう酷いネーミングセンスになるから気を付けるんだぞ
581 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 18:02:25 ] SIMDを使うようになってから、今までとは全然違う概念の変数を使うようになって、名前がつけにくいったら。
582 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 21:16:05 ] google code... そんなんもあるのか....
583 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 09:43:08 ] goodle code searchな。 google codeは、google提供ツールのソース開示とOSSプロジェクトのホスティング。
584 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 12:04:00 ] キャンバス上に配置されてるオブジェクトってなんて言えばいいかな arrangedObjects?
585 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 15:22:02 ] 「配置されてる」とは? 「配置されていないオブジェクト」という概念もあるのか?
586 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 18:43:27 ] >>585 偉そうに馬鹿な事言うなよ 恥ずかしいw
587 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 20:03:25 ] positioned object placed object object on canvas
588 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:00:33 ] 言語によっては、canvas.objects() とか canvas->getObjects() とか。 componentsかもしれんが。 585でも訊かれているけど、管理してるけど配置していないオブジェクト ってのもあるの?
589 名前:デフォルトの名無しさん [2009/04/03(金) 11:10:12 ] .NETのSystem.Drawing.Bitmapの全ピクセルを高速にループしてforeach的に各ピクセルに対して処理するメソッド void Hoge(Bitmap bmp, PixelProc proc); と System.Drawing.Imageを上記のメソッドに渡せる形式のBitmapにして返すメソッド (具体的にはPixelFormat=PixelFormat.Format32bppArgbなBitmap) Bitmap Fuga(Image img); 上記2つのメソッドを持つクラス。 PixelProcの定義は delegate Color PixelProc(Color color); GetPixel、SetPixelを使った処理よりも高速であることを強調した名前にしたいです。 宜しくお願いします。 てゆーかぶっちゃけこれに名前が欲しい。 www.k4.dion.ne.jp/~anis7742/codevault/00180.html
590 名前:デフォルトの名無しさん [2009/04/03(金) 11:33:40 ] TurboRgbaPixelFilter
591 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 11:35:03 ] FastFiltering GetRegularizedBitmap
592 名前:589 mailto:sage [2009/04/03(金) 11:47:58 ] 超THX。使わせて頂きます。
593 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:22:03 ] フィルタ処理用のLanczos3関数で、引数がゼロかどうかのチェックを省略したものの名称を どうしようか迷っています。とりあえず Lanczos3_NonZero としているんですが、 チェックを省略している、というニュアンスが出てないので……
594 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:50:40 ] 普通に checkNonZero じゃぁいかんの?
595 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:25:34 ] NoArgumentValidatedLanczos3
596 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:45:36 ] Lanczos3WithoutArgumentCheck
597 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 12:34:15 ] ふと昔の自分のソースを見てて思ったんだけど、 変数名などに、同じ単語の単数形と複数形を共存させることってある? 例えば、 file ← ファイル名を格納 files ← 配列など、複数のファイル名を格納 みたいな感じで。
598 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 12:57:33 ] foreachがある処理系なら
599 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 16:41:36 ] 前処理行程で出てきた 16進数の文字列データを10進数の文字列に変換するクラスの名前 このクラスから桁揃えや値の範囲の判定を追加した子クラスに派生させる予定です 宜しくお願いします
600 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 17:56:03 ] Javaでメンバ変数(フィールド変数?)にアンダースコア付けるのって微妙なの? マーチン・ファウラー先生のオススメ命名規則らしいんだが
601 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 20:15:32 ] >>599 それだけ聞くと「単純な話をわざわざ複雑にするだけ」に聞こえる。 hex⇒intもint⇒decimalもintの機能であるんじゃないの? 2行の処理が一行にまとまる「嬉しさ」と、 何を抽象化したクラスか理解する「面倒臭さ」のどっちが勝るかよく考えるべきだと思うな。
602 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 20:29:53 ] struct XMLtree_t { string name; children_t* children; attribute_t* attributes; } struct children_t { std::vector X; } struct attribute_t { std::map Y } みたいなのを書いてみました。XとYはどんな名前がいいでしょうか? ちなみにXとYをわざわざ別の構造体にしてるのは「存在しないとき」の方が多そうだから NULLポインタ1個で済ませられればという理由です
603 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 05:14:25 ] >>599 BaseConvert RadixConvert とかかのう。 10進と16進には固定できないが。
604 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 05:18:30 ] >>602 struct XMLtree_t { string name; std::vector* children; std::map* attributes; }
605 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 05:44:50 ] >>601 TONさんちーっす 相変わらずですね^^;;;
606 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 09:26:39 ] (605の内心) >>601 ようTON お前また設計に口出しするのか。 テンプレ読めないっぷりは相変わらずだな。 そんなんじゃ実生活でも相当使えないやつだろうなwwwwwww
607 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 10:34:35 ] おちょくってるだけの君らも邪魔 どっか行ってくれ
608 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 11:54:22 ] オマエモナ
609 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 12:03:59 ] オマエモナ
610 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 16:16:14 ] >>600 フィールド変数にアンダースコアを付けるのは 一見でフィールド変数とローカル変数を見分けられる利点がある。 その一方、リファクタリングによって フィールド変数とローカル変数が入れ替わることは少なくない。 この命名規則を維持するのは多少なりとも労力を必要とするが、 中断すると読み手をミスリードすることになるので そのコードを保守する限り未来永劫、その労力を必要とする。 さて、近年のIDEでは、フィールド変数とローカル変数を 自動的に視覚的に区別できるように表示してくれるものが多く、 このような開発環境を前提とした場合、先に挙げた利点が必要なくなるため この命名規則は欠点を残すだけになるだろう。 以上自論
611 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 19:46:38 ] メンバ変数へは絶対にthis経由でアクセスすべき 命名はどうでも良い
612 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 19:56:27 ] >>611 なぜ?
613 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 21:29:38 ] フィールドとメソッド内ローカルを入れ替えるようなリファクタリングなんて 一度もしたことないけどなあ。 どんな状況でそんな必要に駆られるのか煽り抜きで想像ができない。 ちなみに俺はフィールドにはそれと識別可能なプリフィクスを付ける派。 ただしアンダースコアは視覚的に見難いし醜いしタイプしにくい(少なくともJISキーボードだと) から小文字のmでプリフィクスすることにしてる。
614 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 21:32:51 ] >>610 ハンガリアンも似たような理由で嫌われるよな
615 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 22:00:09 ] いまどきフィールド変数なんて色変えたりボールドにしたり 一見して判別可能にすることができるんだから全然気にする必要ない。 変なプレフィクス付けるとかマゾ以外の何者でもない。 異論は認める。
616 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 22:22:53 ] >>615 むしろ色分けや書体による区別の乱用の方がマゾ的に感じるけどな。 シンタックスカラーまで否定しないけど、スコープの区別までそれでやるのは 関心しないね。 視覚的に「騒々しい」というのもあるけど、人間のパターン認識機能の特性に あまり適合的じゃないよ。
617 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 23:37:15 ] いみふめい
618 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:22:27 ] まあ白黒テレビで頑張ってますってことだろ
619 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:28:33 ] >>617-618 端的に言うとむしろ君らの頭の性能が悪い、ってことだと思うよ。
620 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:43:12 ] へいへい
621 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 01:08:39 ] ここはヌルー
622 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 01:11:26 ] ポ
623 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 01:25:49 ] ガッ
624 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 04:29:42 ] (俺にとっては)視覚的に「騒々しい」から(お前が)それでやるのは関心しないね。 いみふ
625 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 09:52:15 ] スレ違いだが色覚異常は男性に多いらしい。 そういう人は色だけで区別するのは嫌がるだろうな。
626 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 12:07:59 ] 音なんかどうだろうか
627 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:37:26 ] 世の中耳の悪い人もいるよな 触覚でどうだろうか
628 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 15:52:28 ] 視覚だけでいいよ
629 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:00:39 ] マジレスすんな低脳w
630 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:02:07 ] つまんねえよクズ
631 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:03:57 ] キーワードは何色で表示してる? 俺は緑だが VSのデフォはコメントが緑だから困る
632 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:22:50 ] 目に優しい色で他と区別ができるのなら何でもいいと思うな。 少なくと俺は色から、これはキーワードだとか、これはクラスメンバだとかいう 情報を積極的に読み取るってことはしない。 俺じゃなくても、シンタクックスカラー主目的はタイプミスとか''""{}[]/**/ のアンバランスを逐次的に見つける一手段ってことなんじゃないの? まあ、慣れた配色と違うと確かに最初は違和感あるが・・・
633 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 21:17:24 ] javaでeclipseだと普通に色で読み取れちゃうしそれを使わない手もないとおもうけど スレ違い。
634 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 00:53:06 ] Win32APIのLPCTSTRとかわけのわからんのに触れて以来、 システムハンガリアンを受け付けない体になってしまったんだが、 Visual Studio C++でもメンバ変数の色分けってできないだろうか?
635 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 20:44:07 ] >>613 ローカル引数のスコープの狭さは、メソッドの分割などで支障をきたすことが少なくない。 無理に分割しようとうると、金太郎飴のように似た様な引数の並びのメソッドを 次々にコールすることになる。 この状態でこれらのメソッドを複数のクラスに分割すると 金太郎飴引数をクラス間でずりずり引き回すという なんちゃってオブジェクト指向のスパゲティコードを読まされている俺負組み誰か助けてorz
636 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 21:21:33 ] くそう最後で笑ってしまったw
637 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 21:21:56 ] 「リファクタリング」に出てくる「コードの不吉な臭い」のうち 「多すぎる引数」とか「データの群れ」というやつだな。
638 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 01:19:07 ] 引数は常にデータセット1個に決まってるだろjk・・・
639 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 20:10:25 ] 1箇所弄ると連鎖的に全部変えなきゃならない構造体地獄の現場を思い出した
640 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 03:23:39 ] 構造体なんて論外だろw
641 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 08:59:24 ] なんでも格納できる辞書かデフォルト引数でもあればまだマシなんだけどなあ
642 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 09:01:06 ] ごめん。 ○キーワード引数(Pythonとかにあるやつ) ×デフォルト引数
643 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 18:12:45 ] そんな引数が数十個ある関数をアセンブリ言語から呼ぶ羽目になったぜ。 しかもなぜかfastcall。かえってややこしいわw
644 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 03:11:08 ] レコードの数を表す変数として、 recordsとnRecordsならどちらがよいのでしょうか。 recordsだと何かrecordの集合のような物を想像してしまうのですが、 かといって要素数を表す接頭辞をつけるのも不格好な気がします。 records.lengthのように参照できるようにできれば一番いいと思うのですが、 現に手元にrecordがあるわけでないのでそうはできません。 みなさんはどうされていますか。 キャピタライゼーションなどの見た目上の規則ではなく、 意味論的な観点からご意見ください。
645 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 03:36:51 ] だから迷ったらまず素直に直訳してみようといつも・・・ 自分で「レコードの数」って言ってるじゃん。 古い人ほど「直訳みたいな変数名はダメ」という間違った強迫観念に支配されてるけど、 時代錯誤だから考え直した方がいいと思うよ。
646 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 03:39:29 ] recordCount
647 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 03:40:49 ] なぜ比較するのにその二つを選んだのか
648 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 08:38:33 ] 何となくだが、records は配列とかそういう印象がある。 >645 そういうレベルの話じゃないっしょ。たぶん。 >647 nXXXsで個数っていうのは、よく見かけるけどな。
649 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 09:02:02 ] システムハンガリアンと違って、 きちんと意味付けされた上で接頭辞をつけるのは悪くないと思うんだけどな。 もちろん周りが -Count とか numberOf- とか使ってるならそっちを使うべきだけど。
650 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 02:37:11 ] あるある
651 名前:デフォルトの名無しさん [2009/04/20(月) 17:52:55 ] >>209 さ
652 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 18:20:18 ] MakeSureDirectoryPathExists的な関数名を付けては顰蹙を買うおいら。 でもオーバーロードの無いC言語だと仕方ないと思うんだ。
653 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 19:18:02 ] オーバーロードっていうかインスタンスメソッドじゃない。 bool CPathString::Exists()
654 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 19:20:01 ] make sureということは存在するか否かを返すのではなく、 「存在すれば何もしない。しなければ作る」という処理なのかな。
655 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 20:36:38 ] >>654 「ディレクトリの存在を確認する」んだろ。 オレだったらconfirmにするが。
656 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 20:38:05 ] ensure
657 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 11:58:52 ] >>654 正解。すごいな、分かる奴には分かるもんなんだな。 msdn.microsoft.com/ja-jp/library/cc428990.aspx
658 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 12:06:17 ] 技術系の洋書に沢山出てくる言い回しじゃん。
659 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 12:10:37 ] make sure directory path exists establish directory path existence without doubt 処理の後に指定されたディレクトリが存在するという事後条件がある と解釈するのか、make sureに対してそういう見方をしたことはなかった これからはもっと英英辞典も使うとしよう
660 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 12:37:42 ] Let's make sure he's dead. のジョーク思い出した
661 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 12:40:21 ] こういう言い回しは、こんな感じの意味みたいな読み方しかしないから、 ちゃんとした解釈なんて考えた事もないわ。 だから技術系の本しか読めないんだなきっとw
662 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 14:32:53 ] >>660 死んでるかどうか確認して! と 確実に死んだ状態にして! の勘違いのアレか。
663 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 18:53:18 ] 処理内容と事後条件が混ざって嫌。 だいたい事後条件を満たせなかったら どうすんの?死ぬの? makeDirectoryIfNotExist とかのがよくね?
664 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 19:00:56 ] 満たせなかったら例外とかエラーだろ。
665 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 19:03:08 ] >>663 失敗したらどうすんの?死ぬの?w
666 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 19:26:44 ] >>665 お前みたいな頭の悪いガキが生まれても、 親は別に死んだりしない。
667 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 19:41:02 ] 名前変えても何も変わらなくね?って言ってるだけなんだけど。
668 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 23:58:38 ] この思い込み具合、またTONくさいな。。。。。
669 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 00:07:53 ] MakeSureDirectoryPathExists makeDirectoryIfNotExist 俺はどっちも同じ動作を思い浮かべるけどな
670 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 03:40:06 ] >>669 それほど変わらんかもしれんが、 >MakeSureDirectoryPathExists はsureに、 >makeDirectoryIfNotExist はmakeに主旨がある気がしない? 感覚的にはけっこう違うような。
671 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 04:50:04 ] TONさんがこんなボンクラセンスなわけねぇだろw
672 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 17:42:44 ] 2-3個くらいの文字列変数をルールに従って1つの文字列に合成・生成してOutputする関数を命名したいのですが composeかそれともgenerateどちらがいいでしょうか? 〜OutputStr()と言うような感じで考えています
673 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 18:48:31 ] 手段が重要ならcomposeあるいはsynthesize 目的が重要ならgenerate
674 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 09:07:58 ] 〜にcomposeやgenerateが入るのが、outputする関数の名前としては既におかしい。 OutputComposedStringとかならまだ分かるが。
675 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 09:47:23 ] IN: 引数 OUT: 戻り値
676 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 11:14:06 ] ルールとかOutputとかが何を意味するのかわかんないけど joinとかそういうのとは違うの?
677 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 11:20:23 ] やはりTONさんのネーミングセンスは一味違うな