- 1 名前:デフォルトの名無しさん mailto:sage [05/02/25 20:16:44 ]
- クラス名、変数名のつけ方に悩んだら書き込むスレです。
質問する人は、その変数に何を格納するのか(クラスだったらその役割) プログラミング言語は何なのかを、それぞれ書いて、 いい変数名を思いついた人は、それに答えてあげましょう。 命名規則や設計の善し悪しについて議論するのは基本的に禁止。 >>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(間違って3として進行) pc5.2ch.net/test/read.cgi/tech/1087209526/
- 220 名前:218 mailto:sage [2005/05/01(日) 01:49:40 ]
- {
} ('A`) < メンゴ
- 221 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 01:53:24 ]
- ワロタ
- 222 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 21:01:55 ]
- 鼻から悪魔フイタ
- 223 名前:212 mailto:sage [2005/05/02(月) 12:04:34 ]
- みんなありがとー
- 224 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 04:48:59 ]
- 「相手、対象」は、どう名前つけてますか?英語で
- 225 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 10:16:42 ]
- dest
- 226 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 10:17:38 ]
- target
- 227 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 12:33:05 ]
- object
- 228 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 12:53:20 ]
- enemy
- 229 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 15:45:15 ]
- あとは対戦相手ならopponentとかな。
複数の候補が出たが、つまり「どういう相手」という意味かで 適切な単語は変わるということだ。どれでもいいというわけで はないぞ。
- 230 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 15:48:08 ]
- partner
- 231 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 15:52:03 ]
- 操作対象なら target か operand だろうな。
- 232 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 16:35:35 ]
- 通信相手はpeer
- 233 名前:デフォルトの名無しさん [2005/05/04(水) 17:50:25 ]
- 一番近いのがTargetっぽい。
参考になりました。m(__)m 実際には別の形で組みましたが...
- 234 名前:デフォルトの名無しさん [2005/05/04(水) 17:51:18 ]
- ↑224
- 235 名前:デフォルトの名無しさん [2005/05/04(水) 20:47:20 ]
- やってる人多いとは思うけど、順番を表す変数はxxxNo、
数を表す変数はxxxNumとかに統一してたほうがいいよ。 同じものにしちゃうと後でワケワケメよ。
- 236 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 01:01:02 ]
- 前者をIndex、後者をCountにしているDelphi厨な俺。
Noだと、なんだかYes/NoのNoに見えて気持ち悪い(個人的に) Numだと、略しているので気持ち悪い(個人的に)
- 237 名前:デフォルトの名無しさん [2005/05/05(木) 22:08:37 ]
- マンドクセからa,b,c,dってやっちゃいける?
- 238 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:12:46 ]
- 止めはしないがそのうち後悔するだろう。
- 239 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:20:59 ]
- そうなるともはや変数に名前さえいらないわけだが。
- 240 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 05:59:01 ]
- 普段Java風に phoneBook などと名前を付けているのですが、
これにグローバル変数を表す言葉をつけたいのですが何か いいアイディアはないですか? g_phoneBook g_PhoneBook gphoneBook gPhoneBook ↑こんなの思いついたんですが…
- 241 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 07:37:47 ]
- g〜以上にエコロジーでわかりやすい表記はないと思うが。
っていうか言語と型名(か用途)くらい書いてくれ。 その型のグローバルな変数が1個しかないなら PhoneBook::instance() でもいいかと。
- 242 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 08:08:35 ]
- 言語はC++で、phoneBook は電話帳(std::multimap)です。
メンバだと phoneBook_ みたいにスタイルを崩さずに 書けるんだけど、グローバル変数だとgのプリフィクス だけで上の四つのパターンが思い浮かんで、どれが いいものかと…。
- 243 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 09:11:52 ]
- >>240のなかでは1か4だな。
- 244 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 14:46:10 ]
- >>240は規約の問題だと思われ。
- 245 名前:デフォルトの名無しさん [2005/05/07(土) 00:21:04 ]
- なんか他人のゴミ捨て監視してる近所の変なオバサンみたいな人がいるなあ。。
別に荒らしているわけでもないわけだし、 問題なのは脱線しているかどうかってことじゃなく有意義かどうかってことだと思うんだが。 有益な脱線もダメだっていうのかなあ。
- 246 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 00:36:51 ]
- >>245
スレタイ付けてスレッド分けてるのは意味がないと申すか? まぁ文句だけいって適切なスレに誘導しないのは良くないな。 規約の話なら、このへんでどうぞ。 pc8.2ch.net/test/read.cgi/tech/1068752664/
- 247 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 01:53:36 ]
- 例え有益な情報でも、分散していたら意味ないし、無益でしょ。
その情報を知りたい人が行く場所に書かれてないんだから。 脱線しやすいのは、スレッドの切り方が悪いだけっしょ。
- 248 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 08:10:43 ]
- スレ違いを開き直るやつがいるスレはここですか。
- 249 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 08:13:41 ]
- 議論できないノータリンはすっ込んでろ
- 250 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 10:10:16 ]
- 変数名を決めるのとコーディング規約は切り離せないだろ
- 251 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 21:36:53 ]
- グレーゾーンの問題ならともかく、>>240は100%規約の話じゃん。
どれでも好きなやつ使えよとしか言いようがない。
- 252 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 05:26:43 ]
- gじゃ意味不明だからちゃんと書かないと。
GLOBAL_____phonBook がおすすめ!
- 253 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 07:25:40 ]
- 漏れなら
g_phoneBook か gPhoneBook のどちらかだが確かに微妙だな… 前者の g_ プリフィクスはよく見るけど Java っぽくない 後者は Java っぽいけどあんまり見ない
- 254 名前:デフォルトの名無しさん [2005/05/11(水) 21:29:58 ]
- gやめれば?
とかいってみるてすと
- 255 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 08:24:20 ]
- おいらの法則
グローバル PhoneBook ローカル phone_book
- 256 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 10:01:25 ]
- >PhoneBook
クラス名っぽくて気持ち悪い
- 257 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 10:51:01 ]
- クラス名だったら CPhoneBook とか頭に何かつけるかな。
- 258 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 10:58:00 ]
- クラス名にCを付けるなんてキモイ
- 259 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 10:59:09 ]
- じゃあ変数名にVariableのVをつけよう。
PhoneBook VPhoneBook;
- 260 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 11:21:36 ]
- ハゲキモスw
- 261 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 12:03:18 ]
- g_phoneBookがいい希ガス
- 262 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 18:28:46 ]
- グローバル変数は大抵シングルトンでよくね?
PhoneBook が2冊も3冊も必要なのか? と、スレ違いになっちゃうのか。 thePhoneBook ってのはどう? 「PhoneBook っていったらコレ!」みたいな雰囲気がでる。あと、ユニーク性も強調。
- 263 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 22:38:03 ]
- Theを付けると映画のタイトルっぽくなるw
ThePhoneBook.prelude(); ThePhoneBook.theme(); ThePhoneBook.episode(); ThePhoneBook.finale();
- 264 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 22:44:15 ]
- 大作のようなB級映画のような。
- 265 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 23:28:59 ]
- >>262
そんなこと言ってるとマルチスレッドで破綻しないか? 逆に面倒だろ
- 266 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 00:00:37 ]
- >>265
プリミティブ型ならマルチスレッドで問題が起きないのかと
- 267 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 01:17:27 ]
- くだらないことなのですが、DBのフィールド名で
作成日をCREATE_DATEにしようかと思うのですが、 更新日をどうしようかと悩んでおります。 CHANGE_DATEというのを考えたのですが何か違うような。
- 268 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 02:54:34 ]
- UPDATE_DATE なんかかっこ悪いな。
renew(renewed)とかmodify(modified)とか 某フレームワークだと、 作成日 created_on 更新日 updated_on だな。
- 269 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 02:58:00 ]
- REFRESH_DATE
- 270 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 03:31:27 ]
- LAST_UPDATE
- 271 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 03:40:53 ]
- FILETIME ftCreateTime; // 作成日時
FILETIME ftLastAccessTime; // 最終アクセス日時 FILETIME ftLastWriteTime; // 最終更新日時
- 272 名前:デフォルトの名無しさん [2005/05/15(日) 13:02:02 ]
- a for accessed
c for created c for changed m for modified t for touched u for used
- 273 名前:デフォルトの名無しさん mailto:sage [2005/05/15(日) 14:43:13 ]
- HTTPだと Last-Modified だな
- 274 名前:267 mailto:sage [2005/05/16(月) 00:56:52 ]
- 皆さんレスありがとうございました。
色々参考にさせていただきまして、 作成日=CREATED_DATE 更新日=UPDATED_DATE にすることにしました。
- 275 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 11:02:17 ]
- updateは微妙に違う気もするが。いいけど
- 276 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 21:54:38 ]
- 頭に特定なものをつけておかないと、後で変数名だか定数だかクラス名だか混乱するぜ。
- 277 名前:デフォルトの名無しさん [2005/05/16(月) 21:56:19 ]
- 微妙に違うってセンスが理解不能。
こういうのをまさにupdateって言うわけだが。 これがupdateじゃなきゃ、何が(以下略
- 278 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 00:05:16 ]
- 「内容的に目新しくなくて、ちょっと誤字を修正しただけ」みたいなのは
update ではないという脳内定義を持つ人は「微妙」に感じるのかも。
- 279 名前:デフォルトの名無しさん [2005/05/17(火) 00:21:02 ]
- 更新日のカラム名がUPDATE_DATE以外だったらコロヌ(・*・)
- 280 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 11:02:20 ]
- ウェ━━━━━━━━(0w0)━━━━━━━━イ!!!
- 281 名前:デフォルトの名無しさん [2005/05/17(火) 20:29:29 ]
- 版と刷の違いみたいな
- 282 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 20:56:55 ]
- UPDATE_DATE ってなんとなく HTML 言語と同じニュアンスを受ける
- 283 名前:デフォルトの名無しさん [2005/05/17(火) 21:21:24 ]
- HTM言語よりはよいだろう
- 284 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 21:22:07 ]
- H 文章記述言語
- 285 名前:デフォルトの名無しさん [2005/05/17(火) 21:25:06 ]
- 藁田
- 286 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 21:52:08 ]
- 官能小説業界標準規格
- 287 名前:デフォルトの名無しさん [2005/05/17(火) 23:26:01 ]
- bool型変数ないし、戻り値がブーリアン風な関数の名前について質問です。
言語または命名規約によっては、よく 「isXXX」 という名前が使われるみたいですが、 機能説明した疑問形の文章をそのまま英訳すると、 are、have、canなどの、is以外の単語が使われることってありますよね? もちろん、ちょっと形を変えれば isXXX になるときは別ですが この場合、ちょっと違和感があっても canXXX、haveXXX といった名前にするべきでしょうか? それとも英語的におかしくても isXXX にするべきでしょうか?
- 288 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:32:15 ]
- areとかhaveとかcan使うに決まってるだろ
馬鹿なこと聞いてんじゃねえよ
- 289 名前:デフォルトの名無しさん mailto:sage [2005/05/17(火) 23:42:13 ]
- >>287
おかしいと分かっているにもかかわらず、isにこだわる理由は? isStockとか? ttp://www.objectclub.jp/community/codingstandard/ コーディング規約 第2条 pc8.2ch.net/test/read.cgi/tech/1068752664/
- 290 名前:287 mailto:sage [2005/05/18(水) 00:03:18 ]
- 自分はアマグラマなんで、社内共通の命名規約などとは縁が無い環境です。
いくつかの入門書やウェブサイトをあたってみましたが、それらには 「ブーリアンの場合は isXXX にしよう!」とは書いてあるんですが、 他の単語になる場合などは書かれていないようでした。 そもそも、C言語でJava風の変数名を使うのがおかしいのかもしれませんが(笑) >>288 常識でしたか。ありがとうございます。 >>289 理由は3つあります。 ・標準関数とかがそうなっていた ・haveXXXとかだと、多くの場合変数名が長くなる ・最近Javaの入門書を立ち読みして、ちょっと影響された(笑) こんなところです。
- 291 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 00:51:14 ]
- 規約にあるからといって意味も考えずに isHaveXXX なんて書く奴がいる。
本来の「英語(自然言語)に近い状態でソースが読めるようにする」という目的を忘れないで欲しい。
- 292 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 08:16:36 ]
- 常識ってバカかこいつ
これでも読んどけ www.shos.info/develop/xp/cplusstd.html
- 293 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 12:39:01 ]
- have〜 は見たこと無いけど、has〜 とか contains〜 とかは見たことある
- 294 名前:デフォルトの名無しさん [2005/05/18(水) 13:24:22 ]
- その前に英語を勉強しろ
- 295 名前:デフォルトの名無しさん mailto:sage [2005/05/18(水) 15:33:55 ]
- まぁisを使う一方でhaveはおかしいよな。
Rubyの標準クラスは anInstance.is_a?(Class) (三人称単数現在) aHash.has_key?(key) (ditto) anArray.include?(element) (原型不定詞) のように不統一で(一応ルールはあるらしい)、慣れるまで混乱する。
- 296 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:09:42 ]
- エラトステネスのふるいの関数名を考えてください。
適当に、hurui(int *,int)にしちゃったんだけど、 もっとシャキーンとした名前がほしいです。 なんかありませんか??
- 297 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:13:51 ]
- old
- 298 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:17:42 ]
- void Shakeen();
- 299 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:18:43 ]
- EratsnetesSieve
- 300 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:21:03 ]
- filter
- 301 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 00:28:47 ]
- >>298
採用したいが見送り。残念。 >>299 EratosthenesSieve これを採用します。 レスThx!
- 302 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 14:27:43 ]
- 定数の列挙に
namespace HOGE { enum { TEISUU_1, TEISUU_2, }; }; とよくやるんですが、(VC.netならHOGE::と打てば定数がリストアップされるから) ここでHOGEのネーミング規約として何かいい案はないでしょうか? namespaceの頭文字をつけてn_HOGE::とするか、 STLは小文字でstd::だからhoge::にするか 結局定数だからHOGEにするか・・・。 毎度悩んでます。
- 303 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 14:40:45 ]
- constants
長いならk
- 304 名前:302 mailto:sage [2005/05/19(木) 15:10:18 ]
- 役割ごとに別の名前空間にしようと思うんですね。
通信プロトコル、動作フラグ、設定データ等等・・・。
- 305 名前:デフォルトの名無しさん mailto:sage [2005/05/19(木) 15:13:08 ]
- Namespace.Class.Method
別に区別しなくていいって言うかスレ違い。
- 306 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 00:32:44 ]
- >>302
.NETでやるんなら.NETの流儀(全部Pascal)でやるべきなよーな
- 307 名前:デフォルトの名無しさん [2005/05/20(金) 08:26:13 ]
- .NETっていうか、MSご推奨の流儀ね。
でもあれ合理性が感じられないんだよね。 例えばクラスや構造体にCとかSとかプリフィクスするの止めろって言うんだけど やっぱりプリフィクスないと混乱するときあるよ。 インテリセンスでわかるって言うけど、ソース読み直してるときにそんな 面倒なこといちいちやってられるか。 それ以上に、プリフィクスには命名のバッティングを防ぐ効果があって、 これが案外重要だったりすると思うんだけど。
- 308 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 08:29:39 ]
- スレ違い
- 309 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 10:47:26 ]
- ハンガリアンは名前に実装が現れるのが酷すぎる。
それに型を変えると名前も変えなきゃいけないし、 そもそもnDataってあったとしてもそれが本当に int型かどうか分からないし。 意味を反映した名前を付けたほうがいいでしょ。 バッティングなんて起こる方がおかしいんだし。
- 310 名前:デフォルトの名無しさん [2005/05/20(金) 12:24:56 ]
- >>309
なんでいきなりハンガリアンの話になるわけ?
- 311 名前:デフォルトの名無しさん mailto:sage [2005/05/20(金) 16:08:22 ]
- >>310
>>307の「MS」「プリフィクス」で脊髄反射したんだろ。
- 312 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:28:01 ]
- グラフを描画するのに以下の二種類のペンを使います。
これらの名前を考えてください。 1.普通のペン 2.視点から実際には見ることのできない部分を書くペン お願いします
- 313 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:31:51 ]
- Pen
InvisiblePen
- 314 名前:デフォルトの名無しさん mailto:sage [2005/05/22(日) 23:32:49 ]
- >>313
やっぱりそうですよね 白身がなかったもので… ありがとう
- 315 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 15:21:47 ]
- C++で文字列化できることを表すインターフェース名が決まらないのですが
何か良い案ありますか? class I??? { virtual std::string ToString() const = 0; friend inline std::ostream& operator <<(std::ostream& lhs, const I???& rhs) { return lhs << rhs.ToString(); } } こんな感じの???が思いつきません。
- 316 名前:315 mailto:sage [2005/05/23(月) 15:25:01 ]
- ちなみにバイナリデータへのSerializerは既にあって、
シリアライズできるクラスはISerializableを継承するようになってます
- 317 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 15:41:41 ]
- ITextSerializable
- 318 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 15:45:13 ]
- IStringize
- 319 名前:315 mailto:sage [2005/05/23(月) 17:03:46 ]
- 良くやる事なのかと思ったけどあんまり例が無いですね…
>>317氏のはすこし冗長な気がします Deserializeには対応しないのでSerializeと冠するのも不適格な気が >>318氏のSrtingizeは違う意味でBOOSTなどが使っているので紛らわしいかなぁ でもJavaとかだと想定した挙動みたいですね とりあえずIStringizableで行こうと思います ありがとうございました
- 320 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 17:30:38 ]
- >>307
> 例えばクラスや構造体にCとかSとかプリフィクスするの止めろって言うんだけど > やっぱりプリフィクスないと混乱するときあるよ。 混乱するわけがないでしょ。 大文字で始まる名詞があれば、クラスや構造体でしかありえない。
|

|