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


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

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



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/

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さんのネーミングセンスは一味違うな

678 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 16:31:55 ]
やっぱTONさんパネェっす



679 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 17:05:20 ]
浮動小数点数が非数でも無限でもないことを判定する関数の
名前は何にしたらよいでしょう?

IsRealNumber にしようとおもったら、実数は無限を含むらしいので。


680 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 17:12:17 ]
IsFinite

681 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 17:18:54 ]
真偽を逆にしてIsNaNOrInfinite

682 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 19:39:53 ]
>>679
正負の零、非正規化数、正規化数をあわせて、finiteとよぶ。

683 名前:676 mailto:sage [2009/04/23(木) 20:04:42 ]
>>677
>>678
それもしかして俺に言ってるの?
joinはセパレータ使って文字列結合するときには普通に使う関数名だよ?
スクリプト言語とかboost.string_algoとか使ったことない?

ちなみにセパレータじゃなくて意味のある文字列ならformatXXXのほうがいいかな
composeとかのほうが意味がわからない

684 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 20:25:35 ]
>>679
つ float.h


685 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 20:27:17 ]
>>683
どうみても674あてだろがw

686 名前:デフォルトの名無しさん mailto:sage [2009/04/23(木) 20:45:46 ]
疑心暗鬼に陥っているなw

687 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 04:35:34 ]
>>683
このスレの住人のTON検出力を甘く見んなw

688 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 04:40:17 ]
683:(674に言ってるように見える・・・俺がTONなんだが・・・)



689 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 04:50:52 ]
TONさんは頑なにTONが含まれるレスを無視するからアリエネ

690 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 06:31:07 ]
ワロタ

691 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 07:25:31 ]
質問者はトンさんに絡まれたくない時は冒頭にTONって入れときゃいいのか

692 名前:デフォルトの名無しさん mailto:sage [2009/04/24(金) 13:29:23 ]
じゃあsageの代わりにTONって入れればいいんじゃね。

693 名前:デフォルトの名無しさん mailto:sage TON [2009/04/24(金) 18:26:36 ]
まじぱねえっす

694 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:49:56 ]
マイコンに接続されてるセンサー(今は温度センサーをつけてる)からデータを受けてviewクラスに値を渡したいのですが

項目名(温度センサーなら温度)とその値を持つ構造体の名前、どうしたらいいでしょうか
単純そうに思えてしっくり来る名前が思いつかないです

695 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:42:20 ]
NameValuePair

696 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 22:43:49 ]
SensorData

697 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 23:00:42 ]
SensedData
SensedValue

698 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 06:39:45 ]
DetectedParameter



699 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 21:20:06 ]
SensorEntry

700 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 14:17:29 ]
項目名と構造体名がお互いに愛し合っているなら、最も単純なものを。
そうではないが、刺激を与え合う関係であれば、中程度に複雑なものを。
誰もが気流に乗れていない状況であれば、いっその事名前をつけない。
客に媚びたいならば、可能であればジェネリクスを使う(同時に、客にはキッシュでも食わせておく)。

701 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 05:06:58 ]
書き込む前にもう一度だけ読み返してさえいれば、こんな事にはならなかったのにな

702 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 10:21:45 ]
むちゃしやがって・・・


703 名前:ムモー [2009/05/10(日) 22:17:00 ]
ClassName みたいな方法で名前を書くときって、
頭文字語を入れると読みにくくなるよね。
たとえば、「ABC法」という方法があって、
それをクラス化する場合、ABCMethod とすると読みにくくない?
AbcMethod にすべき?それだと頭文字であることが分かりにくいよね。


704 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 22:25:02 ]
キャメル法って言うんでしたっけか。
_使うっていう俺は素人

705 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 22:33:16 ]
InitializeAclとか。

706 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 22:39:49 ]
>>703
俺はマイクロソフトのガイドラインに則って2文字か3文字以上かで分けてる。

IOMode ioMode;
XmlDocument xmlDocument;


707 名前:ムモー [2009/05/10(日) 22:50:28 ]
>>706
うーん。でも、「AB法」とそれを拡張した「ABC法」というのがあって、
一方は ABMethod でもう一方は AbcMethod っていうのは、よくないかなーって。
実際、今の仕事でそういうのがあるんだけど。

708 名前:706 mailto:sage [2009/05/10(日) 22:54:43 ]
>>707
それはさすがにきもいな。
どっちかにそろえるべきだと思う。



709 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:52:32 ]
可読性も重要だが、名前の衝突が深刻

710 名前:709 mailto:sage [2009/05/11(月) 01:07:27 ]
いみふなので付けたし

その言語の標準の命名規則に盲目的に従っておけば
その言語仕様における名前の解決の方法・順番に纏わる
トラブルに巻き込まれることが少なくなることを期待

なので、AbcMethodに一票
ABMethodは、作った人を殴りに行こう






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

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

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