クラス名・変数名に迷ったら書き込むスレ。Part20
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/07/29(金) 21:32:01.00命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part19
http://hibari.2ch.net/test/read.cgi/tech/1293201229/
0376デフォルトの名無しさん
2011/11/14(月) 06:02:32.85せっかく自演でストレス発散できる板なのに。
0377デフォルトの名無しさん
2011/11/15(火) 15:25:55.170378デフォルトの名無しさん
2011/11/15(火) 15:46:07.36base 64
0379デフォルトの名無しさん
2011/11/15(火) 16:04:54.64Base64やRadix-64ではなくて、
単に10進数と64進数を相互変換するだけの簡単なクラスです。
すみません。
0380デフォルトの名無しさん
2011/11/15(火) 16:14:36.7910進数と64進数を相互変換するだけの簡単なクラスを作ったのだけど、
Base64だとMIMEのBase64と混同してしまうので、何か適当な名前をお願いします!
0381デフォルトの名無しさん
2011/11/15(火) 16:32:20.37からRadixConverterでいいんじゃないの?
0382デフォルトの名無しさん
2011/11/15(火) 16:34:21.470383380
2011/11/15(火) 17:05:32.05>>382
ありがとう。
BaseConverterやRadixConverterだと、汎用性のある基数変換みたいな名前だけど、
作ったのは10進⇔64進という決め打ちで汎用性の無いものだったので、もっとズバッとした名前がいいかなぁと思って。
でも64っていう数字を入れると、Base64やRadix64になって、MIMEのそれと混同してしまうかなと。
Radix64Converterでいいかな。
コード書いてる時間より名前考えてる時間の方が長い。。。
グダグダとスマン。
0384デフォルトの名無しさん
2011/11/15(火) 17:12:39.88コメントに一言入れておけばいい
0385デフォルトの名無しさん
2011/11/17(木) 10:26:18.57枠の中に書いた文字が枠からはみ出ているとか、そういう状態を指す言葉。
辞書を引くとprotrusionという単語が見つかったけど、「はみ出てる」と
言うより「飛び出てる」「ポコッと突き出てる」という感じがしてしまう
のでもっと適切な単語があれば教えてください。
0386デフォルトの名無しさん
2011/11/17(木) 10:48:44.060387デフォルトの名無しさん
2011/11/17(木) 11:30:15.60説明がうまくなくてすみません。
「字数が多すぎて記入欄から何文字かはみ出した」という場合には
確かにoverflow がぴったりですね。
>>385で考えていたのは、郵便番号のような1文字1マスの領域が
ある上に書いた文字が枠よりでかかったりズレてたりして、
上下左右にてんでにはみ出している(最悪、枠から完全に外れてる)
という状況なのでoverflowだと違うかなと。
0388デフォルトの名無しさん
2011/11/17(木) 13:14:36.140389デフォルトの名無しさん
2011/11/18(金) 11:49:00.560390デフォルトの名無しさん
2011/11/18(金) 12:49:50.580391デフォルトの名無しさん
2011/11/18(金) 23:00:12.22エラーコードからエラーメッセージに変換するクラス?
0392デフォルトの名無しさん
2011/11/19(土) 06:56:46.02virtual void Process(Value);
};
class Xxx {
void Process(KeyValuePair element) {
processors.Find(element.Key).Process(element.Value);
}
List<IProcessor> processors;
}
こんな感じのクラス(Xxx)を命名してくれ
俺的には ProcessorSummary なんてどうかと思うんだが
0393デフォルトの名無しさん
2011/11/19(土) 08:52:22.26KVPDispatcher
0394デフォルトの名無しさん
2011/11/19(土) 15:05:53.29コマンドパターンみたいなものだからCommander?
しかし、余計なお世話とは思うけど、KeyValuePairの存在理由が謎。
わざわざ使いにくくしてるだけのような....
0395デフォルトの名無しさん
2011/11/19(土) 15:06:24.81コマンドパターンみたいなものだからCommander?
しかし、余計なお世話とは思うけど、KeyValuePairの存在理由が謎。
わざわざ使いにくくしてるだけのような....
0396デフォルトの名無しさん
2011/11/19(土) 15:10:49.15コマンドパターンみたいなものだからCommander?
しかし、余計なお世話とは思うけど、KeyValuePairの存在理由が謎。
わざわざ使いにくくしてるだけのような....
0397デフォルトの名無しさん
2011/11/19(土) 15:12:11.59コマンドパターンみたいなものだからCommander?
しかし、余計なお世話とは思うけど、KeyValuePairの存在理由が謎。
わざわざ使いにくくしてるだけのような....
0398デフォルトの名無しさん
2011/11/19(土) 15:15:56.49Dictionary使えばいいのに
0399デフォルトの名無しさん
2011/11/19(土) 15:53:53.97map.get(err).inspect(err);
0400デフォルトの名無しさん
2011/11/19(土) 22:13:41.320401392
2011/11/20(日) 02:16:54.12ん?もしかしてC#関連のクラスと勘違いしていないか?
例として出している名前、型名は構造を想像してもらうためのダミーだぞ
>>399
確かに、processors を List 型と書き示したのがまずかったな。型は Map と記した方が正しい
class Xxx {
void Process(Element data) {
processors.Find(data.Type).Process(data);
}
bool AddProcessor(IProcessor newProcessor) {
return processors.Insert(
newProcessor.TargetDataType, newProcessor);
}
Map<DataType, IProcessor> processors;
}
0402デフォルトの名無しさん
2011/11/20(日) 02:47:37.09C#で想像しちゃまずいのか?
C#にあるのと別の働きをするもの?
0404デフォルトの名無しさん
2011/11/20(日) 10:53:58.05お前さ、人に もの聞くのに上から目線か。オナニーでもしてろ
0405デフォルトの名無しさん
2011/11/20(日) 13:07:56.16わざわざ使いづらくしてるだけじゃん。
Element.TypeでMapからIProcessorを引っ張ってくる意味も分からない。
それなら最初からElemetにTypeではなくIProcessorを持たせれば済む。
何がしたいんだろう。
0406デフォルトの名無しさん
2011/11/20(日) 16:39:43.12ご法度
0407392
2011/11/21(月) 04:12:25.43もう少し具体的に書いてみたが、どうだろうか
class Xxx {
ContactCache DetectContacts(Body bodyA, Body bodyB) {
ShapeTypePair stp(bodyA.ShapeType, bodyB.ShapeType)
return narrowPhases.Find(stp).DetectContacts(bodyA, bodyB);
}
bool TryAddNarrowPhase(ShapeTypePair stp, NarrowPhase newNarrowPhase) {
return narrowPhases.TryAdd(stp, newNarrowPhase);
}
Map<ShapeTypePair, NarrowPhase> narrowPhases;
}
0408デフォルトの名無しさん
2011/11/27(日) 15:52:38.23separatorとかdelimiterだとaとbが全く別のデータみたいな言い方だし、なんかないかな?
0409デフォルトの名無しさん
2011/11/27(日) 16:06:15.010410デフォルトの名無しさん
2011/11/27(日) 16:15:01.880411デフォルトの名無しさん
2011/11/27(日) 16:38:05.75メンバアクセス演算子
0412デフォルトの名無しさん
2011/11/27(日) 17:06:29.830413デフォルトの名無しさん
2011/11/27(日) 17:18:12.26member access operator
0414デフォルトの名無しさん
2011/11/27(日) 17:39:19.800415デフォルトの名無しさん
2011/11/30(水) 01:48:24.40タイトルを検索するんだけど、search(word, true) の場合は本文も検索対象に含めるみたいな。
0416デフォルトの名無しさん
2011/11/30(水) 07:29:19.45さっぱりだから、including とか with とかで良いだろとしか言いようが無い
0417デフォルトの名無しさん
2011/11/30(水) 09:30:43.88システム的なものもあって、
出力を安定させる乱数
みたいな名前を付けたいんだが、
ちょっと中ニ病ちっくでかっこいい関数名付けてくれないか
0418デフォルトの名無しさん
2011/11/30(水) 10:04:36.000419デフォルトの名無しさん
2011/11/30(水) 10:50:50.19クライアントコードは分布なんて意識したくない
0420デフォルトの名無しさん
2011/11/30(水) 12:08:04.00attractorField(); //特に意味はない
0421デフォルトの名無しさん
2011/11/30(水) 12:41:14.23静寂せし微乱の数 ();
0422デフォルトの名無しさん
2011/11/30(水) 12:46:23.53GetFluctuatingValue (揺らいでる値を取得)
0423デフォルトの名無しさん
2011/11/30(水) 12:51:43.650424デフォルトの名無しさん
2011/11/30(水) 13:48:47.01int ParticleConvergence();
0425デフォルトの名無しさん
2011/11/30(水) 15:27:59.640426デフォルトの名無しさん
2011/11/30(水) 16:57:19.660427デフォルトの名無しさん
2011/12/01(木) 12:27:00.040428デフォルトの名無しさん
2011/12/01(木) 14:24:11.68//相手は死ぬ
0429デフォルトの名無しさん
2011/12/01(木) 15:59:06.89ユーザーインターフェースとかかな?
0430デフォルトの名無しさん
2011/12/01(木) 16:05:28.580431デフォルトの名無しさん
2011/12/01(木) 17:19:52.73“ignoreId で除外したIDが持つ子も除外“するパラメータ名でいいのないでしょうか?
paramname = true で子も除外、false で指定 ID のみ除外、みたいな感じです。
よろしくお願いします。
0432デフォルトの名無しさん
2011/12/01(木) 17:27:01.940433デフォルトの名無しさん
2011/12/01(木) 17:28:06.800434デフォルトの名無しさん
2011/12/01(木) 17:32:04.79関数名は何?
0435デフォルトの名無しさん
2011/12/01(木) 19:21:32.370436432
2011/12/01(木) 19:25:00.99>>434
getList にしてますが getTree でもいいかなと思ってます。
0438431
2011/12/01(木) 19:41:46.11検討してみて ignoresDescendants 頂くことにしました。
レス下さった皆さん、ありがとうございました。
0439デフォルトの名無しさん
2011/12/02(金) 04:43:31.20基準値以下なら、明るくする関数の名前をお願いします。
function xxx() {
return (lightness > 0.5) ? darken() : lighten();
}
0440デフォルトの名無しさん
2011/12/02(金) 04:57:27.48モニタの輝度調整とかならBrightnessが一般的
0441439
2011/12/02(金) 05:02:45.88失礼しました。
こちらに、輝度(Lightness)とあるので、混同してしまいました;
http://ja.wikipedia.org/wiki/HLS%E8%89%B2%E7%A9%BA%E9%96%93
ようするにHSL色空間のLのことです。
0442デフォルトの名無しさん
2011/12/02(金) 05:22:16.31で、本題のほうなんだけど、安易にadjustとか使いたくなるんだけど、そういうわけにもいかないのかなぁ。
AdjustLightness(threshold) とかで伝わりそうといえば伝わりそうなんだけど
0443439
2011/12/02(金) 05:44:14.48adjustだと、増減値を自分で指定するという感じがしますね。
AdjustLightness(amount)のように・・・
0444デフォルトの名無しさん
2011/12/02(金) 08:22:49.72ちょっと違いますかねぇ。
0445デフォルトの名無しさん
2011/12/02(金) 13:48:47.680446デフォルトの名無しさん
2011/12/02(金) 16:16:35.880447デフォルトの名無しさん
2011/12/02(金) 17:31:03.07applyLightnessAdaptation
0448デフォルトの名無しさん
2011/12/02(金) 20:43:42.56動詞じゃないのを許せるならLightStatとか。
余計なお世話だけど、そういう単純な制御だと、ネガティブフィードバックになってたら
条件が揃えば発振するよねそれw
0449デフォルトの名無しさん
2011/12/03(土) 00:38:22.92分類テーブルと、分類付テーブルの名前をどうしたらいいですか?
categoriesとcategorizationsとなってますが、おかしいですか?
0450デフォルトの名無しさん
2011/12/03(土) 00:49:28.00classesとclassifications・・・なの?
0451449
2011/12/03(土) 00:56:14.70classでもよさそうですね。
ing+sとかで動詞の複数形?にするのはおかしいですかね?
一応名詞を選んでいます。
英語難しいです・・・
categoriesは他のテーブルと関連付けるための情報をもつテーブルで、
categorizationsで、実際にcategoriesと他のテーブルを関連付けしている感じになります。
0452デフォルトの名無しさん
2011/12/03(土) 01:06:43.84reations
0453デフォルトの名無しさん
2011/12/03(土) 01:30:33.020454デフォルトの名無しさん
2011/12/04(日) 10:22:13.00「student」に対する「students」など、
単体クラスを複数管理するクラスをよく作っていたのですが、
「series」って、複数形も「series」で、
「series群」というクラスをどういう名前にすればよいのか困っています。
他の命名規則と合わせて「serieses」という造語を使っておくべきでしょうか?
(「"serieses"」でググるとそれなりには引っかかるのですが)
0455デフォルトの名無しさん
2011/12/04(日) 10:30:45.630456デフォルトの名無しさん
2011/12/04(日) 10:51:29.95Entityとか適当なサフィックス付けて。
0457デフォルトの名無しさん
2011/12/04(日) 11:04:14.84その集合の性質をよく表したクラス名にするのが正解
0458454
2011/12/04(日) 11:56:00.39seriesというクラスが存在して、それを複数管理するクラスなんです。
そして、この「複数のseries」を、関数内で使ったり、
他のクラスがメンバとして持つ、という構造です。
内部では普通の配列や連想配列で管理してますが、使う側には見えない部分で、
arrayやmapという単語をクラス名には付けたくないので、複数形を使っています。
なんか英語としては「series's」が正解なようなのですが、
これをクラス名にしようとするとどうなるのでしょうかね…。
0459デフォルトの名無しさん
2011/12/04(日) 12:06:58.64その目的がはっきりしていれば自ずと適切な名前も決まるでしょ
そして何の目的もなくただ集約してるだけならデータ構造の名前つけるぐらいしかないだろう
0460デフォルトの名無しさん
2011/12/04(日) 12:27:14.00変数の名前なら複数形でいい場合が多いと思うけど。
それが外からリストに見えるのなら〜List、連想配列に見えるなら〜Map、
単なる集合以外の意味を持たないなら〜Collection、みたいに機械的に命名すればいいだけでは?
0461デフォルトの名無しさん
2011/12/04(日) 13:40:02.980462デフォルトの名無しさん
2011/12/04(日) 13:50:29.90object.Do();
これっておかしくないか
objectは三人称単数なんだから
object.Does();
にするべきでは
0463デフォルトの名無しさん
2011/12/04(日) 13:53:59.51命令形のDoだろう。
0464デフォルトの名無しさん
2011/12/04(日) 13:55:56.05メソッドは叙述ではなく命令ですよ基本。
dog.Run()は「ワンコが走ってる」じゃなく、「ワンコ、走れ」。
0465デフォルトの名無しさん
2011/12/04(日) 13:58:51.34ではobject.isValidやobject.GetValueはどう解釈すれば
object、正常であれという命令?
これでは正常化するメソッドに見えてしまいますよ
0466デフォルトの名無しさん
2011/12/04(日) 14:04:06.460467デフォルトの名無しさん
2011/12/04(日) 14:06:15.19>>464 は、メソッドは叙述ではなく命令ですよ「基本」と言ってる
基本じゃない場合もあるんだよ
(たいていの場合は命令で解釈できるから、基本と言っているんだと思う)
>>465 の場合は、一般的には「object は正しい」という述語として
解釈されてきた歴史がある(だから戻り値もたいていは論理値)
一律に「全て命令だ」という訳ではないんだよ
そうやって解釈されてきた歴史的な経緯は知らんが
基本はちゃんと押さえながら、かつ柔軟に解釈していこうよ
0468デフォルトの名無しさん
2011/12/04(日) 14:13:52.340469デフォルトの名無しさん
2011/12/04(日) 14:15:24.26ちなみに、命令じゃなくて普通の動詞として解釈する人もいて、
こちらも別に間違いじゃない
window.createChild (・・・)
window が ・・・という属性の子ウィンドウを作る
命令と解釈するのは、たぶんオブジェクト指向以前の名(伝統)だろうね
0470デフォルトの名無しさん
2011/12/04(日) 16:40:44.78でたらめ言うなゴミクズ
0471デフォルトの名無しさん
2011/12/04(日) 16:42:44.56訂正
> たぶんオブジェクト指向以前の名(伝統)だろうね
たぶんオブジェクト指向以前の名残(伝統)だろうね
0472デフォルトの名無しさん
2011/12/04(日) 17:52:00.61お前は英語分かっていないな。三人称単数現在ってのは
ちゃんとニュアンス持ってるんだよ。
命令形の場合とは違う
0473デフォルトの名無しさん
2011/12/04(日) 17:55:47.70命令形は Be - だよ。
ちなみに get〜 だけはお前の言うとおり
おかしい。これはネイティブも(おかしいと)分かって
るけど、get にしてると思う。
>>469
2番目の意味では、
window.createsChildになる
0474デフォルトの名無しさん
2011/12/04(日) 18:15:59.23object.IsValidも、例えば、"tell whether the object is valid or not"
のような感じの省略表現だと考えることが出来る。
やはり基本は命令表現でしょう。
object.GetValueみたいな形はアクセスメソッド以外では今時あまり使わないと思うけど。
0475デフォルトの名無しさん
2011/12/04(日) 18:19:32.76■ このスレッドは過去ログ倉庫に格納されています