クラス名・変数名に迷ったら書き込むスレ。Part20
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/07/29(金) 21:32:01.00命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part19
http://hibari.2ch.net/test/read.cgi/tech/1293201229/
0084デフォルトの名無しさん
2011/08/22(月) 13:59:58.820085デフォルトの名無しさん
2011/08/27(土) 04:40:13.03はーまじはー
0086デフォルトの名無しさん
2011/09/02(金) 02:50:23.14CreateかLoadにするか迷ってます
0087デフォルトの名無しさん
2011/09/02(金) 03:15:40.650088デフォルトの名無しさん
2011/09/02(金) 03:28:18.750089デフォルトの名無しさん
2011/09/02(金) 09:46:35.380090デフォルトの名無しさん
2011/09/02(金) 23:39:04.370091デフォルトの名無しさん
2011/09/03(土) 09:13:19.780092デフォルトの名無しさん
2011/09/14(水) 10:07:17.60なんて言えばいいか、非侵入型のメンバ関数を集めたクラス?
class xxx // ←これ
{
const std::wstring & GetName(void * pTarget) const;
void Print(void * pTarget, const std::wstring & s);
int Hoge(void * pTarget, int foo, int bar);
};
int data;
xxx xxxInstance;
int dataHoge = xxxInstance(&data, 2, 3);
0093デフォルトの名無しさん
2011/09/14(水) 16:00:38.58いまいち掴めないんだが、xxxのインスタンスはターゲットを使って自己の内部状態を更新するの?
0094デフォルトの名無しさん
2011/09/14(水) 16:43:58.98誤: int dataHoge = xxxInstance(&data, 2, 3);
誤: int dataHoge = xxxInstance.Hoge(&data, 2, 3);
>>93
xxx クラスのメンバ関数の記述次第だが、
xxxInstance はメンバ関数を呼び出した際に、仮引数 pTarget が示す先を更新する可能性がある
xxxInstance はメンバ関数を呼び出した際に、xxxInstance 自身(this)を更新する可能性がある
0095デフォルトの名無しさん
2011/09/14(水) 17:03:26.48う〜む、それはやはりコード中での役割で名付けるべきなんじゃないかなあと思う
集めたから、ってだけでは名付けにくいな
0096デフォルトの名無しさん
2011/09/14(水) 17:38:43.76以下2つの記述は同じ動作を意味している感じ
class Foo
{
const std::wstring & GetName() const;
void Print(const std::wstring & s);
int Hoge(int foo, int bar);
...
};
Foo foo;
foo.Print("てst");
// -----
class xxx
{
const std::wstring & GetName(const Foo * pTarget) const;
void Print(const Foo * pTarget, const std::wstring & s);
int Hoge(const Foo * pTarget, int foo, int bar);
...
};
xxx xxxInstance;
Foo foo;
xxxInstance.Print(&foo, "てst");
0097デフォルトの名無しさん
2011/09/14(水) 19:37:20.12TargetHelperとかTargetExtenderみたいな感じだろうか
009892
2011/09/15(木) 01:32:42.52上記の場合、FooExtenderとか、Foo追加する機能Extenderがいいかもな
ありがとう。とりあえずその線で命名してみる
0099デフォルトの名無しさん
2011/10/05(水) 10:49:54.29そんな名前のメソッドをお願いします。
GetUserIDs(ARecordID)
みたいな。
更新したのニュアンスの英語をどこにつければいいでしょうか。お願いします。
0100デフォルトの名無しさん
2011/10/05(水) 12:45:24.43英文の中なら UserIDs と Updated の間に which を入れる
0101デフォルトの名無しさん
2011/10/05(水) 15:06:11.850102デフォルトの名無しさん
2011/10/05(水) 21:41:35.180103デフォルトの名無しさん
2011/10/05(水) 22:33:48.570104デフォルトの名無しさん
2011/10/06(木) 01:08:19.61でいいだろ
0105デフォルトの名無しさん
2011/10/06(木) 13:24:20.550106デフォルトの名無しさん
2011/10/06(木) 15:25:44.90やっぱ、しっくりくるものなさげですね。>>100みたいな感じにします。
0107デフォルトの名無しさん
2011/10/06(木) 16:14:58.500108デフォルトの名無しさん
2011/10/06(木) 16:23:54.890109デフォルトの名無しさん
2011/10/06(木) 17:45:20.740110デフォルトの名無しさん
2011/10/06(木) 17:57:06.130111デフォルトの名無しさん
2011/10/06(木) 18:00:50.42GetUpdatedByUserIDs(RecordID)ってのも名前に使うときはありなんですかね。
ググってたらそんな感じのがありましたんで。
0112デフォルトの名無しさん
2011/10/06(木) 18:48:33.150113デフォルトの名無しさん
2011/10/06(木) 19:01:37.420114デフォルトの名無しさん
2011/10/06(木) 20:33:47.81よくわからんが、GetModifiersとかGetUpdatersみたいな感じ?
>>110
むしろウンココード量産するタイプの奴はたいてい君のように嘯く
0115デフォルトの名無しさん
2011/10/06(木) 21:20:36.65↓
プログラマ脳による翻訳: ユーザーIDによって更新された"それ"を取得する
現実: ユーザーIDで更新されてください。
0116デフォルトの名無しさん
2011/10/06(木) 21:29:01.49>>104が惜しいくらいであとはセンス無し
0117デフォルトの名無しさん
2011/10/06(木) 21:56:32.16こういう場合、どういうセンスが求められているの?
0118デフォルトの名無しさん
2011/10/09(日) 15:46:05.85○○マネージャーは駄目だっていうけどこの場合マネージャーしか思い浮かばない
0119デフォルトの名無しさん
2011/10/09(日) 16:06:26.070120デフォルトの名無しさん
2011/10/09(日) 17:36:38.55一括管理って、具体的に何をするの?
0121デフォルトの名無しさん
2011/10/09(日) 18:46:08.07実際に確保解放するのをマネージャに任せて
他のリソースが必要なクラスはこのマネージャを仲介して貰う
マネージャは参照数などを管理したり別スレッドで実際の確保解放を行ったりする
0122デフォルトの名無しさん
2011/10/09(日) 20:03:54.01実質何も解決しないけど
0123デフォルトの名無しさん
2011/10/09(日) 20:25:36.91└ Hoge
じゃなくて
Hoge
└ HogeDevice
みたいに、マネージャの方をシンプルな名前にするのは?
0124デフォルトの名無しさん
2011/10/09(日) 20:39:32.12そのマネージャを利用する側のクラスの立場に立てば、
そのマネージャはリソースを持っているかのように見えるわけだ
実際に参照数を管理してるのかどうかは、利用する側にとってはどうでもいい話
もしかしたら実際には参照数以外の別の何かを管理して上手くやっているのかも知れん
スレッドが作られるかどうかも、利用する側には関係ないことなんだろ?
つまり、リソースが必要ならがそのマネージャが持っている事が分かりさえすれば良い
というわけで、単に Resource クラスでいいような気がするが、どうだろう
Resource クラスが別にあって、それを束ねているのなら ResourcePool とか
0125デフォルトの名無しさん
2011/10/10(月) 03:52:59.070126デフォルトの名無しさん
2011/10/10(月) 08:01:33.85そのまま答えろよw
0127デフォルトの名無しさん
2011/10/10(月) 09:28:10.270128デフォルトの名無しさん
2011/10/10(月) 12:36:45.74GCない言語でGCみたいな働きをするクラスが欲しいのかも知れんけど、
ちょっと無理があるんじゃないかと。
参照数を管理する、なんて簡単に言うけどどうやってやるんだろう....
0129デフォルトの名無しさん
2011/10/10(月) 12:52:13.65集中管理する意味は知らないけど別にできなくはない
0130デフォルトの名無しさん
2011/10/10(月) 12:56:12.77そうやって、リリース側を呼び忘れるとw
不穏な設計に付き合わされる日々が待っている、と。
0131デフォルトの名無しさん
2011/10/10(月) 13:08:57.68そのまま英語にしますと
transformedInfomation
translatedInformation
convertedInformation
という辺りが妥当ですが、さすがにちょっと長いです
なので省略したいのですが、後半の Information は Info に略せるとして、
前半は
transed
conved
などとしても、海外の方たちもちゅんと意図をくんでくれるでしょうか
0132デフォルトの名無しさん
2011/10/10(月) 13:26:23.42その変数が100箇所に登場するとかでなければ、変に略す必用ないでしょ。
略すにしても暗号みたいのは却下。
ただでさえ他人の書いたコードなんて暗号なのに、そんな下らない謎解きまでさせるのは勘弁して欲しい。
略すならInformationを丸ごと削る方向で。
translatedとかmodifiedとか。
もちろんこれはローカルのみ可
0133デフォルトの名無しさん
2011/10/10(月) 14:23:26.820134デフォルトの名無しさん
2011/10/10(月) 14:25:31.09> そんな下らない謎解き
つまり、transed や conved などは一般的ではない謎解きレベルということですね
参考になりました
translated にします
0135デフォルトの名無しさん
2011/10/10(月) 14:30:49.410136デフォルトの名無しさん
2011/10/10(月) 16:16:35.52例えば圧縮変換ならcompressedにすればtranslatedやencodedより明確になる
0137デフォルトの名無しさん
2011/10/10(月) 16:51:34.46なるほど、確かにその通りです
ただ、今回の質問の趣旨は
プログラミングの世界で transed や conved が一般的かどうか、というもので、
それを訊く為に仮想的な状況を作って質問しました
素直に最初から 「transed や conved は一般的か」 とだけ質問すべきでした
すいませんでした
0138デフォルトの名無しさん
2011/10/15(土) 09:00:16.830139デフォルトの名無しさん
2011/10/15(土) 10:12:57.780140デフォルトの名無しさん
2011/10/17(月) 19:30:05.18一的な謎解いいと?
0141デフォルトの名無しさん
2011/10/18(火) 22:02:21.78ユーザ登録時とかのフォームです
Entry Form、SignUp Form、Register Fromとか考えたんですが・・・
0142デフォルトの名無しさん
2011/10/18(火) 22:34:19.540143デフォルトの名無しさん
2011/10/18(火) 22:42:36.370144デフォルトの名無しさん
2011/10/19(水) 13:58:22.95�A registration form: 登録フォーム
どちらも同じ用途に使われるけど、「登録フォーム」を問われているんだから�Aだろうね
0145デフォルトの名無しさん
2011/10/19(水) 15:14:43.360146デフォルトの名無しさん
2011/10/19(水) 15:18:35.030147デフォルトの名無しさん
2011/10/19(水) 15:19:46.590148デフォルトの名無しさん
2011/10/19(水) 19:01:54.080149デフォルトの名無しさん
2011/10/19(水) 19:30:27.280150デフォルトの名無しさん
2011/10/19(水) 21:14:40.630151デフォルトの名無しさん
2011/10/19(水) 21:19:00.060152デフォルトの名無しさん
2011/10/19(水) 21:54:19.900153デフォルトの名無しさん
2011/10/20(木) 12:45:31.290154デフォルトの名無しさん
2011/10/20(木) 13:27:10.650155デフォルトの名無しさん
2011/10/20(木) 13:52:58.100156デフォルトの名無しさん
2011/10/20(木) 14:39:11.900157デフォルトの名無しさん
2011/10/20(木) 16:05:58.870158デフォルトの名無しさん
2011/10/20(木) 18:28:03.67ConfirmedFormData: 確認済みフォームデータ
ValidFormData: 有効であるフォームデータ
0159デフォルトの名無しさん
2011/10/22(土) 09:08:49.49みなさまありがとうございました感謝
0160デフォルトの名無しさん
2011/10/24(月) 22:34:58.50・メッセージを受け取り解釈し何らかの動作をするハンドラクラス
・メッセージのタイプを調べそのタイプのメッセージを要求しているハンドラすべてにメッセージをコピーして渡す?クラス
?クラスの名前はメッセージマネージャ以外ではなにが適切ですか?
0161デフォルトの名無しさん
2011/10/24(月) 22:37:37.750162デフォルトの名無しさん
2011/10/24(月) 22:38:38.330163デフォルトの名無しさん
2011/10/25(火) 09:58:05.480164デフォルトの名無しさん
2011/10/25(火) 11:09:49.680165デフォルトの名無しさん
2011/10/25(火) 12:52:19.86これらを総称した場合の呼び方って何でしょうか?
0166デフォルトの名無しさん
2011/10/25(火) 13:01:01.800167デフォルトの名無しさん
2011/10/25(火) 13:10:21.59調べたんですが、英語だと linkage であってます?
0168デフォルトの名無しさん
2011/10/25(火) 14:47:13.360169デフォルトの名無しさん
2011/10/25(火) 15:11:20.20【名詞】【可算名詞】
1
a(鎖の)環(かん), 輪.
b(編み物の)目.
c[通例複数形で] カフスボタン 《★【比較】 「カフスボタン」は和製英語》.
2 (鎖状につながれたソーセージの)一節.
3 結びつけるもの[人]; 連結,きずな,関連 〔with,between〕.
十分じゃねw
0170デフォルトの名無しさん
2011/10/26(水) 00:37:40.59ルールを徹底して一貫性を貫きますか?
�@メッセージサービス サービスクラス
�Aサービスメッセージ サービスクラス
後ろが必ず サービス って付きます。
僕はツール作成の容易さを考慮したくて
読みやすさを犠牲にしました。
みんなの意見が聞きたい
0171デフォルトの名無しさん
2011/10/26(水) 00:40:49.620172デフォルトの名無しさん
2011/10/26(水) 00:43:40.270173デフォルトの名無しさん
2011/10/26(水) 01:02:58.62○○△△サービスクラスってあったら○○と△△が必ず「辞書」みたいなライブラリに存在する
メッセージ+サービス=メッセージングサービスとか造語作る人もいるけど
面倒なのでメッセージは修飾語も主語もメッセージで統一したい
サービスも同じ要領
ツールは設計書に記載してあるクラス名からソースを自動生成するもの
いろんなドキュメントにクラス名やその情報が記載されてある
"似て非なるもの"は厄介
0174デフォルトの名無しさん
2011/10/26(水) 02:03:26.790175デフォルトの名無しさん
2011/10/26(水) 07:16:35.80ひょっとしたら寝たら頭スッキリしてわかるかも、と思ったけど無理だた
0176デフォルトの名無しさん
2011/10/26(水) 08:00:04.45縁のない人はスルーしてw
0177デフォルトの名無しさん
2011/10/26(水) 08:23:13.280178デフォルトの名無しさん
2011/10/26(水) 09:07:55.30説明が下手すぎるって言ってるんだ。
0179デフォルトの名無しさん
2011/10/26(水) 09:09:16.040180デフォルトの名無しさん
2011/10/26(水) 11:05:33.130181デフォルトの名無しさん
2011/10/26(水) 15:11:20.40BYMessage
CZMessageService
(A,B,C:修飾語、X,Y,Z:主語)
てことか?
区切りって何よ?特例って君の裁量で設けていいもんなの?
ルールがあるなら基本それ守れよ。
「辞書」みたいなライブラリって何よ?
複数のドキュメントからソース生成すんの?
どこからツッコんで良いかわからんようになった
もっぺん最初から頭ん中整理しなおしてから質問に来てくれ
0182デフォルトの名無しさん
2011/10/26(水) 19:01:59.89例えば「HogeMessenger」と指定すると、HogeMessengerServiceクラスと、それに関係するソースコードが自動生成されます。
この指定するクラス名について悩んでいます。
仕様上、クラス名のサフィックスとして「Service」を付けることになっていますが、
指定するクラス名が「MessageService」だとすると、実際のクラス名は「MessageServiceService」になってしまい、格好が悪い
同様に、「ServiceMessage」→「ServiceMessageService」になってしまい、二度同じ単語が出てきて格好が悪い
「指定するクラス名の最後が「Service」であれば、実際に作成されるクラスのクラス名のサフィックスに「Service」を付けない」
等の特例を設けるべきでしょうか、それとも設ける必要はありませんか?
自分は特例を設けない方向で考えていますが、みなさんはどうしますか?
という質問なのかな?
■ このスレッドは過去ログ倉庫に格納されています