[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 19:05 / Filesize : 204 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

クラス名・変数名に迷ったら書き込むスレ。Part13



1 名前:デフォルトの名無しさん [2008/09/29(月) 13:13:43 ]
クラス名、変数名のつけ方に悩んだら書き込むスレです。

質問する人は、その変数に何を格納するのか(クラスだったらその役割)
プログラミング言語は何なのかを、それぞれ書いて、
いい変数名を思いついた人は、それに答えてあげましょう。

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

>>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: pc5.2ch.net/test/read.cgi/tech/1087209526/
Part5: pc8.2ch.net/test/read.cgi/tech/1109330204/
Part6: pc8.2ch.net/test/read.cgi/tech/1128266018/
Part7: pc8.2ch.net/test/read.cgi/tech/1144978008/
Part8: pc10.2ch.net/test/read.cgi/tech/1154448184/
Part9: pc11.2ch.net/test/read.cgi/tech/1168356029/
Part10: pc11.2ch.net/test/read.cgi/tech/1180146315/
Part11: pc11.2ch.net/test/read.cgi/tech/1191250784/
Part12: pc11.2ch.net/test/read.cgi/tech/1206118762/

162 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 22:50:33 ]
nameSuffixくらいでいいのかもしれんな。


163 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:33:23 ]
>>161
Mr. Mrs. Ms.だってただの形式だから似たようなものだと思うけど。

164 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:40:11 ]
>>163
そういうのは honorific じゃなくて title って言わない?
肩書き?

165 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:41:05 ]
それか、prefix とも言うか<mr

166 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:23:30 ]
>>164
titleはprofessorとかCEOとかchief engineerといった肩書きのことじゃないの?

167 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:34:03 ]
名前と一緒に使わなきゃならんのがhonorificで、名前なしでも使えるのがtitle。
もっともhonorificをtitleに含む場合もある。

168 名前:167 mailto:sage [2008/10/07(火) 00:35:30 ]
あ、嘘書いた。
いまの聞かなかったことにして。

169 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:36:33 ]
不自然でさえないのなら、いちばん簡単な奴使えばいい気がしてきた。
日本人的には name suffix でいいんじゃないかと。

170 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:42:34 ]
>>166
CEOはただのpositionだからhonorificではないけども、
Professorはイギリスでは先生の名前につけたりもするから、
そういう場合ではhonorificの一つだろう。



171 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 00:52:52 ]
His Royal Highness The Prince Charles Philip Arthur George, Prince of Wales
and Earl of Chester, Duke of Cornwall, Duke of Rothesay, Earl of Carrick,
Baron of Renfrew, Lord of the Isles, Prince and Great Steward of Scotland,
Knight Companion of the Most Noble Order of the Garter, Knight of the
Most Ancient and Most Noble Order of the Thistle, Great Master and First
and Principal Knight Grand Cross of the Most Honourable Order of the Bath,
Member of the Order of Merit, Knight of the Order of Australia, Companion
of the Queen's Service Order, Honorary Member of the Saskatchewan Order
of Merit, Chief Grand Commander of the Order of Logohu, Member of
Her Majesty's Most Honourable Privy Council, Aide-de-Camp to Her Majesty

172 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 00:24:30 ]
もうmisterでいいじゃん

173 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:03:42 ]
     IBase
 ↑   ↑   ↑
Some Other 何もしないクラス

というように、IBaseの具象クラスのうちいずれかのクラスのインスタンスを必ず保持しておきたい場合、
何もしないクラスの名前はVoidClassかNullClassのどちらがいいですか。
こっちの方がいいよ、って言うのがあったらそれも教えてください。

174 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:08:51 ]
そんなものが必要になる状況が理解できない……。
でもまあ普通はDummyっていうんじゃないかなそういうの。
あるいはPlaceHolderとか?

175 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 01:14:22 ]
あとはIdleとかInactiveかなあ。

176 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 02:03:33 ]
俺はNullかEmptyかでいつも迷う。

177 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 07:26:51 ]
nullはポインタ、参照絡みでしか使いたくないな

178 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 07:31:33 ]
Dummyでいいよ

179 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 08:20:26 ]
おまいらNullObjectパターンの話でもしてるの?

180 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 08:22:43 ]
何もしないってこと自体に意味があるなら null か empty
テスト用とかでとりあえず何もしないものを挟みたいときがあるなら dummy
ってイメージがあるんだけど。



181 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 08:25:53 ]
デザインパターンで null object pattern って言うから
Null でいいんじゃないだろうか。

182 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 15:15:55 ]
Comポートの開閉を管理したり文字列の送受信をするクラス
どう名付けたらいいかな?単純そうでピンと来るのがない

183 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 16:59:51 ]
そのまま ComPort でいいやん。

184 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 17:32:26 ]
>>180
テスト用の何もしないやつってスタブって言わない?

185 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 18:44:12 ]
基本的には全てのキーが禁止の状態から、
許可するキーを追加する関数を作りたいんだけど
どういう名前にするか迷っています。

addFilterの逆なんだけどどういう名前が一般的なんでしょうか?
removeFilterやdeleteFilterはなんか違うような気がするのですが。

お願いします。

186 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 18:47:27 ]
スタブ使うんならスタブ側なんかドライバ側なんかだけ注意しないと

187 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 18:50:54 ]
>>185
allowKey
enableKey


188 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 18:55:22 ]
>187
なるほど。
ありがとうございます。

189 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 19:04:41 ]
取りあえず、よくある単語を列挙

blacklist方式 -> deny, block, reject, refuse
whitelist方式 -> allow, pass, accept

190 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 23:28:06 ]
template<class T>
T なんとか(void)
{
 return dynamic_cast<T>(m_owner);
}

Fruit *f = seed->なんとか<Apple*>();

こんな感じの関数はどんな名前がいいですか?




191 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 23:31:11 ]
GetOwner

192 名前:デフォルトの名無しさん [2008/10/08(水) 23:36:41 ]
C++でも識別子はunicodeで書ける出来るようになったんですか?

193 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 23:42:15 ]
template<class T> T なんとか()
{ return dynamic_cast<T*>( m_owner ); }

にして、

Fruit *f = seed->getOwnerAs<Apple>();


194 名前:デフォルトの名無しさん mailto:sage [2008/10/08(水) 23:47:37 ]
なんでフルーツのポインタに入れるのにわざわざリンゴのポインタで取得するの?

195 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 00:39:33 ]
>>182
ComPorterで

196 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 14:06:20 ]
クラス名って
〜するもの、みたいな目的名が良いのか
部品名の方がいいのか

どっちなんだろ?

197 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 15:06:10 ]
クラスがあらわしているものを名前にする。

198 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 15:14:04 ]
表してる物ねぇ・・・

例えば上にあるcomポートのクラスだと
ComPortの機能を実現すると考えるならクラス名はComPortだろうけど
ComPortを機能を管理する為のクラスだと考えるとComPortControlerみたいなのかな?
と毎回悩むわけです

199 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 15:20:41 ]
>>198
「管理する」とは具体的に何をすることなのか考えたほうがいいよ。

200 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 15:22:28 ]
ファイルの機能を管理するクラスってFileクラスかFileContorolerか、どちら?て聞かれれば俺は迷わずFileをえらぶ。
Controlerってつけると、ComPortオブジェクト渡して管理してもらうイメージがする。
FileWriterっていうクラスがあったら、Fileオブジェクトを渡して書き込んでもらう感じしない?



201 名前:デフォルトの名無しさん [2008/10/09(木) 15:23:07 ]
>>198
どうしてシリアルポートを回すんですか?

202 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 15:44:19 ]
機能を管理するってどういうことだろう・・・
ファサードパターンみたいなもの?

>>201
回すってどこから出てきた?

203 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 15:54:45 ]
如何に自分が漫然と作業してたかが解るorz

>>199
具体的に、ですか

ポートを開く
ポートへの書き込み
ポートの読み込み
ポートを閉じる

やはりポートの機能そのものを表すのかなぁ?

>>200
確かにそうかも・・・

204 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 16:02:51 ]
>>203
そりゃポートそのものだろ。少なくとも使用者から見れば。

だいたい「〜そのもの」と「〜を管理するもの」との違いは、
使う人から見たら気にならないものだったりすることが多いんじゃね。
「インターフェース」とその「実装」との違いぐらいにどうでもいいでしょ。
実装を書いた本人にとって「〜そのもの」とは思えなかったとしても。

205 名前:デフォルトの名無しさん [2008/10/09(木) 16:24:56 ]
>>203
あなたが噂の低脳さんですか?

206 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 16:32:08 ]
>>204
ありがとうございます
いままで趣味程度、自己流でやってきててその点が疑問だったので
今日すっきりしました

>>205
低脳でさーせんorz

207 名前:デフォルトの名無しさん [2008/10/09(木) 16:47:32 ]
低脳が何かを悟った!

208 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 19:47:28 ]
>>206
俺は君のように悩む方がむしろ全然まともだと思う。
OOPの本質は状態機械を何かに見立ててたり、何かのメタファーとして捉える
ことだと思うけど、何に見立てるかは実はそんなに簡単じゃない場合がある。

例えば>>182はドトネトのSerialPortとかVBのMSCOMMみたいなクラスのことを
言っていると思う。

これらのクラスにはCOMポートの番号を指定するプロパティがあるわけだが、
これにならって>>182のクラスにも同様のプロパティを持たせたとする。(当然そうするだろう)

ところが、COMポートの番号というのは普通に考えれば複数のCOMポートを集約している
オブジェクト(PC? M/B? OS?)の属性でなければ本来意味的におかしい。

209 名前:デフォルトの名無しさん [2008/10/09(木) 20:30:09 ]
頭はおいしいねってところまでは読んだw

210 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 23:15:41 ]
何語かわからない言語で書いたとすると、自分ならこんな雰囲気にするかもしれない。

class SerialPort
{
 static SerialPort Open(whichPort);
 Result Real(〜);
Result Write(〜);
Result Close();
}



211 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 00:17:53 ]
PortCommunicator にしとこうか

212 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 00:45:06 ]
そろそろポートじゃなくて、
ただのファイルIOと同じだということに気付いてもいいころだ

213 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 00:59:32 ]
それを言い出したら全部のI/Oが同じになってしまって、
デバイス固有の操作が扱いにくくならね?(ioctlみたいに)

214 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 01:15:14 ]
それを言い出したらも何も>>212は全然正しい認識じゃないから。
何だよファイルIOって。

まあディスク上のファイルだろうとデバイスだろうとデータの入出力は
同じストリームとして扱えるみたいな話を聞きかじって理解もせずに拡大解釈でも
してるんだろうけど。

215 名前:デフォルトの名無しさん [2008/10/10(金) 01:25:52 ]
何を拡大解釈してるって?

216 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 01:27:55 ]
過小評価してるんだろうな。

217 名前:デフォルトの名無しさん [2008/10/10(金) 01:36:47 ]
>>214はスーパーPHP使いなんじゃね?

218 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 02:35:25 ]
fncGetFileNamae

219 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 02:36:50 ]
public class PublicClass1

220 名前:デフォルトの名無しさん [2008/10/10(金) 02:40:52 ]
>>214
いくらなんでもソーセージをかじっちゃダメでしょw



221 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 02:52:55 ]
>>214はひどい

222 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 03:52:11 ]
>>215-221
自演乙

223 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 04:01:55 ]
>>222
恥かしい奴だな
>>214がどんだけかわかんねーの?
あ、俺は優しいから一応言っておくわ


>>222
本人乙

224 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 04:55:04 ]
>>215-223
自演乙


225 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 07:45:56 ]
>>214はそろそろ、COMとファイルのioctl以外のAPIの違いを説明すべきだ

226 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 08:27:11 ]
>>225
どっちもストリームとして扱えるというだけでしょ?
COMには、tellもseekもtruncateもfilelengthもownerもpermissionもない。

227 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 11:04:07 ]
>>215-226
自演乙

228 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 11:28:10 ]
>>226
>>255は間違ってる
COMとファイルIOの違いについて説明すべき
で、どちらもストリームとして扱える
以上

229 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 12:51:09 ]
>>255頑張れ

230 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 17:18:01 ]
英語の形容詞をそのまま変数名にするのはアリですか?
一番新しい要素をrecentと名づけるのをどう思います?



231 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 17:22:44 ]
公開しないなら別にそれでおk

232 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 18:19:13 ]
first、last、next、prev 等もよく使うし、問題ないかと

233 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:13:32 ]
サンクス

234 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:39:55 ]
形容詞の後ろについてる one とか thing が省略されてると思えば、
形容詞単体を名詞的に使うのもありだと思うけど。
the + 形容詞だけで名詞扱いで使うこともあるし。

235 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:47:34 ]
メソッド名は動詞、変数/クラス名は名詞でって良く言うけど
そんなに厳格に分けなきゃならんもんかねえ。

236 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:22:21 ]
>>235
なんか教条主義的な思考をする人みたいだね。

別に、誰か偉い人が言ったから/規約でそう決まっているから、「分けなきゃならん」
わけじゃない。

そうしないと(一般に)分かりにくくなる、という合理主義でしょ。
逆に言えば仮に規則を破ることでクラスや変数の役割がむしろ分かりやすくなるのなら
何も問題はないはず。

237 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:50:18 ]
>>236
レス感謝。

つまり主観(=分かりやすさ)が入るから決め事としてしまった方がいい、と。

238 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 18:59:22 ]
arr = [1,2,3]
item = arr.remove(1)
とやると
arr = [1, 3], item = 2
になるような「取り出す」メソッドって何がいいですかね。
extractがよさげなんだけどコンピュータだと元を残しつつ取得みたいな使われ方が多いような気がして。
deleteのついでに戻り値で返すおまけ機能にしちゃうのがいいのかな。

239 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 19:21:50 ]
remove

240 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 19:47:17 ]
removeAndGet



241 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 19:52:19 ]
takeとかpickとか

242 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:27:31 ]
Pythonではpopになってる

243 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:43:27 ]
remove

244 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:03:39 ]
fetch

245 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 21:20:30 ]
getとremoveでいいんじゃね。

そもそも1つのメソッドに複数の機能を持たせようとする時点で(ry

246 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:06:11 ]
>>238
そういう「行数を節約するだけのメリットと引き換えに」、「処理の直感性を犠牲にする」
処理が本当に適切かどうか再考すべきだと思う。

直感的に把握できないような処理だから命名に困るんだよ。

247 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:06:28 ]
それってスタックを実装したいってだけなのでは?
popだろ

248 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:08:51 ]
さらに一般化して splice

249 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:27:55 ]
rubyならslice!かな。

しかし、別に「複数の機能」でも「行数の節約」でもないだろ。
列から一つ取り出したいってのは、実世界でもあって不思議じゃない。
だからこそ、各言語で同じような基本処理が定義されているわけで。

250 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:31:46 ]
popAtだな。



251 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:35:11 ]
>>249
そう言われるとそんな気もしてきちゃうすまんw
では気を取り直して

PullOut
Steal

252 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:36:29 ]
インデックスで指定だからAtを付けた方がよかったか。

253 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 23:37:22 ]
Atとか付けるとSmalltalkやObjective-Cを思い浮かべてしまう

254 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 00:35:51 ]
GoTo() は禁止ですか?

255 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 13:16:03 ]
スペースで桁をそろえる件だけど、コードコンプリートの1版と2版を見比べるとおもしろいのにね。

256 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 13:24:10 ]
>255
流石に同じモノ2冊は敷居が高いなあ

257 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 21:30:55 ]
>>255
どうおもしろいのか教えてください

258 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 12:46:01 ]
>>255
1版は持ってる.
そろえないほうがいいって書いてあった.
2版はどう変わってるの?

259 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 18:52:30 ]
>>258
2版は持ってる.
そろえないほうがいいって書いてあった.

260 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 19:11:19 ]
わー、おもしろい



261 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 16:36:04 ]
255の笑いのツボはどうなっているんだ。

262 名前:デフォルトの名無しさん mailto:sage [2008/10/21(火) 13:14:32 ]
class Hoge {
public:
  Fuga* XXXFuga(Fuga* pFuga)
  {
    Fuga* temp = pFuga_;
    pFuga_ = pFuga;
    return temp;
  }
private:
  pFuga_;
};

XXXFugaですが、XXXの部分はどんな動詞がいいですか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<204KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef