クラス名・変数名に迷ったら書き込むスレ。Part10
at TECH
1:ネミ子
07/05/26 11:25:15
クラス名、変数名のつけ方に悩んだら書き込むスレです。
質問する人は、その変数に何を格納するのか(クラスだったらその役割)
プログラミング言語は何なのかを、それぞれ書いて、
いい変数名を思いついた人は、それに答えてあげましょう。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
>>2 英和・和英・英英など各国語辞書と翻訳サイト。
>>3 類義語(シソーラス)辞書、図形・数式・数学用語の英単語。
>>4 関連スレと、いろいろな言語規約。
>>2-10 諸事情によりリンクがずれた場合。
前スレ。
◆ネーミング倶楽部◆: URLリンク(pc3.2ch.net)
Part1: URLリンク(pc5.2ch.net)
Part2: URLリンク(pc5.2ch.net)
Part3: スレリンク(tech板)
Part4: スレリンク(tech板)
Part5: スレリンク(tech板)
Part6: スレリンク(tech板)
Part7: スレリンク(tech板)
Part8: スレリンク(tech板)
Part9: スレリンク(tech板)
2:デフォルトの名無しさん
07/05/26 11:26:12
英和・和英など各国語辞書と、翻訳サイト。
英和・和英辞典。
URLリンク(dictionary.goo.ne.jp)
URLリンク(www.excite.co.jp)
英英辞典のリンク集。
外国語広場: 英語: オンラインで使える英英辞典 英和・和英辞典
URLリンク(www.gaikoku.info)
英語←→各国語辞典。(英語)
Dictionaries
URLリンク(www.freedict.com)
日英・英日、日中・中日、日韓・韓日翻訳。
URLリンク(www.excite.co.jp)
POP jisyo.com
URLリンク(www.popjisyo.com)
訳GO YAKUGO.COM
URLリンク(www.yakugo.com)
3:デフォルトの名無しさん
07/05/26 11:28:36
専門語、類語辞書。
シソーラス(類語)検索
URLリンク(www.gengokk.co.jp)
Thesaurus - Yahoo! Reference (英語)
URLリンク(education.yahoo.com)
図形や数式などの英単語。
すうがく探検隊・数式と図形の英語
URLリンク(i.lekton.co.jp)
リスコレ No.24 図形の名前を英語で……
URLリンク(homepage1.nifty.com)
各業種いろいろ
250の辞書を一度に検索 Webdio
URLリンク(www.weblio.jp)
4:デフォルトの名無しさん
07/05/26 11:29:56
フォルダのパスの最後に\が無かった場合に、\を付け足す関数ってどういう名前がいいですか?
if Right(path, 1) <> "\" then path = path & "\" みたいな処理。
5:デフォルトの名無しさん
07/05/26 11:30:18
関連スレ。
変数名って、どの位こだわりますか?
URLリンク(pc.2ch.net)
ローマ字変数を使う奴は馬鹿
スレリンク(prog板)l50
ゲーム内で使う長い変数を縮めてあげるスレ
スレリンク(gamedev板)l50
★★★コーディングマナー★★★
スレリンク(tech板)l50
ちょっと待て!ハンガリアン
スレリンク(tech板)l50
Cのマナーいろいろ
スレリンク(tech板)l50
Cのマナー
スレリンク(prog板)l50
バカなコーディング規約
URLリンク(pc.2ch.net)
いろいろな言語規約。
Hungarian Notation(英語)
URLリンク(msdn.microsoft.com)
Java言語規定。6.8 名前付け規約
URLリンク(www.y-adagio.com)
参考書籍
翻訳に役立つGoogle活用テクニック
URLリンク(www.amazon.co.jp)
6:デフォルトの名無しさん
07/05/26 11:31:42
日本語の識別子を使うと馬鹿にされる風潮
スレリンク(tech板)l50
7:ネミ子
07/05/26 11:33:16
お久しぶりです。たまに保守しに来てます。
>>3にWebdioを追加しました。
>>5はチェックする気力が毎回ありません。
>>4
わたしは
SetPathSeparate(path, bool);
です。
8:デフォルトの名無しさん
07/05/26 12:37:13
>>4
むしろ付け足すな。取り除けよそんなのw
で、TrimEndPathSeparatorとかNormalizePathとか
9:デフォルトの名無しさん
07/05/26 20:15:14
>>4
つーか、そのまんまのAPIなかったか?
URLリンク(msdn.microsoft.com)
10:デフォルトの名無しさん
07/05/26 20:19:07
delphiなら IncludeTrailingPathDelimiter 関数
11:デフォルトの名無しさん
07/05/29 23:46:54
DAT落ちしてた・・・orz
12:デフォルトの名無しさん
07/06/02 12:33:41
最近のブラウザの検索バーとかにある、
フォーカスが無くて入力文字列が空の時は
灰色の文字で「ここに〜を入力してください」とかいうのを表示する
テキストボックスってどんなのがよい?
DescribedTextBoxとかかなぁ?
LabeledTextBoxだと違うコントロールになるよなぁ。
ちなみに.Net。
13:デフォルトの名無しさん
07/06/02 12:35:58
MessagedTextBox
14:デフォルトの名無しさん
07/06/02 12:58:45
↑dそれ板抱き
15:デフォルトの名無しさん
07/06/02 13:12:42
>>12
WatermarkHintTextBox
PromptShadeTextBox
このぐらいしか思い浮かばないな
あれ正式にはなんていうんだろうね。
本当はそれを調べるべきなんだろうけど、調べ方がわからないな。
16:デフォルトの名無しさん
07/06/03 18:46:51
.c -> .c
.cpp -> .c
.h -> .c
.pas -> .pas
.inc -> .pas
.dpr -> .pas
.bat -> .bat
.cmd -> .bat
みたいに拡張子を文字列として渡すと代表的?な拡張子が返ってくる関数名お願いします。
例は適当です。
17:デフォルトの名無しさん
07/06/03 19:26:11
>>16
すげぇ関数だな。どんな場面で使うのか想像付かん・・
ExtToDefaultExt
18:デフォルトの名無しさん
07/06/03 19:53:59
強引過ぎてワロタw
19:デフォルトの名無しさん
07/06/03 21:39:07
>>16
処理の意味があいまいだから明示的な命名はできないと思う。
例えば.htmとhtmlでどっちが代表的かと尋ねられても誰も自信もって片方を推せないだろう。
NormalizeExtensionToSynonym
20:デフォルトの名無しさん
07/06/04 21:53:37
kakutyousihananndarona()
21:デフォルトの名無しさん
07/06/04 23:59:20
16進数をN進数にするメソッドの名前を教えてけれヽ(*^。^*)ノ
22:デフォルトの名無しさん
07/06/05 00:05:06
>>21
URLリンク(www.linux.or.jp)
↑これの逆ってことで。
ltostr
23:デフォルトの名無しさん
07/06/05 00:07:44
ConvertRadixとかでいいんじゃない?
24:デフォルトの名無しさん
07/06/05 01:58:05
俺だったら16進数を数値化するメソッドと
数値をN進数に変換するメソッドを用意して、
toBaseN(n, fromHex("1234ABCD"))
かなぁ
25:デフォルトの名無しさん
07/06/05 08:09:46
fromとかtoってOOPのオブジェクトのメソッドでなければ何のことか意味不明だろうw
っていうか、"base"っていうのは対数の"底"のことだろう
26:24
07/06/05 09:53:30
>>25
二つセットで使えば意味は通ると思ったけど、そうなると敢えて二つに分ける必要もないか。
fromHexToBaseNのほうがいいかな。
あと、n進法は、notation system of base n (n進法表記) や
number system of base n (n進数)って言うことからも、
baseには進法の基数の意味も含む。つか基数の基=baseだし。
27:デフォルトの名無しさん
07/06/05 17:37:19
こういう場合はbaseではなくradixを使うのが常識。
28:デフォルトの名無しさん
07/06/05 17:41:37
もうhex2baseN(init, dest, N)みたいなのでもいい気がしてきた
どれも大して可読性に変わり無いし
29:デフォルトの名無しさん
07/06/06 22:54:02
Concepts + Principles - プログラミングの原則 - 名前重要
URLリンク(wiki.hacklife.net)
30:デフォルトの名無しさん
07/06/06 23:14:22
コピペ君って馬鹿だな、まで読んだ。
31:デフォルトの名無しさん
07/06/07 12:37:25
迷ったよ。
32:デフォルトの名無しさん
07/06/08 00:40:53
行列同士の掛け算を行なうメソッド名になにかいいのないですかね?
33:デフォルトの名無しさん
07/06/08 01:07:16
>32
メソッドってことはOOPL?
単純に行列クラスに multiply メソッド定義すればいいんじゃ。
34:デフォルトの名無しさん
07/06/08 01:13:25
OOPでないならmultiply_matrices
35:デフォルトの名無しさん
07/06/08 11:49:04
Matrix operator *(const Matrix& lhs, const Matrix& rhs);
36:デフォルトの名無しさん
07/06/11 16:43:34
名前をお願いします。
ハードディスクに保存してあるデータの総容量が
予め設定しておいた容量値を超えている場合に
ファイルを保存日付が古い方から順に設定した容量値に収まるように
削除していくメソッド名。合わせてこのメソッドと設定値などをフィールドに
持つクラス名。設定値はMaxValueにしようかと思っています。
37:デフォルトの名無しさん
07/06/11 16:55:15
class DiskQuota {
property Limit;
function Apply;
}
38:36
07/06/11 16:59:52
>>37
おおLimitいいですね。ありがとうございます。
39:デフォルトの名無しさん
07/06/12 15:38:25
表形式のデータを扱うときに、位置を表す変数名で
ROWとCOLUMN
または、
LINEと何?でしょうかね
40:デフォルトの名無しさん
07/06/12 16:12:04
COLUMN
41:デフォルトの名無しさん
07/06/12 19:29:51
>>39
そもそもlineがありえんw
せめてlineの前にH(Horizontal)とV(Vertical)付けようよ。
つーか、全部大文字っていわゆるコボラーさんなの?
42:デフォルトの名無しさん
07/06/12 19:35:58
> H(Horizontal)とV(Vertical)付けようよ。
( ゚д゚)ポカーン
43:デフォルトの名無しさん
07/06/12 19:46:55
ポーカーンってそりゃこっちの台詞だろw
馬鹿な奴ってのはこれだから見てて恥ずかしいよな
44:デフォルトの名無しさん
07/06/12 21:30:18
record/fieldとか
45:デフォルトの名無しさん
07/06/12 21:58:58
>>44
ああコボラーならそれが一番しっくりくるかもね
46:デフォルトの名無しさん
07/06/12 23:25:47
>45
コボラならレコードとアイテムじゃないか?
47:デフォルトの名無しさん
07/06/13 01:17:36
X,Yでいいよ
48:デフォルトの名無しさん
07/06/13 04:49:45
>H(Horizontal)とV(Vertical)付けようよ
こんなこと言うやつの方が馬鹿だと思う。
49:デフォルトの名無しさん
07/06/13 06:42:32
普通にrow, columnでFAですか?
50:デフォルトの名無しさん
07/06/13 08:17:53
なんで最初からそうしないのかと
51:デフォルトの名無しさん
07/06/13 08:26:30
だから目的によるに決まってるじゃん単細胞だな。
普遍的な「普通」なんてものは存在しないだろうに。
行がデータベースのデータに対応してるのならコボラーじゃなくてもrecord/fieldが
適切だし。
52:デフォルトの名無しさん
07/06/13 11:45:52
「曜日」を表す変数にはどういう名前つけてる?
youbiとか、意味が違うのは分かってるが weekdayとかにしてるけど
もっとスマートな表し方はないかな。
53:デフォルトの名無しさん
07/06/13 12:19:41
普通にDayOfWeekしかないんじゃないかな
54:デフォルトの名無しさん
07/06/13 15:07:17
>>52
俺はweekだな
55:デフォルトの名無しさん
07/06/13 16:20:26
<time.h>とかだと
struct tm {
int tm_sec; /* 秒 */
int tm_min; /* 分 */
int tm_hour; /* 時間 */
int tm_mday; /* 日 */
int tm_mon; /* 月 */
int tm_year; /* 年 */
int tm_wday; /* 曜日 */
int tm_yday; /* 年内通算日 */
int tm_isdst; /* 夏時間 */
};
weekdayでもよさげなかんじ。
56:デフォルトの名無しさん
07/06/13 19:43:29
Excel の関数名は WEEKDAY だね。
57:デフォルトの名無しさん
07/06/13 19:53:02
ConvertFromDayAsIntegerToDayOfTheWeekOfString
58:デフォルトの名無しさん
07/06/14 17:17:57
すみません、Javaのメソッド名の命名で悩みました。
良いアイデアないでしょうか?
役割:あるオブジェクトの保有する日付が期間内に入っているかどうかを判定するメソッド
期間と、オブジェクトは、引数で与えるユーティリティメソッドです。
返値は、booleanなのですが、is... の後どうしようかなぁ、と・・・
59:デフォルトの名無しさん
07/06/14 17:41:47
(Is)InRange(Of)
60:デフォルトの名無しさん
07/06/14 19:38:45
>>58
もうちょっと情報出さないと適切な命名はできないんじゃないの?
ユーティリティメソッドって要するにUnilityみたいなどんぶり勘定なクラスがあって
その静的メソッドってこと?
それならはっきり言って糞設計なんじゃないの?
俺ならDateRangeクラスをまず作ってそのContainsメソッドとして実装することを考えるけど。
61:デフォルトの名無しさん
07/06/14 20:17:41
>>59
どもです。
>>60
privateのメソッドなんです。
要するに処理を切り出す目的で作ってます。
62:デフォルトの名無しさん
07/06/14 20:48:50
isInTermとか?
63:デフォルトの名無しさん
07/06/14 20:57:00
privateって意味わからないよ。
privateならprivateでDateRangeというインナークラスを作れば
シンプルで直観的だし、くだらない命名で頭を悩ますこともないだろうに。
64:デフォルトの名無しさん
07/06/14 20:58:37
お前は>>1を100回読むかDateRangeクラスなんて細かいウンコクラスを撒き散らすのをやめるんだ
65:デフォルトの名無しさん
07/06/14 21:01:30
くだらないこと言ってる暇に代替案を伴った具体的な批判をしらた?
66:デフォルトの名無しさん
07/06/14 22:57:57
よく関数の後ろについてるExって何の略?
67:デフォルトの名無しさん
07/06/14 23:14:08
幸子Exは幸子のすごいお姉さんらしいよ
68:デフォルトの名無しさん
07/06/15 00:26:03
Expended?
69:デフォルトの名無しさん
07/06/15 02:42:18
Express!
70:デフォルトの名無しさん
07/06/15 02:43:49
Exerion
71:デフォルトの名無しさん
07/06/15 04:37:39
Exception
72:デフォルトの名無しさん
07/06/15 08:18:27
Extra
73:デフォルトの名無しさん
07/06/15 15:14:54
Exe ファイル 捨てたい
74:デフォルトの名無しさん
07/06/16 17:22:47
クラスの中で一番力が強い人
75:デフォルトの名無しさん
07/06/16 18:33:27
>>74
instanceしかない。
76:デフォルトの名無しさん
07/06/16 20:01:47
>>54
>俺はweekだな
あとで、第n週をなんとかすることになったらどうする?
77:デフォルトの名無しさん
07/06/16 20:03:56
>>32
内積か外積か、どっち?
78:デフォルトの名無しさん
07/06/16 20:54:54
>>77
アホ
79:デフォルトの名無しさん
07/06/16 20:59:30
行列にそんなもんあるん?
80:デフォルトの名無しさん
07/06/17 11:01:36
その関数で行っている処理は、コマンドラインから与えられた文字列をデミリタで
分解して、COMポート名、モデル名取得設定、処理モード(読込みモード・書き込みモードの切替)
などの設定を変数に取得するものなのですが、書くのも恥ずかしいほどセンスの
無い名前しか思い浮かびません、お助けください!
81:デフォルトの名無しさん
07/06/17 13:34:19
class ArgumentPurser
{
SetArgument(String)
Get〜〜()
Is〜〜()
}
みたいなクラスを作ってる
82:デフォルトの名無しさん
07/06/17 13:35:36
purs・er [p:(r)sr]
━ n. (船・旅客機の)事務長, パーサー.
83:デフォルトの名無しさん
07/06/17 13:38:46
クラスにするのならParserはいらんと思うね。
class Argumentで必要十分と思う。
84:デフォルトの名無しさん
07/06/17 13:40:57
関数なんだから
ParseArgs, Params
とかだろ
85:デフォルトの名無しさん
07/06/17 13:48:46
関数にするってことは、その関数は解析結果の構造体か何かを返すんだろうから
Get + 構造体名とかでいいんじゃない?
例えばGetArgInfoとか
86:デフォルトの名無しさん
07/06/17 14:39:06
>>80です、皆さんいい雰囲気の名前考えてくれてありがとう
全部気に入りましたww、いい名前を迷うのは気分がいいのですが
糞みたいな名前しか思い浮かばないときは物凄く鬱でした
87:デフォルトの名無しさん
07/06/17 22:01:03
前回チェック時刻と現在時刻を比較して指定分数以上経過しているか判別する関数の名前をお願いします
日本語でも簡潔にまとめられない俺の脳みそは腐ってる
88:デフォルトの名無しさん
07/06/17 22:14:14
TimeSpanでググれ
89:デフォルトの名無しさん
07/06/17 22:15:03
isTimePassed
90:デフォルトの名無しさん
07/06/17 22:16:16
>>87
それ関数にする必要あるの?
無理やり英語にすると
IsSpecifiedMinutesPassedSinceLastCheck(int minutes)
とかだろうけど普通に
TimeToMinutes((GetCurrentTime() -GetLastCheckTime()) >= minutes
みたいにしたら?(関数名とかは言語にあわせて適当に)
91:デフォルトの名無しさん
07/06/17 22:35:39
>>87
何のためにそれをする必要があるのかが分からないと適切に命名できない気がする。
というか、90の言うとおりそんなもの無理に関数なりメソッドなりにしても
可読性が上がるとも思えないなあ。
92:デフォルトの名無しさん
07/06/18 02:20:49
IsElapsed
93:デフォルトの名無しさん
07/06/18 23:21:34
IsJikangired()
94:デフォルトの名無しさん
07/06/19 07:12:24
カッコ内の文字列を取得するメソッドの名前をおしえてください
95:デフォルトの名無しさん
07/06/19 08:40:45
ExtractStringBetweenKakkoAndKokka
96:デフォルトの名無しさん
07/06/19 08:42:37
parenthesisesっていうのがあるけどコレ使うとすっげ長くなるよな
97:デフォルトの名無しさん
07/06/19 12:24:42
「カッコ内の文字列を取得」って定義があいまいだろう。
だから命名できないんじゃない?
括弧が入れ子だったり(と)のペアリングがおかしかったらどういう動作するの?
98:デフォルトの名無しさん
07/06/19 12:31:48
括弧という構文に沿うことが重要なのか、
括弧内にたとえばコメントが入っていてコメントを取得することが重要なのか、
にもよる
99:デフォルトの名無しさん
07/06/19 12:33:03
日本語でオケ
100:デフォルトの名無しさん
07/06/19 12:35:29
>>97
例外投げろって言うかスレ違い
101:デフォルトの名無しさん
07/06/19 12:37:23
だから日本語を書けよw
頭大丈夫か?
機能の定義があいまいでどうやってその「機能」の名前を付けろっていうんだ
102:デフォルトの名無しさん
07/06/19 12:38:09
消えろ
103:デフォルトの名無しさん
07/06/19 18:29:28
頭悪すぎワロタ
104:デフォルトの名無しさん
07/06/19 19:41:09
KakkoOfGetMoziretu(): throw Imihumei でおk
105:デフォルトの名無しさん
07/06/20 00:14:32
extract_string_within_parentheses()
106:デフォルトの名無しさん
07/06/21 15:09:50
get_parenthesis_in_word
107:デフォルトの名無しさん
07/06/22 09:35:00
入力を省略させるクッキーを食べさせる関数の名前はなにがいいかな?
108:デフォルトの名無しさん
07/06/22 09:44:56
>>107
日本語がわからないけど、
FeedCookieToSkipInput
109:デフォルトの名無しさん
07/06/22 09:47:27
つーか…開発言語はなに?
110:デフォルトの名無しさん
07/06/22 10:01:53
phpです。
Webprog板にこういうスレはないので、ここで聞きましたが、場違いだったかな・・・。
111:デフォルトの名無しさん
07/06/22 10:17:40
CookieKibonnu
112:デフォルトの名無しさん
07/06/22 11:15:06
>>110
PHPだろうがなんだろうがおkだが、言語によって命名にクセがあるからまず言語が何なのか言うべき
ちなみに俺はPHP知らん…
113:デフォルトの名無しさん
07/06/22 11:19:14
>>107
sakusaku(v_0o0_v)
114:デフォルトの名無しさん
07/06/22 11:20:23
省略を英語で言うと「ellipsis」「abbreviate」「abridge」とかになるんだろうけど
こんなの使ってもワケ分からんになるから、
anInputCookie
とかはどうっすか
115:デフォルトの名無しさん
07/06/22 11:52:11
>>114
> 省略を英語で言うと「ellipsis」「abbreviate」「abridge」とかになるんだろうけど
質問者のいう「省略」とはどれも意味が全然違う気がする
>>107
もっと具体的に文脈言え
116:デフォルトの名無しさん
07/06/22 13:13:34
英語できないやつが、和英辞典を引いて命名すると
とんでもない名前になることが多いよね。
117:デフォルトの名無しさん
07/06/22 13:39:44
>>116
それ俺だwww
118:デフォルトの名無しさん
07/06/22 14:01:29
>>107
文脈ってのは何の文脈?
何のフィールドかだったらそれはここでは関係ないと思うが。
思いつくままに書くと
RememberFieldContent
CacheFieldContent
どっちもCookieっていう単語が入ってない点でいまいちかな。
オブジェクト指向じゃないんならCookie_XXXってするのも
個人的にはアリかと。
119:デフォルトの名無しさん
07/06/22 14:05:11
アンカーミス。どうでもいいけど
120:デフォルトの名無しさん
07/06/22 15:08:36
>>119
なにその投げやりな態度w
121:デフォルトの名無しさん
07/06/22 15:11:16
VisualStudio2005とかだと日本語の関数もOkだから、
入力省略クッキー()
とかでもアリなんだがな
122:デフォルトの名無しさん
07/06/22 15:58:48
>>107
Hoge.FromCookie()
GetHogeFromCookie()
123:デフォルトの名無しさん
07/06/22 16:23:05
sendCookieForAutoComplete()とか
124:デフォルトの名無しさん
07/06/22 17:02:17
えー
125:デフォルトの名無しさん
07/06/23 12:17:39
cookieEater()
126:デフォルトの名無しさん
07/06/23 16:14:52
ファイル名の拡張子を除いた部分の文字列はどんな名前にがいいでしょうか?
hogehoge.txt というファイル名の hogehoge の部分です
127:デフォルトの名無しさん
07/06/23 16:33:50
FileNameWithoutExtension
128:デフォルトの名無しさん
07/06/23 16:51:49
そのままやん><;
129:デフォルトの名無しさん
07/06/23 16:56:43
だからそのまんまでいいんだよ。
俺も127に一票。
こんなスレにいる人間なら、やたら省略して表記しないと気がすまない
古典的な神経症ぐらいは自覚して克服してろよ。
130:デフォルトの名無しさん
07/06/23 16:59:14
pathname('/hoo/var/hogehoge.txt').basename ==> 'hogehoge'
131:デフォルトの名無しさん
07/06/23 17:01:05
あのさあ、じゃあ人語で「パスのベース名」って言われたとしたら
言ってる奴が何を意味してそういってるのか直ちに理解できるか?
132:デフォルトの名無しさん
07/06/23 17:45:42
じゃあコメントを入れよう
133:デフォルトの名無しさん
07/06/23 17:47:37
Java厨にはちょっと通りにくいかも分からんね
URLリンク(www.google.com)
134:デフォルトの名無しさん
07/06/23 23:27:45
>>131
伝統的にbasename。 無知を自慢されても困る。
135:デフォルトの名無しさん
07/06/23 23:30:18
URLリンク(www.google.com)
136:デフォルトの名無しさん
07/06/24 00:05:24
しかし>>133の中で>>126の意味で使ってるものは一つもないという・・・
137:デフォルトの名無しさん
07/06/24 02:52:00
.NEETはFileNameWithoutExtensionなのか
138:デフォルトの名無しさん
07/06/24 03:35:45
Pythonだと os.path.splitext("/path/fn.ext") -> ("/path/fn", ".ext")
139:デフォルトの名無しさん
07/06/24 03:47:51
名前の話をしろよ
140:デフォルトの名無しさん
07/06/24 07:47:33
というか質問するときはなるべく言語名も書け。
命名規則や付属の標準ライブラリにあった名前が返ってくる可能性があるわけで。
141:デフォルトの名無しさん
07/06/24 12:05:58
このスレ的には IUnknown ってNGな命名じゃね?
142:デフォルトの名無しさん
07/06/24 13:56:04
別に
143:デフォルトの名無しさん
07/06/26 23:57:51
ファイルとかに出力するためにバイト列を作ることを「シリアル化」と言うらしいと知ったんだけど
逆の場合は何て言えばいいんだろう・・・微妙にスレ違いかもしれないけど
144:デフォルトの名無しさん
07/06/27 00:34:15
シリアル化⇔逆シリアル化
シリアライズ⇔デシリアライズ
145:デフォルトの名無しさん
07/06/27 01:46:22
変態PHPだとunserializeだったりする
pythonとかrubyは、Marshalクラスでdumpとloadだったり
146:デフォルトの名無しさん
07/06/27 09:43:12
エンコーダ⇔デコーダ
147:デフォルトの名無しさん
07/06/27 09:49:53
VSのGDI+なんかで線種や色、キャップや太さみたいな画像パラメータをファイル保存するときに
serializeって使ったな。
そのままだとメモリ上にバラバラに配置されたデータだから、ファイル保存できるように
データを直列させる、というような感じだったか。メソッド名もserialise()だったはず。
逆のときはdeserialize()とかで復元してたかな。
148:デフォルトの名無しさん
07/06/27 10:30:42
C#なんかだとXmlSerializerクラスってのがあって、
XmlSerializer serializer = new XmlSerializer(typeof(user_class));
でインスタンス化し、
serializer.Serialize(filestream, _class);
でシリアライズ、
user_class _class = (user_class)serializer.Deserialize(filestream);
でデシリアライズだよ。
149:デフォルトの名無しさん
07/06/27 11:02:29
ついでにjavaだと
SerializableインターフェースのwriteObject/readObjectメソッド
150:デフォルトの名無しさん
07/06/27 22:03:16
デリファレンスとかもあるな
そういう対になった概念の言葉は使える時はなるべく使うようにしたい
151:デフォルトの名無しさん
07/06/28 07:23:12
>>150
おいおい。
reference と dereference の場合はちょっと違うと思うぞ。
広い意味では対だけど。
152:デフォルトの名無しさん
07/06/28 09:01:04
ヘルス⇔デリヘル
153:デフォルトの名無しさん
07/07/04 00:09:22
このスレお気に入りから外れてたわ。
しくった
154:デフォルトの名無しさん
07/07/05 15:42:19
ある DB にレコードを登録する方法が二つあり、どちらも登録のタイミングでインデックスを張る。
二つある方法の内訳は、このインデックスの更新を、仮のものとするか実際のものとするか。
つまり、大本の DB のインデックスの更新は重いので、仮更新用の小さなインデックスがあり、
軽い登録方法としてこちらのインデックスを作る(後々大本へのマージが必要)方法がある。
もう一つは大本の DB にインデックスを張る、という次第。重いがマージは不要。
この二つを
** Builder とか ** Register などとするときの、** 二つ。対っぽいイメージになれば分かりやすいのだけど、
自分で思いついた Actual/Virtual とか Active/InActive, Dynamic/Static あたりではどうもしっくり来ないのです。
155:デフォルトの名無しさん
07/07/05 16:16:47
仮の方は本当に仮であとで取り消すことがあるのか、必ずマージするのか
156:デフォルトの名無しさん
07/07/05 18:04:11
処理の順番をenumで定義するんだけど、
AThenB
BThenA
CThenD
...
みたいな感じで良いかな。
157:デフォルトの名無しさん
07/07/05 18:40:09
なんじゃそりゃ
場面がわからん
enumってことはそのうちのどれか一つってこと?
158:デフォルトの名無しさん
07/07/05 19:27:46
センスのないお方ってなにやらしてもセンスないのな。
157じゃないけど、156はやろうとしていることもあげている例も意味不明すぎるよw
159:デフォルトの名無しさん
07/07/05 19:46:44
要は複数の引数を渡したときに、対になってる二つの
パネルのどちらから適用していくか定義したいんだよ。
何か他にセンスの良い方法があるなら教えてくれ。
160:デフォルトの名無しさん
07/07/05 21:00:26
>>159
2つなら AThenB BThenA だけで足りるはずなのに
CThenDが出ているということは、渡すモノ自体も変わっていくということか?
それとも引数は4つ?
前者なら設計に問題ありだが、>>1なのでもう目をつぶって >>156で行ってしまえ。
161:デフォルトの名無しさん
07/07/05 21:06:28
パネルが二つでも、そのどちらかを決める条件は状態によって
いろいろ考えられるだろ。
具体的には位置によるのか、あるいはそれがアクティブが否か、とか。
162:デフォルトの名無しさん
07/07/05 21:07:09
で、結局>>156の命名でいいのか悪いのかが聞きたいんだが。
163:デフォルトの名無しさん
07/07/05 21:27:30
>>162
だから良いも悪いも意味わからんってw
端的に理解不能。プログラミングの前に説明能力を磨く必要がある。
164:デフォルトの名無しさん
07/07/05 21:57:36
英語としては、Thenより、FollowedByだな
165:デフォルトの名無しさん
07/07/05 21:58:31
>>162
日本語喋れ
何が「聞きたいんだが」だ
166:デフォルトの名無しさん
07/07/05 22:14:13
俺からしてみれば何が理解不能なのか理解不能だ。
「Aの後B」というのを、「AThenB」と命名するのは適切か否か、
それを聞いてるだけなんだが?
実装内容が理解不能というなら分かる。
ここで書いても書き切れんだろうし。
もちろん実装内容によって適切な命名というのは変わるだろうが、
ここでは措いておく。
167:デフォルトの名無しさん
07/07/05 22:19:38
>>164
AのちBとかAに続いてBって感じ?
dクス
168:デフォルトの名無しさん
07/07/05 23:06:52
設計の善し悪しは議論禁止だけど、
設計まずそうだなって直感的にわかるとやっぱり言いたくなるんだよな
169:デフォルトの名無しさん
07/07/05 23:15:02
設計なんてレベルじゃないね。
むしろプログラミングの基礎が分かってない。
それ以前に、>>156のような日本語で他人に自分の考えが伝わる、
とどうやら本気で思っているらしい点が推測される知能の低さもからかいたくなる。
まあからかうだけではアレだから一応内容のあることも書くと、
処理の順序を指定したいなら普通に順序をもつデータ構造を引数に渡すだけだろう。
それは配列でもいいし、単に引数の順序を利用してもいい。
順序をenumで指定するなんて愚の骨頂。
P(n,n) = n!が計算できないのか156は
170:デフォルトの名無しさん
07/07/05 23:24:32
おまえの質問への読解力は知らんが(つかなんでn個の順列が出てくるよ)、
俺の理解では、
(A,B), (C,D)とかのペア内でしか順序が問題にならないという仕様と感じた。
ただ、要素数が本当に固定ならいいが、
将来の追加とか考えたらenumはまずいだろとは思う。
171:デフォルトの名無しさん
07/07/05 23:36:12
よく詳しい実装内容もわからんでそこまで言えるもんだ。
あっぱれ。
複雑な手続きの順序を決めようなんてしてない。
2 * 条件 通り。
逆に連結リストにするとA→AとかA→Cみたいになって
意図しない動作になる可能性もあるんだが。
(AとB、CとDは互いに対になっている条件、
LeftとRight、ActiveとInactiveとか)
172:デフォルトの名無しさん
07/07/05 23:36:56
>>170
そう。先にそう書いとけば良かったな…。
173:デフォルトの名無しさん
07/07/08 06:43:12
言語の「予約語」の英語をお願いします。Reserved Wordでいいですかね?Keywordって単語も
見かけますが、この場合、Reseverd Wordの方が適切ですかね?
174:デフォルトの名無しさん
07/07/08 09:38:18
>>173
てか、"reserved word" という用語の日本語訳が「予約語」だから。
175:デフォルトの名無しさん
07/07/08 15:08:46
ModuleManager(仮)というオブジェクトがあります
クライアントコードではこいつにモジュールをregist()で登録し、release()で登録削除する事が出来ます
このオブジェクトはupdate()メンバを呼び出される度に追加したモジュール全てののupdate()メンバを呼び出します
つまり各モジュールに対するfacadeなわけですが
このModuleManager(仮)のクラスに対する一般的なネーミングはどういうものがあるでしょうか?
176:デフォルトの名無しさん
07/07/08 15:19:55
>>175
登録メソッドは regist じゃなくて register にしろ。
177:デフォルトの名無しさん
07/07/08 15:26:48
>>175
Managerでいいんじゃないでしょうか?w
というか、あんまり自身ないけどそれファサードというよりメディエーターの
特殊形態とみなした方がわかりやすいと思う。
>>176
余計なお世話にしか思えんな。
好みの問題以上の理由があって言ってるとは思えない。
178:デフォルトの名無しさん
07/07/08 15:42:52
>>175
窓口となる機能群を適切に表現するしかないのでは
例がFacadeかどうかは疑問があるが
>>177
「registという単語は無い」のは理由にならないと?
>>176を意訳すると「勝手な単語作るなボケ」
179:デフォルトの名無しさん
07/07/08 15:45:49
漏れも特に理由がなければregisterにすべきだと思う
180:175
07/07/08 15:52:11
言われていればMediatorな気がしてきたので
それを意識して機能を再構成してみます
あとはregisterですね^^
181:デフォルトの名無しさん
07/07/08 15:56:05
>>178
ああすまん、registって英単語は存在しないんだったねw
それなら確かにregisterとすべきだ。
申し訳ない
182:デフォルトの名無しさん
07/07/08 16:04:20
>>175
おれなら、Observerで書き換えるかも。
183:デフォルトの名無しさん
07/07/08 16:11:09
別に管理してなくね?
モジュールの生成、破壊を行うわけでもないし、ただupdateするだけ
ModuleUpdaterじゃね?
184:デフォルトの名無しさん
07/07/08 16:41:51
managerは結局何をするものか判らないから、
良くない名前付けの例だってどこかで見た
185:デフォルトの名無しさん
07/07/08 17:50:53
そんじゃあ明示的にUpdateMethod(Command)Distributerとでもしますか
186:デフォルトの名無しさん
07/07/08 18:09:53
「英単語なんて勝手に作ってもいいじゃないか、ボケ」
と言ってるのかと思った。
187:デフォルトの名無しさん
07/07/08 21:21:56
>>186
場合によってはそうなんだけどね。
例えばsetの過去分詞とかさ。
でも、昔のcのコードの文化にありがちだった意味のない省略とかは
すくなくともエディタの入力支援とか使える現在では無意味だし、俺は否定的。
188:デフォルトの名無しさん
07/07/08 21:26:49
MS様的には略語以外の省略名は不許可だが
Mathは過去の流儀に従ってSqrtとかだぬ。
189:デフォルトの名無しさん
07/07/08 23:06:25
数学ってEとかmとかπとかΣとかNewtonとかEulerとか悪名の宝庫だよな。
…と書いてから思ったけど数学は純粋に理論的な学問だから、
その概念を現実の物事に例えるのはそれはそれで一面的かもしれない。
190:デフォルトの名無しさん
07/07/09 17:52:56
「あるクラス(インスタンスでなく)の能力について知っており、そのクラスのインスタンスを作成することのできるクラス」
の名称について悩んでいます。言葉ではわかりづらいので例(C#)を示します。
IDancerManager(仮)はIDancerと一対一で対応しており、対応するIDancerの歌える曲・踊れる曲を知っています。
また、必要であればそのインスタンスを作成できます。
public interface IDancer {
void Sing(string title);
void Dance(string title);
}
public interface IDancerManager {
bool CanDance(string title); bool CanSing(string title);
IDancer CreateDancer();
}
以上がインターフェースの定義です。これを実装するクラスの定義は、例えば
public DancerA : IDancer {
void Sing(string title) { ... }
void Dance(string title) { ... }
}
public DancerAManager : IDancerManager {
bool CanDance(string title) { return title == "およげたいやきくん" || title == "コンピュータおばあちゃん"; }
bool CanSing(string title) { return title == "およげたいやきくん"; }
IDancer CreateDancer() { return new DancerA(); }
}
のようになります。(つづく)
191:デフォルトの名無しさん
07/07/09 17:53:37
(つづき)
これらを登録するためのクラスが別に存在し、IDancerManagerのインスタンスのリストmanagersを保持しています。
このクラスには、
public IDancer GetDancer(string title) {
foreach (IDancerManager manager in managers)
if (manager.CanDance(title)) return manager.CreateDancer();
return null;
}
のようなメソッドが存在し、外部に機能を提供します。
このIDancerManagerのManagerにあたる部分の名称に悩んでいます。
特に珍しい設計ではないと思うので定番めいた命名がないかと期待してるんですが、どうでしょう。
192:デフォルトの名無しさん
07/07/09 18:32:53
>特に珍しい設計ではないと思うので
いやあすごく変な設計だと思う。悪いけど。
どう考えてもIDancerManager は冗長だし、単に見通しを悪くしてるだけ。
IDancerManagerの機能はIDancerのスタティックメソッドとして実装すれば
済むことだと思うけど。。
193:190-191
07/07/09 18:44:57
>>192
どうも。そのようなレスが来るとは何となく予想していました。
IDancerの静的メソッドとしてCanDanceなどを実装すると、後半で記述したような
ループでの一括処理ができませんよね。またインスタンスメソッドとして実装すると、
IDancerのインスタンスのリストを保持しなければならなくなり、メモリ使用量の点で冗長となります。
(IDanceManagerはフィールドを持ちませんがIDancerのフィールドは処理に依存するので)
静的メソッドにしてリフレクションという実装もありますが、パフォーマンスクリティカルな処理なので
それは避けたいのです。
以上の点を踏まえると必然的に上のような設計になったわけです。
194:デフォルトの名無しさん
07/07/09 18:49:37
IDancerActivatorとかIDancerMetaInfo?
でもクラスごとに作るよりリフレクション的な仕組みを使うなり作るなりしてGeneric的にやるべきもんでしょ。
クラスごとに作るのは(/ω\)イヤン
195:デフォルトの名無しさん
07/07/09 19:03:22
>>193
いやー言ってること全体的に変だと思うわ。
>ループでの一括処理ができませんよね
Dancerは自分の型を知っているから、当然自分の型の静的メソッドは利用できるんじゃないの?
要は単に直接Dancerのコレクションを作ればよいということ。
>IDancerのインスタンスのリストを保持しなければならなくなり、メモリ使用量の点で冗長となります。
意味がわかりません。
無駄、というならそのIDancerManagerのリストを作る実装でもまったく同じことでしょ。
他の人はどう思う?
>>193の言ってることは変じゃないかい?
196:190=191
07/07/09 19:13:55
>>195
>>ループでの一括処理ができませんよね
>Dancerは自分の型を知っているから、当然自分の型の静的メソッドは利用できるんじゃないの?
>要は単に直接Dancerのコレクションを作ればよいということ。
Dancerのコレクションを作ったところで、Dancerのインスタンスから静的メソッドは呼べませんよね?
従って静的メソッドによる実装ではループ処理はできません。
>>IDancerのインスタンスのリストを保持しなければならなくなり、メモリ使用量の点で冗長となります。
>意味がわかりません。
>無駄、というならそのIDancerManagerのリストを作る実装でもまったく同じことでしょ。
この文章のすぐ下に括弧づけで書いてありますが、IDancerManagerのインスタンスはフィールドを持ちません。
従って、IDancerManagerのリストならば余分なメモリ領域は消費しません。
それに対してIDancerのインスタンスは、Dance()やSing()で使うフィールドをそれぞれに持っているので、
余分なメモリ領域を消費してしまいます。
なんか設計に関する話題になってしまってますが、細かく説明するとこんな感じです。
197:デフォルトの名無しさん
07/07/09 19:22:10
いや、リストのメモリの消費量っていうのはリストのアイテムのメモリサイズに
まったく無関係だよ。。
Cの構造体配列じゃないんだから。
世の中の全部の言語知ってるわけじゃないけど、普通リストっていうのは
参照の配列みたいな形で実装されているだろうから、消費されるメモリ量は
リストの要素数nと参照型変数のサイズmの関数であって、要素の型のサイズは
関係ないよ。
それから、自分の型の静的メソッドにアクセスできない言語なんてあるの?
というか、言語は何をお使いで?
198:190-191
07/07/09 19:27:02
>>197
えーと・・・
もちろんリストそのもののサイズは同じです。
ですがリストに格納するのは「格納する型のインスタンス」ですよね?クラスではなくて。
インスタンスってのは「実体」なわけですから、フィールドのサイズと同じだけのメモリをヒープ上に消費するわけです。
言語は関係ないですが、上に書いたとおりC#です。
199:デフォルトの名無しさん
07/07/09 19:33:43
>>197
あと静的メソッドについてですが・・・
具体的な型名がわからないインスタンスからは静的メソッドは呼べません。
リフレクションでも使わない限り。
C++の例ですと、void *p = new HogeClass(); とした p を別のところに持っていったとき、
p だけの情報から HogeClass::HogaMethod() を呼べませんよね?p の型は単なる void* なので。
それと同じことです。
200:デフォルトの名無しさん
07/07/09 19:34:37
c#のList(of T)は、少なくともTが参照型の場合、
インスタンスへの参照が格納されるだけであってインスタンスそのものは格納されないよ。
だから型の大きさは関係ないって
201:190-191
07/07/09 19:39:25
>>200
>>198で言ったように、もちろん「リストそのもの」の大きさはかわりません。
ですが、その中身は「リスト以外のどこか」に確保されるわけです(具体的にはヒープ上)。
従って、ヒープ上で消費するメモリ量は型そのものの大きさに依存します。
202:デフォルトの名無しさん
07/07/09 19:57:18
>>201
やっと意味がわかった申し訳ない。
でもそれならGetDancerメソッドを持つクラスがIDancerを実装したクラスの
静的メソッドへのデリゲートを持てば済む話だと思う。
203:190-191
07/07/09 20:19:19
>>202
こちらも説明が下手だったかも知れません。すみません。
>でもそれならGetDancerメソッドを持つクラスがIDancerを実装したクラスの
>静的メソッドへのデリゲートを持てば済む話だと思う。
List<IDancerManager> managers; の代わりに
List<CanDanceDelegate>, List<CanSingDelegate>, List<CreateDancerDelegate> を保持するということですか?
それだと登録の際にメソッドごとにいちいち追加せねばならず、メソッドが多い場合相当面倒になると思います。
またリストの数自体も増えますので管理が面倒ですし。
204:190-191
07/07/09 20:30:14
>>194
設計論議に夢中になってレスを忘れてしまいましたがActivatorの命名いただきました。
どうもありがとうございます。
205:デフォルトの名無しさん
07/07/09 20:47:13
へたくそ
206:デフォルトの名無しさん
07/07/09 22:04:15
リフレクションっぽく
interface Dancer {
void inovke(Object action, Object[] args) throws ActionException;
}
interface DancerType {
boolean hasAbility(Object action, Object[] args);
Dancer getDancer();
}
207:デフォルトの名無しさん
07/07/12 01:52:24
age
208:デフォルトの名無しさん
07/07/16 05:23:09
age
209:デフォルトの名無しさん
07/07/16 11:23:55
どうでもいいけど>>203でデリゲート名にDelegateを付けてるのは
MS様のガイドライン違反
210:デフォルトの名無しさん
07/07/16 17:13:25
普通にDancerFactoryでいいような気がする。
配列っていうか簡易DBみたいなのに
各Dancerが受け入れられる処理を
書き込んでおけばいいのではないだろうか。
各Dancerにはintで一意のIDを持たせておいて
簡易DBを使ってIDを求めて
switch文で列記されたnewに飛べばいいと思う。
211:デフォルトの名無しさん
07/07/16 18:08:24
外からダンサーを追加できるようにしたいんじゃないの?
212:デフォルトの名無しさん
07/07/16 18:32:58
Factoryはないでしょ。
190の説明読む限り、目的のクラスの主眼はDancerを生成することにあるというより、
むしろDancerの能力を知っていることにあると思われる。
だから俺なら、
DancerProfile
DancerInfo
どうしてもというならこのあたりを提案する。
でも、そもそも190が言ってるような設計って個人的には大いに疑問。
213:デフォルトの名無しさん
07/07/16 21:17:47
DancerProduction
214:デフォルトの名無しさん
07/07/16 23:48:41
TalentAgency
215:デフォルトの名無しさん
07/07/17 13:36:13
>>210
そういうことするんだったら普通にリフレクションでいいと思う
216:デフォルトの名無しさん
07/07/19 02:30:26
ファイルを入れておくディレクトリは単数形と複数形どちらがベターですか?
controller or controllers
class or classes
217:デフォルトの名無しさん
07/07/19 05:00:09
controllerやclassを入れておくディレクトリってことなら複数形かな
ディレクトリの機能がcontrollerやclassを意味するのなら単数形か
218:デフォルトの名無しさん
07/07/20 00:50:10
俺のフォルダには doc がある。
たまに、Docs にしていることもある。
どうしたものか
219:デフォルトの名無しさん
07/07/20 01:05:13
dokyumento で解決
220:デフォルトの名無しさん
07/07/20 01:17:27
だからAnalysisをanalと略すなとあれほど
221:デフォルトの名無しさん
07/07/20 05:29:10
>>217
ありがとう
222:デフォルトの名無しさん
07/07/20 18:51:32
>>216
俺ルール
単数形を使う場合:
・中に入っているファイルが何かを指す名前であり、その名前を略す場合
・中に入っているもの自体を表すのではなくカテゴリを表す場合
複数形を使う場合:
・中に入っているファイルが何かを指す名前であり名前を略さないとき
単数の例:
src
java
複数の例:
Applications
ただ自分ルールを決めてもいつか破綻するので
普通に英文で名前をつけるという手や日本語にするという手もある。
そうすれば単数複数に悩まなくてすむ。
223:デフォルトの名無しさん
07/07/20 21:02:57
C言語で、長い文字列が保存されているファイルを先頭から解析していき、"hoge"が出ればhogeフラグを立て、"#hoge"文字が出ればフラグを下ろすとします。
"foo"や""#foo"も同様にします。
ここで、「今hogeフラグが立っている(つまり今hogeと#hogeの間を解析している)」状態を保存しておく変数を作りたいのですが、どんな名前がよいですか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4300日前に更新/162 KB
担当:undef