クラス名・変数名に迷 ..
[2ch|▼Menu]
116:デフォルトの名無しさん
05/03/29 16:06:39
UltraSuperNantokaKantokaHogeというモノ(クラスとは限らない)があった時に、
これにFooという処理をするクラスを命名したいのですが、
UltraSuperNantokaKantokaHogeFooerなどとすると凄い長いですよね
USNKHFooerなどとすべきでしょうか?
言語はJavaです

117:デフォルトの名無しさん
05/03/29 16:16:40
>>116

アホくさ。それでいうならFooerでいいじゃん。
Javaなら引数型で暗に処理する対象を示せるからなおさら。

118:デフォルトの名無しさん
05/03/29 16:26:30
>>116

UltraSuperNantokaKantokaHoge に関する全てを、
それ用のパッケージに隔離したら?

そしたら、パッケージの中では短い名前でいけるでしょ?

119:デフォルトの名無しさん
05/03/30 00:29:02
テキストの本文 FTextBody と同じ長さの配列を作り、
この文字は太字だ、打ち消しだ、
ルビの先端だなどといった属性を格納したいのですが、
よい名前が思いつきません。
言語は Delphi です。
よかったらどなたか意見ください。


120:デフォルトの名無しさん
05/03/30 00:36:34
CharactorAttribute

121:デフォルトの名無しさん
05/03/30 00:48:47
>>120
ありがとうございます!それでいきます。
すっきりして先に進めそうです。

122:デフォルトの名無しさん
05/03/30 02:20:12
charactErじゃないか?


123:デフォルトの名無しさん
05/03/30 11:39:50
TextAttributesとかでもよかったんじゃないかな
CharacterじゃなくてCharactersが対象なんだし

124:デフォルトの名無しさん
05/03/30 19:30:58
いや、配列を作る、と書いてるから、
char 配列に対応する形で、書式の配列を作るってことで、
聞いてるのは書式の配列の要素の型の名前でしょ。

125:デフォルトの名無しさん
05/04/05 00:03:05
Delphi でシミュレーションゲーム作ってるんですが、
Character (ゲーム内のキャラクタークラス)のメソッドで、

isHOGE(Character) : bool
指定したキャラクターが、仲間なら True を返す

isHUGE(Character) : bool
指定したキャラクターが、敵なら True を返す

のそれぞれ HOGE と HUGE に、いい名前ないですか?

126:デフォルトの名無しさん
05/04/05 00:04:52
>>125
Friend
Enemy

127:デフォルトの名無しさん
05/04/05 15:25:31
>>125
isHOGEとisHUGEはどっちか1つあればいいような……。
敵でもあり味方でもあるキャラクターが存在するのならともかく。

128:デフォルトの名無しさん
05/04/05 15:56:17
>>127
どちらにも属さない、「村人」的なキャラクターがあるのかも知れない。

129:デフォルトの名無しさん
05/04/05 16:02:03
GetType()で仲間/敵/村人/屍を返せばよろし。

130:デフォルトの名無しさん
05/04/05 16:25:33
>>129
屍は返事をしないけどな。

131:デフォルトの名無しさん
05/04/05 16:49:39
しかし壁に落書きを見つけた!

132:デフォルトの名無しさん
05/04/05 17:16:03
>>125
Party/Enemyとか。

133:デフォルトの名無しさん
05/04/05 17:42:26
>>132
Partyは違うべ。

134:デフォルトの名無しさん
05/04/05 18:00:06
>>133
URLリンク(www2.alc.co.jp)

135:デフォルトの名無しさん
05/04/05 18:14:50
>>134
そのページをよく嫁。
partyは組織全体を指してもその一員であることを意味しない。

敵か味方かという判別なら>>126のFriend/Enemyのほうが適切。

136:デフォルトの名無しさん
05/04/05 18:36:04
辞書引き代行スレはここですか?

137:デフォルトの名無しさん
05/04/05 19:27:17
PartyとParty Memberの違いなんだが、
たぶん134は分かっていないと思う。


138:125
05/04/05 21:00:02
皆様ご意見ありがとうございました。

やはり対義語が理想という事で、>>126 の案をお借りしたいと思います。
敵が Enemy というのはすぐに思いついたのですが、
仲間をどう訳せばよいものか、悩んでいました。Friend は妙案ですね。

仰る通り、敵でも味方でもない、中立キャラクターもいたので
このようなメソッドを考えたのですが、>>129 のような方法もありですね。

139:デフォルトの名無しさん
05/04/06 07:47:38
friendは妙案つーか、friend - enemy は普通の対義語だ

140:デフォルトの名無しさん
05/04/07 00:29:39
対義語がすぐわかるサイトない?

141:デフォルトの名無しさん
05/04/07 00:45:41
ここは?
URLリンク(www.synonym.com)

142:デフォルトの名無しさん
05/04/07 00:49:43
URLリンク(dictionary.reference.com)
URLリンク(dictionary.reference.com)


143:デフォルトの名無しさん
05/04/07 00:59:47
文字数や要素数のような「〜の数」はどう表せばいいですか?
「NumberOf...」だとなんだか冗長。

144:デフォルトの名無しさん
05/04/07 01:17:40
文字数ならLength、要素数ならCountだなぁ。(Delphi)
Java だと両方 length だね。C++ だと size とかもある。

あと、HogeOfHuge っていう名前は
HugeHoge でわかる場合が多いと思う。名詞の場合。

145:デフォルトの名無しさん
05/04/07 01:31:35
言語とかコーディング規約によるけど、nHugaってのもあるな

146:デフォルトの名無しさん
05/04/07 03:20:13
行頭禁則文字、行末禁則文字の配列について、
何か良い案、ないでしょうか?
すっきり短くまとめたいのですが。

147:デフォルトの名無しさん
05/04/07 03:34:21
ご参考に。

「Understanding Japanese Information Processing」の 目次。
URLリンク(www.oreilly.com)

6-8 Characters Prohibited From Beginning Lines
6-9 Characters Prohibited From Terminating Lines



148:デフォルトの名無しさん
05/04/07 03:51:14
>>147
なるほど、英語ではそう表現すればいいんですね。
現在テキストリーダーを作成中なので、
リンク先はこれからも役に立ちそうです。
夜分遅くに、ぴったりの情報をありがとうございました!

149:デフォルトの名無しさん
05/04/07 10:35:02
>>143 num_characters, num_elements, num_〜s を慣用句としている。

150:デフォルトの名無しさん
05/04/07 10:43:23
nnz(Number of Non-Zeros)とか慣用句みたいのもあるね


151:デフォルトの名無しさん
05/04/07 11:29:37
>>143

文字数は length かな。
要素数は elements にしてます。

elements は (number_of_) を省略してるんだけど、要素全部を指しそうで、
ちょっとキモい? と思いつつ。

>>144
あぁ Java は両方 length でしたっけ。これはこれでスッキリするかしら?


152:デフォルトの名無しさん
05/04/07 12:43:41
elements は要素そのものをあらわす hash だったり array だったりするから
要素数を elements とするのはかなり抵抗ある

hoge.elements['abc'] とか
hoge.elements[2] とか



153:デフォルトの名無しさん
05/04/07 15:03:02
Javaでは、

配列は ary.length (メソッドではない)
文字列は str.length(), str.codePointCount() (用途による)
コレクションは col.size()

などとなっているな。

他のクラスだと、getXxxCount() というのが多いような気がする。
(Container#getComponentCount()みたいな)ので、そういうときは
xxxCount みたいな名前にするのがいいかも。


154:デフォルトの名無しさん
05/04/12 01:04:48
WindowsのLPITEMIDLISTを引数に取り、それが最後の要素を指すなら(ITEMIDLIST::mkid::cbが0)
真を返す関数の名前はどうしたらいいでしょうか?

155:デフォルトの名無しさん
05/04/12 16:00:54
template<typename T> T* ほげほげ(T* p, int n);

上記のようなT型のポインタを取りnバイト(要素単位ではなくbyte単位で)加算したアドレスをT型で返す
という関数の名前で悩んでます。
何か良い名前はないでしょうか?

156:デフォルトの名無しさん
05/04/12 16:06:03
>155
advance_by_bytes


157:156
05/04/12 16:06:28
advance_in_bytes


158:155
05/04/12 16:11:57
>>156-157
なるほどadvanceですか。
excite翻訳でそれらしい結果が出たadvance_by_bytesで行こうと思います。
ありがとうございました。

159:デフォルトの名無しさん
05/04/13 01:42:54
advance〜 だと「進める」になってしまう。
この場合は「進めた値」なので advanced〜 のほうが良くないかな?

160:デフォルトの名無しさん
05/04/13 02:03:53
>159
基本的に、関数名は引数を目的語とする動詞でいいんじゃないの。

161:デフォルトの名無しさん
05/04/13 02:29:26
>>160
例えば std::advance() みたいに、目的語となった引数に副作用を残す関数ならそれでいい。

引数に作用せず、戻り値が結果である関数は名詞にすると
より自然言語に近い記述になり、プログラムが読みやすくなる。

if( size() >= 10 ) // 脳内:もしサイズが10以上なら
if( get_size() >= 10 ) // 脳内:もし、サイズを取得してその値が10以上なら

162:デフォルトの名無しさん
05/04/13 03:13:21
>if( size() >= 10 ) // 脳内:もしサイズが10以上なら
>if( get_size() >= 10 ) // 脳内:もし、サイズを取得してその値が10以上なら
やめてくれ〜

163:デフォルトの名無しさん
05/04/13 03:55:49
>161
むしろstd::advance()の副作用を持つ構造がおかしいと言ってみる。
it = std::advance(it,n);
こうしなかったのはイテレータのコピーが無駄だから?

自然言語うんぬんは、それが読みやすいと言うのであれば、あとは個人の判断に任せるだけ。

164:デフォルトの名無しさん
05/04/16 13:43:37
URLから拡張子を抜き出す関数の名前はどのようにしたらよいでしょうか?
現在はgetExtです。これだとURLからというのが分からないので。

165:デフォルトの名無しさん
05/04/16 13:46:57
FromURLでもつけとれ

166:デフォルトの名無しさん
05/04/16 21:22:40
蒸し返して悪いけど
>advance_by_bytes
こんなんなら30年以上の伝統がある由緒正しい俺様省略表記の方がいいと思う。
どうせ説明されないと書いた本人以外意味わからないんだから。

俺ならもっと明示的な命名をするね。例えば
GetByteOffsettedXXPtrとか、AddOffsetToXXPtrInByteOrderとか。

っていうか>>155のような処理が必要になるケースって想像がつかないんだけど。

167:デフォルトの名無しさん
05/04/16 23:56:35
>>166
スレリンク(tech板:35番)

168:デフォルトの名無しさん
05/04/17 00:35:42
>>167
答えになってないと思うけど。。
っていうか君は構造体って概念が本当にわかっているのかと小一時間

169:デフォルトの名無しさん
05/04/17 01:36:30
>>168
あれだろ。PNGのチャンクのような構造になってんだろ。

170:デフォルトの名無しさん
05/04/17 01:37:51
ITEMIDLISTか?

171:デフォルトの名無しさん
05/04/20 00:15:37
品詞を表す英単語って何になりますか?

172:デフォルトの名無しさん
05/04/20 00:23:49
品詞
part of speech // word class

173:171
05/04/20 01:11:18
>>172
品詞で調べるとpart of speechになるのですが長いんですよね。
word classは良い感じなのですが品詞という意味になるのでしょうか?

174:デフォルトの名無しさん
05/04/20 12:14:12
>>173
w_rd cl_ss
_n. 【文法】 語類, 品詞.

175:デフォルトの名無しさん
05/04/20 20:40:43
>>174
最高でーす!

176:デフォルトの名無しさん
05/04/22 23:07:20
みんなnamespace名は迷わないのか…?
漏れはあれ考えるたび頭痛がしてくるんだが…
ちょっと長すぎるとうっとうしいし、短いと何を表してるのか分からないし

177:デフォルトの名無しさん
05/04/23 01:11:29
>>176
長いのがうっとおしい問題は、使う側でローカルに using なり別名なり選んで解決できる。
意味がわからないほうの被害が重大なので、しっかり意味がわかるようにつけるべし。

178:デフォルトの名無しさん
05/04/23 15:56:33
>>177
リョーカイ。やっぱりusingとかでやりくりするべきか。ありがとう。


179:デフォルトの名無しさん
05/04/23 23:47:03
ループカウンター用の変数に i を使ってるけど
2つ必要なときは ii とかにしてる。
極稀にどうしても同時にいくつもの変数が必要になって
iiiii とか成ってくると後から混乱する・・・・

180:デフォルトの名無しさん
05/04/24 00:07:55
>2つ必要なときは
jにしとけ

181:デフォルトの名無しさん
05/04/24 08:24:01
kまでは使ったことある。

182:デフォルトの名無しさん
05/04/24 14:09:40
なるほど j か・・・今度からそれにしよ

183:デフォルトの名無しさん
05/04/24 18:57:57
i,j,kは定石だと思ってたんだけど違うのか…

184:デフォルトの名無しさん
05/04/24 19:21:47
なぜかそこでnを使う俺。

185:デフォルトの名無しさん
05/04/24 20:52:21
i と j は見分けが付きにくいから最近 ii の方が好きになった。

186:デフォルトの名無しさん
05/04/24 21:29:20
うちでは、i、j、kではなく、c010、c020、c030を使うという規則がある。
正直、非常に気持ち悪い。
元々はC010、C020、C030だったらしんだけど、JAVAの推奨命名
規則に従って先頭が小文字化されてキモさ倍増orz

187:デフォルトの名無しさん
05/04/24 21:48:07
>>186
JAVAの推奨命名規則ではi, j, kですよ、とか適当に言えばおk。
んなわけないよな。

188:デフォルトの名無しさん
05/04/24 21:50:18
>>187
i, j, k だったような気がする。局所変数は可能ならば短い名前を使うようになってたかも。

189:デフォルトの名無しさん
05/04/24 22:41:27
2段程度ならともかく、3段以上になる場合はファンクターやクロージャー
で置き換えられないか、考えてみた方がいいと思う。

190:デフォルトの名無しさん
05/04/25 00:04:33
もしもし、皆さん、盛り上がってるとこ悪いですが

> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。

191:デフォルトの名無しさん
05/04/25 15:42:38
別にいいだろ

192:デフォルトの名無しさん
05/04/25 19:38:08
なんの為のスレッド形式なんだ。と、一応言っておく。

193:デフォルトの名無しさん
05/04/28 00:13:49
頭文字だけ大文字or小文字にするメソッド名で良いやつ募集。

調べたら、

toLowerCaseInitial
toUpperCaseInitial

がありましたが…。

お願いします。

194:デフォルトの名無しさん
05/04/28 00:27:25
orz // 頭だけ小文字に
Orz // 頭だけ大文字に

195:デフォルトの名無しさん
05/04/28 00:30:45
toAaa
toaAA

196:デフォルトの名無しさん
05/04/28 00:37:02
Capitalize / Decapitalize

197:デフォルトの名無しさん
05/04/28 02:08:09
まぁ、よく見かけるのはcapitalizeだね。
逆は196にあるようにDe-か、Un-か、
結果は同じってコトでtoLowerCaseを使ってしまうか。


198:デフォルトの名無しさん
05/04/28 02:12:49
Capitalize / cAPITALIZE

199:デフォルトの名無しさん
05/04/28 11:44:22
頭文字大

200:デフォルトの名無しさん
05/04/28 12:02:14
ToBigHeadCharactor

201:デフォルトの名無しさん
05/04/28 22:00:26
bigよりlarge

202:デフォルトの名無しさん
05/04/29 15:05:00
iMacとか接頭語小文字で付けるのってハンガリアンの影響?
世間的にはiMacで馬鹿受けしたわけだが

203:デフォルトの名無しさん
05/04/29 15:40:09
>iMacとか接頭語小文字で付けるのってハンガリアンの影響?
ワロス

204:デフォルトの名無しさん
05/04/29 15:55:27
double型のプレフィックスって何にしてる?


205:デフォルトの名無しさん
05/04/29 16:27:18
double_i

206:デフォルトの名無しさん
05/04/29 17:40:11
ハンガリアンを撲滅する会を結成しました。

207:デフォルトの名無しさん
05/04/29 18:01:54
ハンガリアンを撲滅する会を撲滅する会を結成しました。

208:デフォルトの名無しさん
05/04/29 18:09:08
ハンガリアンを撲滅する会を撲滅する会を撲滅しました。

209:デフォルトの名無しさん
05/04/29 18:12:00
問1
ハンガリアンを撲滅する会はどうなったのでしょう。

210:デフォルトの名無しさん
05/04/29 18:26:53
問2
俺は童貞でしょうか

211:デフォルトの名無しさん
05/04/29 22:27:26
>>210
YES!YES!YES!YES!YES!YES!YES! OH, MY GOD!

212:デフォルトの名無しさん
05/04/29 22:32:03
メモ帳もどきをC言語+WIN32APIで作っています
そこで、以下の機能を実現するための関数の名前を考えていただきたい

新規作成
開く
上書き保存
名前を付けて保存
保存確認
HTMLソース読み込み

お願いします

213:デフォルトの名無しさん
05/04/29 22:39:40
>>212
new() open() save_as() save_check() read_html()

214:デフォルトの名無しさん
05/04/30 00:08:01
newって予約語と被らないかな?
confirm_save load_html

215:デフォルトの名無しさん
05/04/30 00:25:37
>>214
C言語なら大丈夫じゃない?

216:デフォルトの名無しさん
05/04/30 02:28:57
>>213
抜けてる

217:デフォルトの名無しさん
05/04/30 04:34:00
>209
「撲滅する会を撲滅する会」の行動結果が返ってこないうちに「撲滅する会を撲滅する会」を撲滅した場合、「撲滅する会」の状態は不定。
多分、会員全員で鼻から悪魔を出してたりするんじゃないかな。

218:デフォルトの名無しさん
05/04/30 05:10:03
オブジェクト「撲滅する会」が作成された状態。以後の行動は何も行われていない。

ほっとくと撲滅する会がメモリリーク要因になるから、スレを安定させるためには
撲滅する会をきちんと撲滅しておかなければならない。

219:デフォルトの名無しさん
05/04/30 20:49:26
>>218
お前がレスしなければGCされるはずだったのに・・・・・・
お前なんてスコープの外へ出ちゃえ!

220:218
05/05/01 01:49:40
{

}    ('A`) < メンゴ

221:デフォルトの名無しさん
05/05/01 01:53:24
ワロタ

222:デフォルトの名無しさん
05/05/01 21:01:55
鼻から悪魔フイタ

223:212
05/05/02 12:04:34
みんなありがとー

224:デフォルトの名無しさん
05/05/03 04:48:59
「相手、対象」は、どう名前つけてますか?英語で

225:デフォルトの名無しさん
05/05/03 10:16:42
dest

226:デフォルトの名無しさん
05/05/03 10:17:38
target

227:デフォルトの名無しさん
05/05/03 12:33:05
object

228:デフォルトの名無しさん
05/05/03 12:53:20
enemy

229:デフォルトの名無しさん
05/05/03 15:45:15
あとは対戦相手ならopponentとかな。

複数の候補が出たが、つまり「どういう相手」という意味かで
適切な単語は変わるということだ。どれでもいいというわけで
はないぞ。


230:デフォルトの名無しさん
05/05/03 15:48:08
partner

231:デフォルトの名無しさん
05/05/03 15:52:03
操作対象なら target か operand だろうな。


232:デフォルトの名無しさん
05/05/03 16:35:35
通信相手はpeer


233:デフォルトの名無しさん
05/05/04 17:50:25
一番近いのがTargetっぽい。
参考になりました。m(__)m
実際には別の形で組みましたが...

234:デフォルトの名無しさん
05/05/04 17:51:18
↑224

235:デフォルトの名無しさん
05/05/04 20:47:20
やってる人多いとは思うけど、順番を表す変数はxxxNo、
数を表す変数はxxxNumとかに統一してたほうがいいよ。
同じものにしちゃうと後でワケワケメよ。

236:デフォルトの名無しさん
05/05/05 01:01:02
前者をIndex、後者をCountにしているDelphi厨な俺。
Noだと、なんだかYes/NoのNoに見えて気持ち悪い(個人的に)
Numだと、略しているので気持ち悪い(個人的に)

237:デフォルトの名無しさん
05/05/05 22:08:37
マンドクセからa,b,c,dってやっちゃいける?

238:デフォルトの名無しさん
05/05/05 23:12:46
止めはしないがそのうち後悔するだろう。

239:デフォルトの名無しさん
05/05/05 23:20:59
そうなるともはや変数に名前さえいらないわけだが。

240:デフォルトの名無しさん
05/05/06 05:59:01
普段Java風に phoneBook などと名前を付けているのですが、
これにグローバル変数を表す言葉をつけたいのですが何か
いいアイディアはないですか?
g_phoneBook
g_PhoneBook
gphoneBook
gPhoneBook
↑こんなの思いついたんですが…

241:デフォルトの名無しさん
05/05/06 07:37:47
g〜以上にエコロジーでわかりやすい表記はないと思うが。
っていうか言語と型名(か用途)くらい書いてくれ。

その型のグローバルな変数が1個しかないなら
PhoneBook::instance()
でもいいかと。

242:デフォルトの名無しさん
05/05/06 08:08:35
言語はC++で、phoneBook は電話帳(std::multimap)です。
メンバだと phoneBook_ みたいにスタイルを崩さずに
書けるんだけど、グローバル変数だとgのプリフィクス
だけで上の四つのパターンが思い浮かんで、どれが
いいものかと…。

243:デフォルトの名無しさん
05/05/06 09:11:52
>>240のなかでは1か4だな。

244:デフォルトの名無しさん
05/05/06 14:46:10
>>240は規約の問題だと思われ。

245:デフォルトの名無しさん
05/05/07 00:21:04
なんか他人のゴミ捨て監視してる近所の変なオバサンみたいな人がいるなあ。。

別に荒らしているわけでもないわけだし、
問題なのは脱線しているかどうかってことじゃなく有意義かどうかってことだと思うんだが。
有益な脱線もダメだっていうのかなあ。

246:デフォルトの名無しさん
05/05/07 00:36:51
>>245
スレタイ付けてスレッド分けてるのは意味がないと申すか?

まぁ文句だけいって適切なスレに誘導しないのは良くないな。
規約の話なら、このへんでどうぞ。
スレリンク(tech板)

247:デフォルトの名無しさん
05/05/07 01:53:36
例え有益な情報でも、分散していたら意味ないし、無益でしょ。
その情報を知りたい人が行く場所に書かれてないんだから。
脱線しやすいのは、スレッドの切り方が悪いだけっしょ。

248:デフォルトの名無しさん
05/05/07 08:10:43
スレ違いを開き直るやつがいるスレはここですか。

249:デフォルトの名無しさん
05/05/07 08:13:41
議論できないノータリンはすっ込んでろ

250:デフォルトの名無しさん
05/05/07 10:10:16
変数名を決めるのとコーディング規約は切り離せないだろ

251:デフォルトの名無しさん
05/05/07 21:36:53
グレーゾーンの問題ならともかく、>>240は100%規約の話じゃん。
どれでも好きなやつ使えよとしか言いようがない。

252:デフォルトの名無しさん
05/05/08 05:26:43
gじゃ意味不明だからちゃんと書かないと。
GLOBAL_____phonBook
がおすすめ!

253:デフォルトの名無しさん
05/05/08 07:25:40
漏れなら
g_phoneBook

gPhoneBook
のどちらかだが確かに微妙だな…
前者の g_ プリフィクスはよく見るけど Java っぽくない
後者は Java っぽいけどあんまり見ない

254:デフォルトの名無しさん
05/05/11 21:29:58
gやめれば?
とかいってみるてすと

255:デフォルトの名無しさん
05/05/12 08:24:20
おいらの法則

グローバル
PhoneBook

ローカル
phone_book

256:デフォルトの名無しさん
05/05/12 10:01:25
>PhoneBook

クラス名っぽくて気持ち悪い

257:デフォルトの名無しさん
05/05/12 10:51:01
クラス名だったら CPhoneBook とか頭に何かつけるかな。

258:デフォルトの名無しさん
05/05/12 10:58:00
クラス名にCを付けるなんてキモイ

259:デフォルトの名無しさん
05/05/12 10:59:09
じゃあ変数名にVariableのVをつけよう。
PhoneBook VPhoneBook;

260:デフォルトの名無しさん
05/05/12 11:21:36
ハゲキモスw

261:デフォルトの名無しさん
05/05/12 12:03:18
g_phoneBookがいい希ガス

262:デフォルトの名無しさん
05/05/12 18:28:46
グローバル変数は大抵シングルトンでよくね?
PhoneBook が2冊も3冊も必要なのか? と、スレ違いになっちゃうのか。

thePhoneBook ってのはどう?
「PhoneBook っていったらコレ!」みたいな雰囲気がでる。あと、ユニーク性も強調。

263:デフォルトの名無しさん
05/05/12 22:38:03
Theを付けると映画のタイトルっぽくなるw

ThePhoneBook.prelude();
ThePhoneBook.theme();
ThePhoneBook.episode();
ThePhoneBook.finale();


264:デフォルトの名無しさん
05/05/12 22:44:15
大作のようなB級映画のような。

265:デフォルトの名無しさん
05/05/12 23:28:59
>>262
そんなこと言ってるとマルチスレッドで破綻しないか?
逆に面倒だろ

266:デフォルトの名無しさん
05/05/13 00:00:37
>>265
プリミティブ型ならマルチスレッドで問題が起きないのかと

267:デフォルトの名無しさん
05/05/15 01:17:27
くだらないことなのですが、DBのフィールド名で
作成日をCREATE_DATEにしようかと思うのですが、
更新日をどうしようかと悩んでおります。
CHANGE_DATEというのを考えたのですが何か違うような。

268:デフォルトの名無しさん
05/05/15 02:54:34
UPDATE_DATE なんかかっこ悪いな。
renew(renewed)とかmodify(modified)とか

某フレームワークだと、
作成日 created_on
更新日 updated_on
だな。


269:デフォルトの名無しさん
05/05/15 02:58:00
REFRESH_DATE

270:デフォルトの名無しさん
05/05/15 03:31:27
LAST_UPDATE

271:デフォルトの名無しさん
05/05/15 03:40:53
FILETIME ftCreateTime; // 作成日時
FILETIME ftLastAccessTime; // 最終アクセス日時
FILETIME ftLastWriteTime; // 最終更新日時


272:デフォルトの名無しさん
05/05/15 13:02:02
a for accessed
c for created
c for changed
m for modified
t for touched
u for used

273:デフォルトの名無しさん
05/05/15 14:43:13
HTTPだと Last-Modified だな

274:267
05/05/16 00:56:52
皆さんレスありがとうございました。
色々参考にさせていただきまして、
作成日=CREATED_DATE
更新日=UPDATED_DATE
にすることにしました。

275:デフォルトの名無しさん
05/05/16 11:02:17
updateは微妙に違う気もするが。いいけど

276:デフォルトの名無しさん
05/05/16 21:54:38
頭に特定なものをつけておかないと、後で変数名だか定数だかクラス名だか混乱するぜ。

277:デフォルトの名無しさん
05/05/16 21:56:19
微妙に違うってセンスが理解不能。
こういうのをまさにupdateって言うわけだが。
これがupdateじゃなきゃ、何が(以下略

278:デフォルトの名無しさん
05/05/17 00:05:16
「内容的に目新しくなくて、ちょっと誤字を修正しただけ」みたいなのは
update ではないという脳内定義を持つ人は「微妙」に感じるのかも。


279:デフォルトの名無しさん
05/05/17 00:21:02
更新日のカラム名がUPDATE_DATE以外だったらコロヌ(・*・)

280:デフォルトの名無しさん
05/05/17 11:02:20
ウェ━━━━(0w0)━━━━イ!!!

281:デフォルトの名無しさん
05/05/17 20:29:29
版と刷の違いみたいな

282:デフォルトの名無しさん
05/05/17 20:56:55
UPDATE_DATE ってなんとなく HTML 言語と同じニュアンスを受ける

283:デフォルトの名無しさん
05/05/17 21:21:24
HTM言語よりはよいだろう

284:デフォルトの名無しさん
05/05/17 21:22:07
H 文章記述言語

285:デフォルトの名無しさん
05/05/17 21:25:06
藁田

286:デフォルトの名無しさん
05/05/17 21:52:08
官能小説業界標準規格

287:デフォルトの名無しさん
05/05/17 23:26:01
bool型変数ないし、戻り値がブーリアン風な関数の名前について質問です。

言語または命名規約によっては、よく 「isXXX」 という名前が使われるみたいですが、
機能説明した疑問形の文章をそのまま英訳すると、
are、have、canなどの、is以外の単語が使われることってありますよね?

もちろん、ちょっと形を変えれば isXXX になるときは別ですが
この場合、ちょっと違和感があっても canXXX、haveXXX といった名前にするべきでしょうか?
それとも英語的におかしくても isXXX にするべきでしょうか?

288:デフォルトの名無しさん
05/05/17 23:32:15
areとかhaveとかcan使うに決まってるだろ
馬鹿なこと聞いてんじゃねえよ

289:デフォルトの名無しさん
05/05/17 23:42:13
>>287
おかしいと分かっているにもかかわらず、isにこだわる理由は?
isStockとか?

URLリンク(www.objectclub.jp)
コーディング規約 第2条
スレリンク(tech板)

290:287
05/05/18 00:03:18
自分はアマグラマなんで、社内共通の命名規約などとは縁が無い環境です。

いくつかの入門書やウェブサイトをあたってみましたが、それらには
「ブーリアンの場合は isXXX にしよう!」とは書いてあるんですが、
他の単語になる場合などは書かれていないようでした。

そもそも、C言語でJava風の変数名を使うのがおかしいのかもしれませんが(笑)


>>288
常識でしたか。ありがとうございます。

>>289
理由は3つあります。
 ・標準関数とかがそうなっていた
 ・haveXXXとかだと、多くの場合変数名が長くなる
 ・最近Javaの入門書を立ち読みして、ちょっと影響された(笑)
こんなところです。



291:デフォルトの名無しさん
05/05/18 00:51:14
規約にあるからといって意味も考えずに isHaveXXX なんて書く奴がいる。
本来の「英語(自然言語)に近い状態でソースが読めるようにする」という目的を忘れないで欲しい。

292:デフォルトの名無しさん
05/05/18 08:16:36
常識ってバカかこいつ
これでも読んどけ
URLリンク(www.shos.info)

293:デフォルトの名無しさん
05/05/18 12:39:01
have〜 は見たこと無いけど、has〜 とか contains〜 とかは見たことある

294:デフォルトの名無しさん
05/05/18 13:24:22
その前に英語を勉強しろ

295:デフォルトの名無しさん
05/05/18 15:33:55
まぁisを使う一方でhaveはおかしいよな。

Rubyの標準クラスは
anInstance.is_a?(Class) (三人称単数現在)
aHash.has_key?(key) (ditto)
anArray.include?(element) (原型不定詞)
のように不統一で(一応ルールはあるらしい)、慣れるまで混乱する。


296:デフォルトの名無しさん
05/05/19 00:09:42
エラトステネスのふるいの関数名を考えてください。
適当に、hurui(int *,int)にしちゃったんだけど、
もっとシャキーンとした名前がほしいです。
なんかありませんか??

297:デフォルトの名無しさん
05/05/19 00:13:51
old

298:デフォルトの名無しさん
05/05/19 00:17:42
void Shakeen();

299:デフォルトの名無しさん
05/05/19 00:18:43
EratsnetesSieve

300:デフォルトの名無しさん
05/05/19 00:21:03
filter

301:デフォルトの名無しさん
05/05/19 00:28:47
>>298
採用したいが見送り。残念。

>>299
EratosthenesSieve
これを採用します。


レスThx!

302:デフォルトの名無しさん
05/05/19 14:27:43
定数の列挙に
namespace HOGE {
  enum {
    TEISUU_1,
    TEISUU_2,
  };
};

とよくやるんですが、(VC.netならHOGE::と打てば定数がリストアップされるから)
ここでHOGEのネーミング規約として何かいい案はないでしょうか?
namespaceの頭文字をつけてn_HOGE::とするか、
STLは小文字でstd::だからhoge::にするか
結局定数だからHOGEにするか・・・。
毎度悩んでます。

303:デフォルトの名無しさん
05/05/19 14:40:45
constants
長いならk


304:302
05/05/19 15:10:18
役割ごとに別の名前空間にしようと思うんですね。
通信プロトコル、動作フラグ、設定データ等等・・・。


305:デフォルトの名無しさん
05/05/19 15:13:08
Namespace.Class.Method
別に区別しなくていいって言うかスレ違い。

306:デフォルトの名無しさん
05/05/20 00:32:44
>>302
.NETでやるんなら.NETの流儀(全部Pascal)でやるべきなよーな

307:デフォルトの名無しさん
05/05/20 08:26:13
.NETっていうか、MSご推奨の流儀ね。

でもあれ合理性が感じられないんだよね。
例えばクラスや構造体にCとかSとかプリフィクスするの止めろって言うんだけど
やっぱりプリフィクスないと混乱するときあるよ。

インテリセンスでわかるって言うけど、ソース読み直してるときにそんな
面倒なこといちいちやってられるか。

それ以上に、プリフィクスには命名のバッティングを防ぐ効果があって、
これが案外重要だったりすると思うんだけど。

308:デフォルトの名無しさん
05/05/20 08:29:39
スレ違い

309:デフォルトの名無しさん
05/05/20 10:47:26
ハンガリアンは名前に実装が現れるのが酷すぎる。
それに型を変えると名前も変えなきゃいけないし、
そもそもnDataってあったとしてもそれが本当に
int型かどうか分からないし。
意味を反映した名前を付けたほうがいいでしょ。
バッティングなんて起こる方がおかしいんだし。

310:デフォルトの名無しさん
05/05/20 12:24:56
>>309
なんでいきなりハンガリアンの話になるわけ?

311:デフォルトの名無しさん
05/05/20 16:08:22
>>310
>>307の「MS」「プリフィクス」で脊髄反射したんだろ。

312:デフォルトの名無しさん
05/05/22 23:28:01
グラフを描画するのに以下の二種類のペンを使います。
これらの名前を考えてください。
1.普通のペン
2.視点から実際には見ることのできない部分を書くペン

お願いします

313:デフォルトの名無しさん
05/05/22 23:31:51
Pen
InvisiblePen

314:デフォルトの名無しさん
05/05/22 23:32:49
>>313
やっぱりそうですよね
白身がなかったもので…

ありがとう

315:デフォルトの名無しさん
05/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
05/05/23 15:25:01
ちなみにバイナリデータへのSerializerは既にあって、
シリアライズできるクラスはISerializableを継承するようになってます

317:デフォルトの名無しさん
05/05/23 15:41:41
ITextSerializable

318:デフォルトの名無しさん
05/05/23 15:45:13
IStringize


319:315
05/05/23 17:03:46
良くやる事なのかと思ったけどあんまり例が無いですね…

>>317氏のはすこし冗長な気がします
Deserializeには対応しないのでSerializeと冠するのも不適格な気が

>>318氏のSrtingizeは違う意味でBOOSTなどが使っているので紛らわしいかなぁ
でもJavaとかだと想定した挙動みたいですね

とりあえずIStringizableで行こうと思います ありがとうございました

320:デフォルトの名無しさん
05/05/23 17:30:38
>>307
> 例えばクラスや構造体にCとかSとかプリフィクスするの止めろって言うんだけど
> やっぱりプリフィクスないと混乱するときあるよ。

混乱するわけがないでしょ。
大文字で始まる名詞があれば、クラスや構造体でしかありえない。

321:デフォルトの名無しさん
05/05/23 17:33:46
スレ違い

322:デフォルトの名無しさん
05/05/23 20:05:45
>>315
stringifyってのがあるから
stringifiable…?

323:デフォルトの名無しさん
05/05/23 22:04:41
>>320
MSはプロパティもPascal形式にしろっていってるよね?
プロパティは通常名詞であることが多いと思うんだけど。

第一、例えばプログラム中でインスタンスが一つしかないような場合でも(こういうの
シングルトンパターンっていうんだっけ?)、MSのアホな指針に従わなければ、
例えばクラス名をCGod(あるいはcGod)、そのクラスの唯一の自分自身のインスタンスを
保持する静的フィールドをm_God(またはmGod)、その唯一のインスタンスを
他のクラスから参照する静的プロパティをGodと、すっきり機械的に命名できるのに。

それにキャメル形式って読み難くてイライラするんだよね個人的に。
慣れの問題かとも思ったがそうじゃない気がする。

324:デフォルトの名無しさん
05/05/23 22:06:45
>>323
>>321

>それにキャメル形式って読み難くてイライラするんだよね個人的に。
>慣れの問題かとも思ったがそうじゃない気がする。
2レス前も読めない読解力の問題。

325:デフォルトの名無しさん
05/05/23 22:07:24
>>323
完全に慣れの問題だな。

326:315
05/05/24 01:15:26
>>322
それです!まさにそれ。Stringifiableとも言うみたいです。
Perlは4で止まってたのでその単語をまったく知りませんでした…ありがとう
とはいえだいぶマニアックで直感的じゃなくなってきたなぁ(笑)

327:デフォルトの名無しさん
05/05/24 10:23:13
void xxx(struct tagABC *edge){
free(edge->ptInt);
free(edge->ptLong);
free(edge->ptShort);
}

ある構造体の変数にポインタがあり、そのポインタには
メモリ確保した時のアドレスが格納されています。
このメモリを一気に解放する関数の名称を、命名して下さい。


328:デフォルトの名無しさん
05/05/24 10:32:10
ABCInitialize/ABCFinalize

329:327
05/05/24 10:36:50
なるほど。どうもです
いただきました

330:デフォルトの名無しさん
05/05/24 15:41:14
freeABCでいいような。
本体は解放するけどメンバーのデータは解放しない
っていう関数が別に必要ならそっちに使いそうな名前
ではあるが。

331:デフォルトの名無しさん
05/05/25 19:53:17
以下の3つを区別する必要があるとき、それぞれどのような名前を付けたらよいでしょうか?
よろしくお願いします。

 ・日時両方: 2005/05/24(火) 15:41:14
 ・日付だけ: 2005/05/24(火)
 ・時刻だけ: 15:41:14

332:デフォルトの名無しさん
05/05/25 19:54:21
DateTimeFormat

333:デフォルトの名無しさん
05/05/25 20:09:38
DateTime
Date
Time

334:デフォルトの名無しさん
05/05/25 20:47:04
ありがとうございます。
あちこちで頻繁に参照する名前なので、もっと短くて混同しづらい名前はないものかと悩んでいたのですが
やはり DateTime のように Date と Time を引き摺り続けるしかないのでしょうか。
まずは Date, Time, DateTime で命名しようと思います。
が、もしもっと見分けやすい名前を思いついた方がいらっしゃいましたら、どうか宜しくお願い致します。

335:デフォルトの名無しさん
05/05/25 21:06:27
>>334
日付時刻をDateTimeとするのは割と一般的だと思うけどなあ。

336:デフォルトの名無しさん
05/05/26 02:30:31
姿勢(基底行列)と位置(3次ベクトル)を
メンバに持つクラスを作りたいんですが
名前が決まらず困ってます。お助けを。

337:デフォルトの名無しさん
05/05/26 02:59:24
何をするクラスかが分からんと…

338:デフォルトの名無しさん
05/05/26 03:17:17
>>337
へぼい3Dのプログラムなんですけど
3Dオブジェの位置姿勢を担当するクラスを
作ろうと思いまして。
でも全然名前が浮かばないんです。

339:デフォルトの名無しさん
05/05/26 04:52:41
>>338
設計ミスな希ガス
3Dオブジェのベースクラスで管理するんじゃまずいの?
クラスを便利な構造体として使ってない?

340:デフォルトの名無しさん
05/05/26 08:04:45
たしかにそうかもしれません。
設計を見直してみます。
しかし、いろいろ調べたんですが
位置姿勢を一言で表す良い言葉・表現が
みつけられなかったのは残念です。

341:デフォルトの名無しさん
05/05/26 08:27:46
position で位置姿勢の両方の意味はあるみあいだけどな…

342:デフォルトの名無しさん
05/05/26 08:46:17
数学(物理学)用語なんだから専門辞書かWikipediaかを当たればわかるんじゃない?

343:デフォルトの名無しさん
05/05/26 09:39:25
姿勢というか向きならorientation

344:デフォルトの名無しさん
05/05/26 09:40:51
ああ、両方をひと言で、なのね。
日本語でも位置姿勢でフタコトだし、無理に一語にしないということでどうよ。

345:デフォルトの名無しさん
05/05/26 10:22:32
コマンドラインオプションを解析する関数名はどうすればいいですか。
言語はC++です。

346:デフォルトの名無しさん
05/05/26 10:24:43
parse

347:デフォルトの名無しさん
05/05/26 10:46:35
parse_arguments (オプションしかないなら _options でも)

UNIX APIに倣うとgetopt(解析すると言うよりオプション取り出しだが)


348:デフォルトの名無しさん
05/05/26 10:50:59
parse_argumentsと
parseArgumentsってどっちが主流なの?

349:デフォルトの名無しさん
05/05/26 10:53:10
parseOption
parseCommandLine(Option)

350:デフォルトの名無しさん
05/05/26 12:21:57
parseCommandLine ってのしか見たことない

351:デフォルトの名無しさん
05/05/26 16:54:54
>>340
>位置姿勢を一言で表す良い言葉・表現がみつけられなかった(ry
これが設計ミスじゃないかな?と疑うきっかけ。
オブジェクト指向の場合、クラスは事象の抽象化なので
必ずぴたっとハマる名前があるはず。

352:345
05/05/26 18:18:31
dクス。
getoptを使わせていただきます。

353:デフォルトの名無しさん
05/05/26 21:37:10
>>348
言語による。
C++やJavaなら後者が主流、だと思う

354:デフォルトの名無しさん
05/05/26 21:38:02
主流とか何かが意味があるかと思うのか?

355:デフォルトの名無しさん
05/05/26 21:39:16
>>354
自分以外が見るんならあるんじゃね?

356:デフォルトの名無しさん
05/05/27 00:24:24
Standard C++ Libraryだと _ で繋ぐ方式だね。


357:デフォルトの名無しさん
05/05/27 00:25:06
スレ違い

358:デフォルトの名無しさん
05/05/27 05:29:02
>>355
見る時に必要なのは文字列を同定する能力
_も2語目語頭大文字化も
どちらも他と区別できるくらいの能力が
読むものになければそもそもその人間は
コードを読む資格がないとさえ言えよう

359:デフォルトの名無しさん
05/05/27 06:32:25
>>358
いや単純に気持ち悪いじゃん。
二つが混在してるようだと。

360:デフォルトの名無しさん
05/05/27 07:44:43
>>359
混在?どちらでもいいから統一しておけば問題ないだろう
主流もなにもないコーダの好みで決めればいい

361:デフォルトの名無しさん
05/05/27 07:49:25
STLとWin32APIを同時に使うとなると否応無しに混在させられてしまう罠。

362:デフォルトの名無しさん
05/05/27 08:39:36
STLは"_"派、
出来ればこれに合わせたいんだけど
名前が無駄に長くなるんだよね・・

363:______________
05/05/27 09:33:16
無駄とはなんだ!

364:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/05/27 11:11:34
pDest,pSource

366:デフォルトの名無しさん
05/05/27 11:15:05
ディレクトリを再帰的に巡って消費ファイルサイズを多い順にソートするクラス名(というかツール名)って何がいいですか。

367:364
05/05/27 11:17:34
>>365
それです!
ソースは思いついたんですが、受け手の方が思いつかなくて(英語力ないもんで・・・)
Dest ← ちなみにこれのフルスペスってどんなんですか?

368:デフォルトの名無しさん
05/05/27 11:21:36
>>367
もしかして distribute か?


369:364
05/05/27 11:23:53
>>368
destinationっぽいです
ありがとうございました m(_ _)m

370:デフォルトの名無しさん
05/05/27 11:41:08
蛇足だが、DestならSourceもSrcでもいいような気がする。

371:デフォルトの名無しさん
05/05/27 12:09:37
>364
p, q


372:デフォルトの名無しさん
05/05/27 13:20:07
ディスティネーションはつづりが覚えられないから、
from, to, でやってる。

373:デフォルトの名無しさん
05/05/27 13:24:00
toは予約語だから,
tinko, manko, でやってる。

374:デフォルトの名無しさん
05/05/27 13:32:52
mankoは予約語だから,
bou, ana, でやってる。

375:デフォルトの名無しさん
05/05/27 14:17:35
>>366
ディレクトリを再帰的に巡って消費ファイルサイズを多い順にソートするクラス名(というかツール名


class dsmsfsojs


376:デフォルトの名無しさん
05/05/27 14:50:47
見るだけならls -RS か ls -lRS

ListFilesRecursiveOrderedBySizeDescending

こっから先は命名でなく設計の話になっちゃうけど、順序を
決める部分は比較関数として別に引数として渡すようにする
と後ろの長ったらしい部分はその引数の方に吸収できるね。


377:デフォルトの名無しさん
05/05/27 20:50:57
>>362
変数名を無駄に短く略して暗号化するのは脳内だけにしてほしいよね・・・

378:デフォルトの名無しさん
05/05/29 18:44:28
>>366
>ディレクトリを『再帰的に巡って』『消費ファイルサイズを』『多い順にソート』する
……ってだけで俺は少なくとも3つのクラスが必要だと思った

379:デフォルトの名無しさん
05/05/29 21:48:29
>>366
それは機能の説明でクラスの説明じゃないな。
その機能を使って何をするのか、を考えればそれがクラス名。

380:デフォルトの名無しさん
05/05/30 10:52:18
STLの<functional>にあるlessの大文字小文字を区別しないバージョンを作ろうと思うのですが
どういう名前にしたらよいでしょうか?

381:デフォルトの名無しさん
05/05/30 11:25:10
>>380
caselessでいいじゃん

382:デフォルトの名無しさん
05/05/30 11:29:10
あぁcaseですか。なんで思いつかなかったかな>自分
ありがとうございました。

383:デフォルトの名無しさん
05/05/30 11:57:36
普通はilessにすると思うが…

384:デフォルトの名無しさん
05/05/30 12:00:48
_stricmpやlstrcmpiのiって何の略なんでしょうね?

385:デフォルトの名無しさん
05/05/30 12:02:06
ignorecase

386:デフォルトの名無しさん
05/05/30 12:09:08
あ、な〜る

387:デフォルトの名無しさん
05/05/30 17:55:19
配列の名前に、適当な名前が見つからないときは要素の型の複数
を使うという俺ルールを採用していて、

Data

の配列を作ろうとして手が止まったことがある。

ほんとはたぶんDataっていう要素型名自体がよくないんだけど。

388:デフォルトの名無しさん
05/05/30 17:56:54
Datumでいいやん

389:デフォルトの名無しさん
05/05/30 17:58:52
>>387
C/C++なら型名と変数名は同じでも平気だよ。良いスタイルとは言えないだろうけど。
もちろんintとかの組み込み型は予約語だから駄目だけど。

390:デフォルトの名無しさん
05/05/30 18:21:14
>>388
要素の方を datum ってことよね。

それ以前に、dataとかinfoとかいう漠然とした名前はよくないわけで。

あり得ない話だけど sheep とか fish とか carp の配列を作ろうとすると
悩みそうだな。

391:デフォルトの名無しさん
05/05/30 18:28:24
俺なら sheeps, fishes, childs って堂々と書くなw

392:デフォルトの名無しさん
05/05/30 21:03:14
DataArrayとか。
配列が名前に表れるのをきらうならDataCollectionとか。

393:デフォルトの名無しさん
05/05/30 22:27:31
英文法的に正しいかどうかより意味がわかるかどうか、簡潔かどうかを
優先した方がいいと思うけどね俺は。英文法なんて全然一貫性がないんだからさ。

別にDatasとかでいいじゃん。
setの過去分詞をsetedって記述するでしょ?(っていうと必ずシネーヨって
奴が出てくるんだが。ググッてみろよNativeだってそうしてる)


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

5389日前に更新/204 KB
担当:undef