クラス名・変数名に迷 ..
[2ch|▼Menu]
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の間を解析している)」状態を保存しておく変数を作りたいのですが、どんな名前がよいですか?

224:デフォルトの名無しさん
07/07/20 21:04:09
inHoge

225:デフォルトの名無しさん
07/07/20 21:40:52
>>223
日本語でお書き下さい。
それじゃエスパー相手にしか伝わらないんじゃないか?

226:デフォルトの名無しさん
07/07/20 21:58:23
前スレで変数名に迷いここで神の啓示を受け一気にプログラムを仕上げた俺様がきましたよ
又、迷っています誰か降臨してください
”銘柄グループ選択ボタン”という名前のメンバ変数名をお願いします
環境はVS2005 MFCです頭のm_は本当は無い方がかっこいいですが、他のメンバ変数に付けちゃってますんで
頭のm_も考えてください、ハンガリアン記法には少々こだわりますが無くてもOKです


227:デフォルトの名無しさん
07/07/20 22:02:10
GUIコントロールは基本的に表示名直訳でいいと思う

228:デフォルトの名無しさん
07/07/20 22:15:34
>>227
226>>ですどうもサンクス
エキサイトで直訳すると
Brand group selection buttonてな風で少々長い気がするんですが・・・・・?
いかがなものかと

229:デフォルトの名無しさん
07/07/20 22:17:40
m_btnSelectBrandGroup

230:デフォルトの名無しさん
07/07/20 22:20:04
>>229
おぉ〜いいですね、神が降臨しそうです、いい変数名や関数名が思い浮かばないと
自分の趣味のプログラムはモチベーションが上がらないんですww



231:デフォルトの名無しさん
07/07/20 22:43:53
素朴な疑問。
そもそもその”銘柄グループ選択ボタン”という呼び方からして変じゃないか?

普通ボタンの動作というのはEnterとかApplyとかDoって感じで、「選択」はちょっと
違うんじゃないの?

それともドロップダウンボタンみたいな奴なのか

232:デフォルトの名無しさん
07/07/20 22:52:10
”銘柄グループ選択ボタン”を押したら"銘柄グループ選択ダイアログ"が開くんだろ多分

233:デフォルトの名無しさん
07/07/21 11:51:55
そもそも銘柄->Brandでいいのか?

234:デフォルトの名無しさん
07/07/21 12:29:34
何の銘柄かわからないしなぁ
たばこの銘柄 -> brand
株の銘柄 -> description
とか?

235:デフォルトの名無しさん
07/07/21 22:27:55
作成日時
更新日時
アクセス日時

データベースで使うのですが、WINDOWSのEXPROLERライクなネーミングにしようかと考えています。
どうぞよろしくお願いします。

236:デフォルトの名無しさん
07/07/21 22:37:05
英語版のWindowsからそのまま用語ひっぱってくればいいんじゃね?

237:235
07/07/21 22:48:41
英語版のWINDOWSを持っていればできるんですけどねえ・・・だめぽ。

238:235
07/07/21 23:07:26
WINDOWSライクにするには、情報が無いらしい・・・。
という事で、自分で考えた奴で行くしかないわけだけど、作成日時だけどういう名前にしていいかわからない。
MAKEなのかCREATEなのかも微妙にわからない。難しく考えすぎなのかな?

作成日時
更新日時======>LAST_UPDATE
アクセス日時===>LAST_ACCESS

239:デフォルトの名無しさん
07/07/21 23:13:01
名詞形はCREATION。
CREATIONだけだと意味不明なのでCREATION_TIMEとして
他の二つにも_TIMEをつけたら如何?
MAKEではないよ

240:デフォルトの名無しさん
07/07/21 23:13:38
Created
Last Modified
Last Accessed

とするのが常套。

241:235
07/07/21 23:16:58
>>239
ありがとうございます。
基本的過ぎてオリジナルの名前付けるのが怖かったので、アドバイスが受けれて心配しました。

242:235
07/07/21 23:18:25
>>240
ありがとうございます。
それで逝きます。

243:デフォルトの名無しさん
07/07/21 23:38:39
Rails なら、DBのカラムのネーミングはこんな感じ。
created_at
updated_at
accessed_at

DBの場合は、最終アクセス日時は普通はあまり更新しないけどね。


244:デフォルトの名無しさん
07/07/21 23:50:52
言語でも違うのか・・・。
汎用系、オープン系、WEB系とかて色々常套がありそうな感じですね。

245:デフォルトの名無しさん
07/07/22 00:25:48
typedef struct _WIN32_FIND_DATA { // wfd
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;


246:デフォルトの名無しさん
07/07/25 18:09:26
二重起動してるかどうかを判定する関数の名前を教えてください。

247:デフォルトの名無しさん
07/07/25 18:11:13
SudeniKidouSareteiru

248:デフォルトの名無しさん
07/07/25 19:14:02
IsAlreadyRunning

249:デフォルトの名無しさん
07/07/25 20:14:22
isFiredUp

250:デフォルトの名無しさん
07/07/25 21:08:01
IsRunningAnotherInstance

251:デフォルトの名無しさん
07/07/25 21:14:57
IsOops

252:246
07/07/25 22:31:21
>>248氏のIsAlreadyRunningに決定いたしました。
皆様ご参加ありがとうございました。

253:デフォルトの名無しさん
07/07/25 23:44:36
>>252
言っとくけどその関数、「true/false を返す」なんていう単純な仕様じゃ役に立たない・・・
というかバグってるからな(低い確率で多重起動を許してしまう)。

>>247-251
初心者相手なんだからちゃんと説明してやれよ。スレ違いだけどさ。

254:デフォルトの名無しさん
07/07/25 23:50:30
また謎なことをw
自信がないから思わせぶりなことしか書けないんだろうけど、
自信がないならむしろ黙っているべきだろう。

255:デフォルトの名無しさん
07/07/25 23:55:20
ヒント:夏休み

256:デフォルトの名無しさん
07/07/25 23:58:39
中身がTest and Setになってて、Test結果を返すって仕様かもしれないじゃん

257:246
07/07/26 00:10:13
あーmutex使う定番のやり方なんでご心配なく
(mutexは広域オブジェクトで別管理です)

258:デフォルトの名無しさん
07/07/26 00:15:17
>>257
その関数内でmutexを取得するってこと?
Is〜って命名の関数で状態を変更しちゃだめだよ


259:デフォルトの名無しさん
07/07/26 00:19:32
どこの村の掟だよそれw
同期オブジェクトでロックする事だって「状態の変更」とみなしうるわけだが、
じゃあそれもダメってのかね

260:246
07/07/26 00:28:38
なんでこんな突っ込まれてるのか判らない・・・
広域オブジェクトが状態持ってますんで、それ読みに行くだけのことです。

261:デフォルトの名無しさん
07/07/26 00:31:23
会話成り立ってるからええやん

262:デフォルトの名無しさん
07/07/26 00:32:05
例外で処理するほうがコードがすなおに読めるかも。

try {
AcquireInvocationLock();
} catch (AnotherInstanceRunningException& e) {
::ExitApplication(ERR_ANOTHER_INSTANCE_IS_RUNNING);
}


263:デフォルトの名無しさん
07/07/26 00:40:18
皆さん相当お暇な様ですね

264:258
07/07/26 00:51:57
>>260
二重起動防止のために使うんだよね。
読みにいくだけって処理になんの意味が?
「mutex確認」→「取得されてなければ作成」って流れだと
確認した直後に他のプロセスが作成したら二重起動になるよ。

>>259
Get〜関数で状態を変更していいって教わったか?
同期ロックは帰る前にロック解除するわけで意味的には状態を変更してることにならないっしょ。


265:デフォルトの名無しさん
07/07/26 00:54:08
>>264
>>1
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。

スレ違いじゃボケ。子ね。

266:デフォルトの名無しさん
07/07/26 00:58:13
パルプンテみたいな関数があります。
英語でパルプンテの綴りを教えてください。

267:デフォルトの名無しさん
07/07/26 00:59:55
>>264
MSDNでCreateMutexでも読んで消えてね

268:デフォルトの名無しさん
07/07/26 01:02:16
palpunte

269:デフォルトの名無しさん
07/07/26 01:03:42
>>266
Chance

270:デフォルトの名無しさん
07/07/26 01:05:41
今のはメラではない、メラゾーマだ!
みたいなド迫力な名前お願いします。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4300日前に更新/162 KB
担当:undef