クラス名・変数名に迷 ..
[2ch|▼Menu]
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
今のはメラではない、メラゾーマだ!
みたいなド迫力な名前お願いします。

271:デフォルトの名無しさん
07/07/26 01:18:05
弱くなってんじゃねーか

272:デフォルトの名無しさん
07/07/26 01:24:46
perl ping tail

273:デフォルトの名無しさん
07/07/26 01:53:35
DemonsMayFlyOutOfYourNose

274:デフォルトの名無しさん
07/07/26 02:05:06
>>273
中身が未定義だらけで呼び出したくなくなるような名前だw

275:デフォルトの名無しさん
07/07/26 08:55:09
>>264
馬鹿どもの相手はするな、こいつらには理解できん。

276:デフォルトの名無しさん
07/07/26 10:17:49
(・∀・)

277:デフォルトの名無しさん
07/07/26 12:43:16
>>275
馬鹿は264でしょw
264が言ってるのはただの「ありがちなバグ」に過ぎず、
246のような事をした場合、不可避な問題というわけではない。

278:デフォルトの名無しさん
07/07/26 14:16:09
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。

>>1すら読めない馬鹿はレスしないでください><

279:デフォルトの名無しさん
07/07/26 18:41:27
またお前さんかw

俺に言わせれば、そもそもの「目的」に還元して物事の是非を考えられない
>>278のような馬鹿こそ出入り禁止にしたいよw

>>246以降の話題が誰かに不利益をもたらしたかのかよw
>>246以降の話題が誰の利益にもなってないか?

利益を得たものが仮にいたとして、そいつはこのスレにとって「場違いな奴」と断言できる?

280:デフォルトの名無しさん
07/07/26 19:18:20
設計の善し悪しは議論禁止だけど、
設計まずそうだなって直感的にわかるとやっぱり言いたくなるんだよな

281:デフォルトの名無しさん
07/07/26 19:39:24
>>279
還元の使い方を間違えてる

282:デフォルトの名無しさん
07/07/26 19:51:02
>>281
どこがどう間違ってるのか具体的に言ってみろよw

論理的な反論ができないから、
重箱の隅を突くような指摘をして話題を逸らそうとしているんだろ?

>>281みたいな空気の読めない馬鹿が1人いるだけで本当に疲れるよねw
話の流れと関係のない茶々を入れて有益な議論を一々妨害しないで欲しいな。
この手の輩は本人は気付いてないだろうけどね(多分、一生気付かない)

283:デフォルトの名無しさん
07/07/26 20:02:08
目的や意図を聞き出すのは名前を考える上で必要不可欠だろうけど
そうするとどうしても設計議論になっちゃうな

284:デフォルトの名無しさん
07/07/26 20:05:11
>>282
そもそもスレ違いのくせに有益とか自画自賛してんじゃねーよwwwwwwwwwwwwwwwwwwwww

285:デフォルトの名無しさん
07/07/26 20:06:40
>>283
だから設計議論のどこが悪いんだよ。
それが誰かの利益になっているのなら何の問題もないだろ?

286:デフォルトの名無しさん
07/07/26 20:10:04
設計の良し悪しを議論するスレなら幾らでもあるので
こんなスレはブックマークから消してどこへなりと行くほうが楽しいよ
君にとっても

287:デフォルトの名無しさん
07/07/26 20:11:39
このスレは今から「絶対上がる株を紹介するスレ」に変わりました

288:デフォルトの名無しさん
07/07/26 20:12:47
>>287
それはとても有益だな
きっと>>285は参加する事だろう
俺はせんけど

289:デフォルトの名無しさん
07/07/26 20:27:04
変数名でnum_hogeとhoge_numって使い分けてる?

num_hogeだとnumber of hoge(≒総量)
hoge_numだとhoge number(≒インデックス)

と解釈してるんだけど。

290:デフォルトの名無しさん
07/07/26 20:33:19
俺は語順に意図を込めたりしないな

291:デフォルトの名無しさん
07/07/26 20:37:15
hoge_i

292:デフォルトの名無しさん
07/07/26 20:39:02
一度、それを考えてみようと思ったけど、今は、量を表すときは、count使って逃げてるな俺は。




293:デフォルトの名無しさん
07/07/26 20:41:09
似たような役割の変数がいくつかあればこんなふうに書くことが多いかなぁ
num_abcd
num_bcde
num_cdef
インテリセンスで見つけやすいから・・・ってだけなんだが

294:デフォルトの名無しさん
07/07/26 21:06:51
意味不明な俺様省略は、それで得られるゲイン(タイプ時間と指の労力の削減?)
よりも失われるもの(コードの自明性または可読性)またはコスト(それを補うために
費やされる時間と思考力)の方が高くつくと思うけどね。

不思議と何年やっててもこの事実に覚醒(そんな大げさなものでもないが)して
学ばない奴が多いよね。

295:デフォルトの名無しさん
07/07/26 21:16:19
意味不明な俺様省略は、それで得られるゲイン(タイプ時間と指の労力の削減?)
よりも失われるもの(コードの自明性または可読性)またはコスト(それを補うために
費やされる時間と思考力)の方が高くつくと思うけどね。

不思議と何年やっててもこの事実に覚醒(そんな大げさなものでもないが)して
学ばない奴が多いよね。

296:デフォルトの名無しさん
07/07/26 21:18:50
BitBltのことかあああああああああああああああ

297:デフォルトの名無しさん
07/07/26 21:19:27
creatのことです

298:デフォルトの名無しさん
07/07/26 21:20:05
って、まぁ、そうやって付けた俺のコードは識別子名長すぎでそれはそれでぱっと見
見苦しいな。


299:デフォルトの名無しさん
07/07/26 21:23:47
MSも.NETからは原則省略禁止の方向だしな。

300:デフォルトの名無しさん
07/07/26 21:26:00
短くて判りやすい単語を探し出す能力
長くてもよい変数名を判断する能力

301:デフォルトの名無しさん
07/07/26 22:37:28
VC#だと一文字目からいきなりインテリセンスが動くから長くても快適

302:デフォルトの名無しさん
07/07/27 02:30:01
生きててもろくなことがない

           (>^o^)
 \('A`)×('A`)/ ( / \('A`)/
   | |   | |  / く    | |
   <  > / >      / \

                        独身男性
                        URLリンク(etc6.2ch.net)

303:デフォルトの名無しさん
07/07/27 06:15:31
>>289
意味を語順に依存させる事はしないな。取り違えやすいので。

それからnum(要素数)とi(インデックス)はオリジン(最小値)が違う。
混同すると境界エラーになりやすいから必ず意識的に区別するようにしてる。

304:デフォルトの名無しさん
07/07/27 06:25:33
>>1から始まる2chを使っといてなんだけど、
1から始まるインデックスはなんかキモいんだよなぁ

305:デフォルトの名無しさん
07/07/27 11:03:28
>>303
なるほどこういう流儀もあるのか。
とはいえオリジンが 1 であるものを取り扱うことって滅多にないな。

306:デフォルトの名無しさん
07/07/27 12:01:59
総量はCount.インデックスはIndex

自分のソースは InnerRectangleWithRootDeviceMarginAreaHandler
こんな名前のクラスばっかりだ・・・('A`)

307:デフォルトの名無しさん
07/07/27 12:18:40
それはさすがに長すぎるなぁ
詳細はコメントに書いたほうがいいと思う

308:デフォルトの名無しさん
07/07/27 12:29:46
コメントは書かない主義なんです

309:デフォルトの名無しさん
07/07/27 12:30:40
なんだ
ネタか

310:デフォルトの名無しさん
07/07/27 12:35:56
ネタではないと思うよたぶん。
俺もまれにそういうクラスを作っちゃったりする。

まあでも、そこまでジュゲムジュゲムになるなら、
名前空間使えるなら適当な名前空間に放り込むとかインナークラスにするとかした方がいいかもね。

311:デフォルトの名無しさん
07/07/27 13:11:51
インデックスはHogeIndex
要素数はHogeCount
固定な長さはHogeLength

312:デフォルトの名無しさん
07/07/27 17:24:58
値を外から受け取ってプロパティーにセットする(普通のセッター)んじゃなくて
値を内部で計算してプロパティーにセットするメソッドは何にすればいいの?
setHoge()だと、前者と混同してしまうし…

313:デフォルトの名無しさん
07/07/27 17:47:32
calc系ね

314:デフォルトの名無しさん
07/07/27 18:04:08
calcHoge()でいいんじゃね?

315:デフォルトの名無しさん
07/07/27 18:41:52
なんか頭悪そうな印象があるcalcXXX


316:デフォルトの名無しさん
07/07/27 18:42:21
あるある

317:デフォルトの名無しさん
07/07/27 18:47:21
別にcalcが頭悪そうとは俺は少しも思わないが、
名前をそうするのなら計算結果を返り値で返すようにした方がいいと思う。

で、>>312の回答としては、UpdateXXでいいんじゃない?

318:デフォルトの名無しさん
07/07/27 18:52:47
>>317
自分もそれに賛成

319:デフォルトの名無しさん
07/07/27 19:05:26
setHogeのオーバーロードじゃだめなのかと思ったが、
引数取らないのかな。
それならrefreshとかupdateか。

320:デフォルトの名無しさん
07/07/27 20:37:54
date で「年月日」を意味するように使ってきたんだけど、「月日」の場合はどうしようかな?
どうでも良さげなんだけど、ちょっと使い分けたくなってきたんだ。
知恵をお願いします。

321:デフォルトの名無しさん
07/07/27 20:44:17
リファクタリングして年月日のdateをdateYMDに、月日をdateMDに、とかどう?

322:デフォルトの名無しさん
07/07/27 21:20:51
>>321
それ採用させていただきます。

323:デフォルトの名無しさん
07/07/28 00:42:26
変数名が素直に決まらない、そんなときがリファクタリングどき。

324:デフォルトの名無しさん
07/07/28 12:58:40
リファクタリングというのは、むしろ(暫定的につけた名前が)本決まりに
なったときに行うものではないの?w

325:デフォルトの名無しさん
07/07/28 15:17:54
リファクタリングの1つである名前の変更は、だな。

326:名無しさん@そうだ選挙に行こう
07/07/29 10:14:51
時々ここでインスピレーションを頂いている俺様がきましたYO!
今日は、マクロスイッチの名前で相談なんだけど
週明けから、Visual Studio 2005に、VC6で作った膨大なMFCのライブラリの
移植作業に取り掛かるんだけど、なかなか良いマクロスイッチ名が思い浮かびません
誰か閃いてください。

327:名無しさん@そうだ選挙に行こう
07/07/29 10:28:01
まあ君が「エスパー依存型」の日本語しかかけない奴だということはよく分かった。

しかしこういう>>326みたいな人間の困るところは、自分の文章が読み手のESP能力を
前提としている、という自覚が皆無な点で、だからこうやって人にそのことを
指摘されてもおちょくられてるとか勝手に勘違いして逆切れしたりするんだよね。

328:名無しさん@そうだ選挙に行こう
07/07/29 11:20:12
中身が全く無くスレの趣旨にも合わない典型的な糞レス乙。

329:名無しさん@そうだ選挙に行こう
07/07/29 12:13:28
XXX_VC6_MFC_COMPATIBILITY

330:名無しさん@そうだ選挙に行こう
07/07/29 12:14:27
自分で決めないでも既にありそうな飢餓

331:名無しさん@そうだ選挙に行こう
07/07/29 13:19:34
マクロスイッチ?

332:デフォルトの名無しさん
07/07/29 14:07:10
ピタゴラスイッチ?

333:名無しさん@そうだ選挙に行こう
07/07/29 15:48:18
アルゴリズム体操?

334:名無しさん@そうだ選挙に行こう
07/07/29 15:52:21
>>326
そのマクロスイッチでどういう状態を切り替えるの?

335:名無しさん@そうだ選挙に行こう
07/07/29 16:37:33
_326_WO_KOROSU_SUICCHI


336:デフォルトの名無しさん
07/07/29 21:03:16
dropTableAll
dropAllTable
メソッド名として
どっちがベターですか?

337:デフォルトの名無しさん
07/07/29 21:07:46
どっちも意味不明だと思いますが。。

338:デフォルトの名無しさん
07/07/29 21:11:28
ウチの会社では dropTable("ALL") などという訳の判らないリファレンスが降りてくるから困る

339:デフォルトの名無しさん
07/07/29 21:11:43
>>336
何をするメソッド?

340:デフォルトの名無しさん
07/07/29 21:20:26
すべてのテーブルをドロップする: DropAllTables
「All」という名前のテーブルをドロップする: DropTableAll


341:デフォルトの名無しさん
07/07/29 21:24:09
dropTable();//一つのテーブルをドロップ
dropTableAll();//全部のテーブルをドロップ
自分はこんな風にしてる

342:デフォルトの名無しさん
07/07/29 21:25:11
テーブルのすべてをドロップする: DropWholeTable
ドロップって何?

343:デフォルトの名無しさん
07/07/29 21:26:09
SQL

344:デフォルトの名無しさん
07/07/29 21:26:49
サクマ式?

345:342
07/07/29 21:33:07
テーブル単位の操作なのか。
じゃ>>342は見当違いだったな。スマソ

346:デフォルトの名無しさん
07/07/29 23:02:45 0
エンコード(UTF-8やEUC-JP)を代入する変数は
encodeですか?encodingですか?

347:デフォルトの名無しさん
07/07/29 23:04:05 0
名詞: encoding
動詞: encode

348:デフォルトの名無しさん
07/07/29 23:05:43 0
>>347
ありがとうございました
じゃあ時々名詞的にエンコードと言っているのはジャップが馬鹿なんですね

349:デフォルトの名無しさん
07/07/30 05:07:03
まあ、英語にも kimono って動詞があるくらいには日本人が馬鹿なんじゃない?

350:デフォルトの名無しさん
07/07/30 05:11:03
      ___    ━┓
    / ―\   ┏┛
  /ノ  (●)\  ・
. | (●)   ⌒)\
. |   (__ノ ̄  |
  \        /
    \     _ノ
    /´     `\
     |       |
     |       |

           ___   ━┓
         / ―  \  ┏┛
        /  (●)  \ヽ ・
       /   (⌒  (●) /
       /      ̄ヽ__) /
.    /´     ___/
    |        \
    |        |

351:デフォルトの名無しさん
07/07/31 00:03:27
登録日時を保存するカラム名にいつも迷う
registDateTimeにしてるけどなんか冗長な気がして
何かいいのない?

352:デフォルトの名無しさん
07/07/31 00:08:05
構造体、クラス、テーブルに
シンプルにDateだのTimeだのがあったら普通タイムスタンプだとおもわね?

区別する必要があるんだったらごめん

353:デフォルトの名無しさん
07/07/31 00:13:06
多少冗長でもやっぱり意味は明示されてたほうがいいと思うよ。

354:デフォルトの名無しさん
07/07/31 00:15:02
むしろそれを冗長と感じる感覚が理解できない。
冗長とは情報が重複していて無駄に長いこと。
重複してないし無駄に長くもないじゃん。

355:デフォルトの名無しさん
07/07/31 00:26:52
データベースだと、date型とかtime型とかあったりするし、
そういう意味で冗長なんじゃないのかなあ。

356:デフォルトの名無しさん
07/07/31 00:28:05
それだけ見ればそうだろうがね。

357:デフォルトの名無しさん
07/07/31 22:33:59
>>351
つ regist > register

resist という単語はあるが、registerという単語はないので。

358:デフォルトの名無しさん
07/07/31 22:39:53

説明逆じゃね

359:デフォルトの名無しさん
07/07/31 22:39:54
registerはあるがな

360:デフォルトの名無しさん
07/07/31 22:42:50
>>357はたぶんスペイン語とかスワヒリ語

361:デフォルトの名無しさん
07/07/31 22:45:45
うん。すげーはずかしいな俺。

resist という単語はあるが、registという単語はない

と言いたかったんだ。

362:デフォルトの名無しさん
07/07/31 22:49:11
いや言いたいことは分かったからおk

363:デフォルトの名無しさん
07/07/31 23:08:41
MVC構造とかで作るときに、コントローラのクラス名なんにする?
-Controllerとか、-Ctrlとか
だと、WindowsにTreeCtrlとかなんやかんやあって被るので
嫌なんだけど。
(インスタンス名だって、xxxCtrlとかだと、ウインドウコントロール
なのか、もしくはそれ以外の物理的または
制御を担うコントローラなのかの区別が付かない・・

364:デフォルトの名無しさん
07/08/01 02:04:10
Ctrlって書いてあったら普通Controlと解釈するから
ControllerをCtrlと表記するのはやめた方がいいと思う

365:デフォルトの名無しさん
07/08/02 07:47:45
略すなバーロー

366:デフォルトの名無しさん
07/08/02 07:48:51
ber low

367:デフォルトの名無しさん
07/08/02 18:45:16
var6でおk

368:デフォルトの名無しさん
07/08/03 08:15:20
バーはアンダーバーにしよう。

_6

369:デフォルトの名無しさん
07/08/03 12:40:48
あー、でもローはノイズだから省略して…

_

370:デフォルトの名無しさん
07/08/03 13:20:36
ポロロッカで逆流する水の速度を時系列で格納しておく配列の名前をお願いします。

371:デフォルトの名無しさん
07/08/03 13:34:54
prws_chart

p:pororoca
r:reverse
w:water
s:speed

372:デフォルトの名無しさん
07/08/03 14:05:30
略すなバーロー

373:デフォルトの名無しさん
07/08/03 17:21:41
よくドロー系のアプリに実装してある
四角形や円や線を描く時にShiftキーを押しながらだと
正四角形や水平な線が描ける機能の名前がまったく見当付きません。
よろしくお願いします。


374:デフォルトの名無しさん
07/08/03 17:30:16
制限つき描画ってことでRestrictiveDrawとか。

375:デフォルトの名無しさん
07/08/03 17:36:15
ConstrainedDraw を推薦します。

376:デフォルトの名無しさん
07/08/03 17:42:02
stdauxのauxってどういう意味なんでしょう?


377:デフォルトの名無しさん
07/08/03 17:42:36
ごめん英辞郎で調べたらでてきた

AUX
【略-2】 =auxiliary
補助装置{ほじょ そうち}

378:デフォルトの名無しさん
07/08/03 18:22:49
stdauxなんてあるのかよ。って思ってググったら無くはないんだね。
ところでstdauxってどこにつながってんの?

379:デフォルトの名無しさん
07/08/03 18:30:59
ヤボなこと聞かないで

380:デフォルトの名無しさん
07/08/03 18:45:36
>>373
なんかよくよく読むとよくわからない質問だなあ。

質問は、そういう機能をなんと呼ぶべきか、なんだよねえ?

メソッドの名前なら普通にDrawRegularPolygonとかDrawCircleで済むわけだし。

なら当然日本語でいいわけだ。

「正規化の強制(補正)機能」とか「非扁平の強制(補正)機能」とかかなあ。

381:デフォルトの名無しさん
07/08/03 18:52:42
それに対するフラグやメニューアイテムオブジェクトを格納する変数の名前を聞いてるんだろ
日本語でいいんだったら日本語でもいいだろうけど

382:デフォルトの名無しさん
07/08/03 18:56:52
少なくとも373の文章にはそんなこと書いてないけど。

>>381のような解釈はもはや「意訳」じゃなくて、控えめにいってESP、
ありていに言えばただの妄想だよ。

383:デフォルトの名無しさん
07/08/03 19:45:03
擦れの内容考えればそれぐらいの推論しろよwww

384:デフォルトの名無しさん
07/08/03 19:55:09
難癖付け君まだいたのか。

385:デフォルトの名無しさん
07/08/03 20:40:34
ある程度推測しろという意見には異論はないが、
曖昧な質問(質問になってないこともあるが)をすれば、

何の名前を聞いてる?変数?関数?クラス?
それの役割は?どういう機能を持ってる?どういう実装をした?

というようなレスが返ってくるのは目に見えてるから、
はじめから必要な情報は提供するべきだと思うが

前から思ってたんだが、質問時のガイドラインみたいなものは無いのか

386:デフォルトの名無しさん
07/08/03 21:04:26
あるよ。
URLリンク(www.redout.net)

387:デフォルトの名無しさん
07/08/03 21:09:16
ガイドラインのようなものは「最初から救われている人間しか救わない」
つまりガイドラインが仮に客観的に合意可能な類の合理性を備えているとしても、
それが読者の対象として想定しているタイプの人間はガイドラインなぞ読まないし、
読んでも理解して実践しない。

だから意味ないよ。

ガイドライン作る奴の達成感や他人を制御している、という妄想を満足させる以上には。

388:385
07/08/03 22:17:35
完全なガイドラインでなくとも>>373のような説明の下手な質問者のために、
質問者の意図が伝わり易くなるようなヒントがあると良いと思う

389:デフォルトの名無しさん
07/08/04 18:54:34
再帰的に空のディレクトリを削除する関数の名前は?
とりあえずdeleteEmptyDirRecursiveにしたんだけど

390:デフォルトの名無しさん
07/08/04 19:15:18
そんな関数必要ないだろ

391:デフォルトの名無しさん
07/08/04 19:18:52
ほんとだ…
気づかなかった
何しようとしてたんだ俺は

392:デフォルトの名無しさん
07/08/04 19:26:26
DEDR

393:デフォルトの名無しさん
07/08/04 19:27:30
いややっぱりいるわ
rmdir -p
だと最初に一番深いパスを指定しないといけないから。
トップのパスを指定して削除したいんだよ
それとも他にいい方法ある?

394:デフォルトの名無しさん
07/08/04 20:48:27
トップのディレクトリだけでいいんなら
findかなんかでファイル有無テストして
rmしちゃえば?

395:デフォルトの名無しさん
07/08/04 21:18:37
deleteEmptyDirRecursively

396:デフォルトの名無しさん
07/08/04 21:24:07
特定の環境でいるかいらないかはこのスレ的にはどうでもいいな。
389のいう機能がまったく荒唐無稽ならともかく、そんなことはないのだから。

名前はDirectory.DeleteEmptiesとかDeleteEmptyDirectoriesとかにして、
列挙値を引数で渡して削除方法を指定するようにしたらどうかな。

無理にメソッド名に削除方法を盛り込むと無駄に長くなりそうだ。

397:デフォルトの名無しさん
07/08/04 23:06:59
ファイルエントリとのマッチ条件を保持するクラスは何にしますか?
条件を設定して
matchメソッドでパス渡して判定する感じのクラスです

398:デフォルトの名無しさん
07/08/04 23:22:06
matchCondition

399:デフォルトの名無しさん
07/08/04 23:22:08
そのまんまMatchConditionとか。

400:デフォルトの名無しさん
07/08/04 23:26:22
保持しているものがマッチ条件なら、
マッチ条件を思わせる名前しかありえないとおもうが

401:デフォルトの名無しさん
07/08/04 23:28:16
.NETのPredicate<T>デリゲートは洒落てると思った
>>396に適用するのは不適切かもしれないけど

402:デフォルトの名無しさん
07/08/04 23:28:29
FileShowEntryFilter

403:デフォルトの名無しさん
07/08/04 23:29:45
ファンクタのことだったりしてね?<>>401

404:デフォルトの名無しさん
07/08/04 23:29:58
シンプルに(XX)Judgeとか(XX)Evaluatorでいいんじゃない?

ところでファイルエントリって何?
ググるとjavaの用語みたいだけどようわからん。

405:デフォルトの名無しさん
07/08/04 23:30:29
ディレクトリエントリなら分かるけれども

406:デフォルトの名無しさん
07/08/04 23:40:19
ありがとうございます
fileMatchConditionにします
>>405
そうですね

407:デフォルトの名無しさん
07/08/04 23:48:11
用語もなにもそのままファイルのエントリでそ

408:デフォルトの名無しさん
07/08/05 04:40:16
>>389
removedirs

409:デフォルトの名無しさん
07/08/05 08:12:07
メモ帳的なアプリで起動すると前回のファイルが自動的に開いて
書き込み・修正を行うと一定間隔で保存され
閉じるときのも保存される、ロード・セーブという概念のないアプリはなんて名前がいいですか?
スクラッチパッド?

410:デフォルトの名無しさん
07/08/05 08:13:44
メニュー・ツールバー・コマンドラインでの保存ができないだけであって
「セーブできないアプリ」などというとニュアンスが違う希瓦斯

411:デフォルトの名無しさん
07/08/05 08:40:41
自動保存されるメモ帳

412:デフォルトの名無しさん
07/08/05 09:12:11
>>409
黒板、ホワイトボード、ちらうら、落書き帳、等々

適当でイインじゃまいか

413:デフォルトの名無しさん
07/08/05 12:36:30
DirectRefrectiveNotepad

414:デフォルトの名無しさん
07/08/05 12:37:38
ごめんrとlを間違えた!
DirectReflectiveNotepad

415:デフォルトの名無しさん
07/08/05 12:41:48
>>409
電子粘土板

416:デフォルトの名無しさん
07/08/05 12:48:01
『データとコードが癒着した、利用価値の低いアホなエディタ』

(※ 要は問答無用でデータが自動保存されるドキュメントエディタであれば
必要十分なはずで、ファイルという概念をユーザーから隠蔽する必要があるとは
俺には思えないんだが。。)


417:デフォルトの名無しさん
07/08/05 12:56:35
付箋紙みたいなやつ?

418:デフォルトの名無しさん
07/08/05 14:38:36
>>416
>>1

419:デフォルトの名無しさん
07/08/05 16:32:44
粘着掲示板 -> PersistenceBBS

420:デフォルトの名無しさん
07/08/05 16:33:43
すまん間違った
PersistentNotePad

421:デフォルトの名無しさん
07/08/05 20:08:00
ループカウンタの名前お願いi,j,k以外で

422:デフォルトの名無しさん
07/08/05 20:22:47
何をカウントするんだよ

423:デフォルトの名無しさん
07/08/05 20:29:44
taro,jiro,saburo

424:デフォルトの名無しさん
07/08/05 21:49:38
LoopCounter1,LoopCounter2,LoopCounter3


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

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