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/
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とかプリフィクスするの止めろって言うんだけど > やっぱりプリフィクスないと混乱するときあるよ。 混乱するわけがないでしょ。 大文字で始まる名詞があれば、クラスや構造体でしかありえない。
321 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 17:33:46 ] スレ違い
322 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 20:05:45 ] >>315 stringifyってのがあるから stringifiable…?
323 名前:デフォルトの名無しさん [2005/05/23(月) 22:04:41 ] >>320 MSはプロパティもPascal形式にしろっていってるよね? プロパティは通常名詞であることが多いと思うんだけど。 第一、例えばプログラム中でインスタンスが一つしかないような場合でも(こういうの シングルトンパターンっていうんだっけ?)、MSのアホな指針に従わなければ、 例えばクラス名をCGod(あるいはcGod)、そのクラスの唯一の自分自身のインスタンスを 保持する静的フィールドをm_God(またはmGod)、その唯一のインスタンスを 他のクラスから参照する静的プロパティをGodと、すっきり機械的に命名できるのに。 それにキャメル形式って読み難くてイライラするんだよね個人的に。 慣れの問題かとも思ったがそうじゃない気がする。
324 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 22:06:45 ] >>323 >>321 >それにキャメル形式って読み難くてイライラするんだよね個人的に。 >慣れの問題かとも思ったがそうじゃない気がする。 2レス前も読めない読解力の問題。
325 名前:デフォルトの名無しさん mailto:sage [2005/05/23(月) 22:07:24 ] >>323 完全に慣れの問題だな。
326 名前:315 mailto:sage [2005/05/24(火) 01:15:26 ] >>322 それです!まさにそれ。Stringifiableとも言うみたいです。 Perlは4で止まってたのでその単語をまったく知りませんでした…ありがとう とはいえだいぶマニアックで直感的じゃなくなってきたなぁ(笑)
327 名前:デフォルトの名無しさん [2005/05/24(火) 10:23:13 ] void xxx(struct tagABC *edge){ free(edge->ptInt); free(edge->ptLong); free(edge->ptShort); } ある構造体の変数にポインタがあり、そのポインタには メモリ確保した時のアドレスが格納されています。 このメモリを一気に解放する関数の名称を、命名して下さい。
328 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 10:32:10 ] ABCInitialize/ABCFinalize
329 名前:327 mailto:sage [2005/05/24(火) 10:36:50 ] なるほど。どうもです いただきました
330 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 15:41:14 ] freeABCでいいような。 本体は解放するけどメンバーのデータは解放しない っていう関数が別に必要ならそっちに使いそうな名前 ではあるが。
331 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:53:17 ] 以下の3つを区別する必要があるとき、それぞれどのような名前を付けたらよいでしょうか? よろしくお願いします。 ・日時両方: 2005/05/24(火) 15:41:14 ・日付だけ: 2005/05/24(火) ・時刻だけ: 15:41:14
332 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 19:54:21 ] DateTimeFormat
333 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 20:09:38 ] DateTime Date Time
334 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 20:47:04 ] ありがとうございます。 あちこちで頻繁に参照する名前なので、もっと短くて混同しづらい名前はないものかと悩んでいたのですが やはり DateTime のように Date と Time を引き摺り続けるしかないのでしょうか。 まずは Date, Time, DateTime で命名しようと思います。 が、もしもっと見分けやすい名前を思いついた方がいらっしゃいましたら、どうか宜しくお願い致します。
335 名前:デフォルトの名無しさん mailto:sage [2005/05/25(水) 21:06:27 ] >>334 日付時刻をDateTimeとするのは割と一般的だと思うけどなあ。
336 名前:デフォルトの名無しさん [2005/05/26(木) 02:30:31 ] 姿勢(基底行列)と位置(3次ベクトル)を メンバに持つクラスを作りたいんですが 名前が決まらず困ってます。お助けを。
337 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 02:59:24 ] 何をするクラスかが分からんと…
338 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 03:17:17 ] >>337 へぼい3Dのプログラムなんですけど 3Dオブジェの位置姿勢を担当するクラスを 作ろうと思いまして。 でも全然名前が浮かばないんです。
339 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 04:52:41 ] >>338 設計ミスな希ガス 3Dオブジェのベースクラスで管理するんじゃまずいの? クラスを便利な構造体として使ってない?
340 名前:デフォルトの名無しさん [2005/05/26(木) 08:04:45 ] たしかにそうかもしれません。 設計を見直してみます。 しかし、いろいろ調べたんですが 位置姿勢を一言で表す良い言葉・表現が みつけられなかったのは残念です。
341 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 08:27:46 ] position で位置姿勢の両方の意味はあるみあいだけどな…
342 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 08:46:17 ] 数学(物理学)用語なんだから専門辞書かWikipediaかを当たればわかるんじゃない?
343 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 09:39:25 ] 姿勢というか向きならorientation
344 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 09:40:51 ] ああ、両方をひと言で、なのね。 日本語でも位置姿勢でフタコトだし、無理に一語にしないということでどうよ。
345 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 10:22:32 ] コマンドラインオプションを解析する関数名はどうすればいいですか。 言語はC++です。
346 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 10:24:43 ] parse
347 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 10:46:35 ] parse_arguments (オプションしかないなら _options でも) UNIX APIに倣うとgetopt(解析すると言うよりオプション取り出しだが)
348 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 10:50:59 ] parse_argumentsと parseArgumentsってどっちが主流なの?
349 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 10:53:10 ] parseOption parseCommandLine(Option)
350 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 12:21:57 ] parseCommandLine ってのしか見たことない
351 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 16:54:54 ] >>340 >位置姿勢を一言で表す良い言葉・表現がみつけられなかった(ry これが設計ミスじゃないかな?と疑うきっかけ。 オブジェクト指向の場合、クラスは事象の抽象化なので 必ずぴたっとハマる名前があるはず。
352 名前:345 mailto:sage [2005/05/26(木) 18:18:31 ] dクス。 getoptを使わせていただきます。
353 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 21:37:10 ] >>348 言語による。 C++やJavaなら後者が主流、だと思う
354 名前:デフォルトの名無しさん [2005/05/26(木) 21:38:02 ] 主流とか何かが意味があるかと思うのか?
355 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 21:39:16 ] >>354 自分以外が見るんならあるんじゃね?
356 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 00:24:24 ] Standard C++ Libraryだと _ で繋ぐ方式だね。
357 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 00:25:06 ] スレ違い
358 名前:デフォルトの名無しさん [2005/05/27(金) 05:29:02 ] >>355 見る時に必要なのは文字列を同定する能力 _も2語目語頭大文字化も どちらも他と区別できるくらいの能力が 読むものになければそもそもその人間は コードを読む資格がないとさえ言えよう
359 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 06:32:25 ] >>358 いや単純に気持ち悪いじゃん。 二つが混在してるようだと。
360 名前:デフォルトの名無しさん [2005/05/27(金) 07:44:43 ] >>359 混在?どちらでもいいから統一しておけば問題ないだろう 主流もなにもないコーダの好みで決めればいい
361 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 07:49:25 ] STLとWin32APIを同時に使うとなると否応無しに混在させられてしまう罠。
362 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 08:39:36 ] STLは"_"派、 出来ればこれに合わせたいんだけど 名前が無駄に長くなるんだよね・・
363 名前:______________ mailto:sage [2005/05/27(金) 09:33:16 ] 無駄とはなんだ!
364 名前:デフォルトの名無しさん [2005/05/27(金) 11:10:48 ] 2つの配列を比移動やコピーを行う際、 送り側の配列へのポインタ変数と、受け取り側の配列へのポインタ変数名 どんなのがよろしいでしょうか? int A[10], B[10]; int *pXXX = A; int *pYYY = B; for (i = 0; i < 5; i++) pXXX[i] = pYYY[i + 2]; ※こんな感じで使用予定です
365 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 11:11:34 ] pDest,pSource
366 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 11:15:05 ] ディレクトリを再帰的に巡って消費ファイルサイズを多い順にソートするクラス名(というかツール名)って何がいいですか。
367 名前:364 mailto:sage [2005/05/27(金) 11:17:34 ] >>365 それです! ソースは思いついたんですが、受け手の方が思いつかなくて(英語力ないもんで・・・) Dest ← ちなみにこれのフルスペスってどんなんですか?