X



クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001ネミ子
垢版 |
2017/05/07(日) 18:01:52.03ID:akuyRduv
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part27
http://echo.2ch.net/test/read.cgi/tech/1476572490/
0618デフォルトの名無しさん
垢版 |
2019/02/21(木) 01:08:06.67ID:8z2yw4hD
>>612-616
調べたところ象限という表現が近いと思います(多分
いちばんパッと見て馴染みやすそうなquadrantにしようかと思います
ありがとうございました
0619デフォルトの名無しさん
垢版 |
2019/02/21(木) 01:10:15.03ID:8z2yw4hD
>>617
形と言うか
中央を基準に左上・左下・右上・右下の4つに分類したいと言った感じでしょうか
0620デフォルトの名無しさん
垢版 |
2019/02/21(木) 01:38:37.65ID:Cw68EtgL
>>618
象限っていうのは普通は四つに分けた一つのことなんですよw
第〇象限って高1で習ったでしょ。

数学の言葉を使うなら╋は直交座標とかデカルト座標とか言う
でも冗長だと思う
0621デフォルトの名無しさん
垢版 |
2019/02/21(木) 07:00:50.05ID:bbSqDcsj
SWOT分析みたいな分割図の区画を描くようなイメージなら象限とquadrantでいいんじゃない
0622デフォルトの名無しさん
垢版 |
2019/02/21(木) 12:19:33.00ID:MDhOI6F5
象限て久しぶりに思い出したわ
たまには為になるなおまえらもw
0641デフォルトの名無しさん
垢版 |
2019/03/22(金) 00:02:52.39ID:GmT3YQ5y
え?proc_maxも最大プロセス数みたいな感じじゃないの
バッチ処理やバッファリングのサイズ上限みたいなイメージってこと?
むしろRunLimitあたり「魔法のランプは3回まで」みたいな回数限度で、同時であるニュアンスが落ちすぎだと思ってたわ
まあいくつか挙がった内から近いものがあれば選べばいいとは思うが
0642デフォルトの名無しさん
垢版 |
2019/05/26(日) 22:08:46.49ID:33DPLG/U
ボタンをn回押すと実行されるイベントがあります。
(回数nは別途指定します)
n回押されたとき、その時刻を設定ファイルに記録するのですが
そこに使うキーとなる文字列をお願いします

foo: 1970-01-01T09:00:00
みたいな感じです
0646デフォルトの名無しさん
垢版 |
2019/05/26(日) 22:56:58.41ID:edjd2fQa
>>645
ボタンn回押すのが何かのコマンドか何かであるなら、それを名前に使った方がいいね。

そういうのじゃなく、本当に純粋にボタンがn回押されたタイミングを記録したいだけだとすると
なかなか適切なのが思いつかんなあ
0648デフォルトの名無しさん
垢版 |
2019/05/26(日) 23:27:10.28ID:edjd2fQa
>>647
そういう漠然としたものに名前を与えろっていうのも無理筋な気がするw
まあOnEveryNthClickとか?
0649デフォルトの名無しさん
垢版 |
2019/05/26(日) 23:45:04.89ID:33DPLG/U
あーなるほど
n回ってのをそのまま名前にしちゃうという手があったか
いちいち特定回数みたいな日本語に直して考えてたわ
0650デフォルトの名無しさん
垢版 |
2019/06/22(土) 18:33:43.34ID:2XZpmmZY
Goldfish.AzureGoldfishIsMany() //アジュール色の金魚が多いときに真
のように、形容詞 + クラス名と同じ名詞 + is + 形容詞 という命名の関数があったとして
クラスと関数でGoldfishがダブってるわけだけどどうしてる?
たとえば関数名のほうを消して Goldfish.AzureIsMany() にできるか?みたいな
0653デフォルトの名無しさん
垢版 |
2019/06/22(土) 20:06:21.99ID:xRFWxHvZ
このケースだからそう思うのかもしれないけど、
IsManyを判定できる関数がこのクラスに居るのが違和感
Goldfishの集まりを持っているクラスが他にあって(水槽とか)
FishTank.ContainsManyAzureGoldfishes()
みたいな感じで定義したい
Goldfishクラスには
Goldfish.IsAzure()
関数があればよいはず

まあ単に X.IsAandB() みたいな命名でよいケースもあるような気もする

>>650
「多い」の実装がどうであるかは呼び出し側は気にしたくないんだろう多分
0654デフォルトの名無しさん
垢版 |
2019/06/22(土) 21:43:09.00ID:cXBWskr/
金魚が「Goldfish」なことに違和感。w
直訳?
誰や、んな訳語をつくったんは!
0655デフォルトの名無しさん
垢版 |
2019/06/22(土) 22:34:20.22ID:6TuhVHB2
>>650
まあ既に指摘されてるけど、集まりを評価する関数を要素のクラスに持たせるのが
そもそも変だねw

何か事情があるにしても、HasManyAzureとかIsRateOfAzureHighでいいんじゃないか。
むしろいちいちGoldfishと断る意味が分からん
0656デフォルトの名無しさん
垢版 |
2019/06/22(土) 23:38:09.91ID:2XZpmmZY
>>653
なるほど、同じ文意になる文章がないかと考えてみるのは良さそう

>>651>>655
形容詞(この場合はAzure)に対してmanyと言って良いのか悩んだんだ
多いのはあくまでも金魚の方だから
0657デフォルトの名無しさん
垢版 |
2019/06/23(日) 00:50:33.60ID:9mBYoRL1
>>656
azureは他の色と同様名詞の用法もあるみたいだよ
辞書的には不可算名詞みたいだけど、たぶん他の色と同じように場合によってはs付けても大丈夫だと思う
0660デフォルトの名無しさん
垢版 |
2019/07/18(木) 01:58:50.63ID:+One8JDO
>>658
変更検出の方法に基づいて考えたい気がする。
変更時に通知が出るなら >659 とかでいいけど、原本を控えておいて比較によって検出するような形だとまた違ってきそう。
0662デフォルトの名無しさん
垢版 |
2019/07/18(木) 20:10:35.28ID:C3Rw/RHH
>>660
検出するのがオブジェクト自身なら、その方法をクラス名に含めないほうがええやろ。
実装の詳細はできるだけ隠すべき。

>>661
それは、Dataオブジェクトの外側の何かやろ。
0663デフォルトの名無しさん
垢版 |
2019/07/19(金) 12:28:07.16ID:tVWqD6XF
変更を検知する方法を外部に提供するのか
自分で検出して自分でなにかするのかによって違うわな
0666デフォルトの名無しさん
垢版 |
2019/07/20(土) 10:21:23.54ID:eNhk7IpQ
そもそも値の違いを検出できるクラスを作ること自体が設計としてまずいんじゃねえの
0669デフォルトの名無しさん
垢版 |
2019/07/20(土) 18:43:27.60ID:5OyZG+Pc
それならDataWithChangeDetectionかな
スレチで我慢してたけどDataとChangeDetectorを同じクラスにするのは微妙だから、名前にWithとか入って微妙感が出るのは自然な成り行きと思う

>>665
changeには名詞と動詞があるからそうも読めるけど、change detectionという一般名詞があるから誤読されにくい
クラス名が現れるべき文脈でメソッド名と間違われることなんて実際少ないから、混同への配慮よりも俺なら英語として自然であることを選ぶ
0670デフォルトの名無しさん
垢版 |
2019/07/20(土) 21:10:11.95ID:ZHuBK9XQ
質問者もやる気なさそうだから真面目に考えるだけ無駄だと思うよw

だいたい、こんな命名をそのクラスが必要になる背景も、
「検出」の具体的な意味も示さずにやれとか言う時点で何をかでしょ
0672デフォルトの名無しさん
垢版 |
2019/07/20(土) 22:42:52.16ID:ZHuBK9XQ
普通ではないね
むしろ勘違いオブジェクト指向っぽいw
その多態、本当に必要か?
いらないでしょw
0675デフォルトの名無しさん
垢版 |
2019/07/21(日) 17:18:39.47ID:akwJwcuK
>>672
モデルビュー的なことをするならそんなにおかしくもない。
「多態」が目的じゃないから。
0676デフォルトの名無しさん
垢版 |
2019/07/21(日) 18:11:15.08ID:XeVeiVX2
>>675
どう考えても多態そのものだと思うけど、
それはともかく特殊な条件付けたら何でも正当化できるよw

もとの質問にそんな条件なんか付いてないのは自明でしょ
0677デフォルトの名無しさん
垢版 |
2019/07/21(日) 18:22:06.33ID:rq1ZgCT5
>>671-672はイチャモンつけたいだけだからスルーでいいよ
そのために
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。
の注記あるんだし
0679デフォルトの名無しさん
垢版 |
2019/07/21(日) 20:14:42.06ID:XeVeiVX2
>>677
これもういうの何度目?
この手の馬鹿は自分もそのお仲間である自覚が皆無のおめでたい馬鹿
0680デフォルトの名無しさん
垢版 |
2019/07/21(日) 20:20:53.26ID:XeVeiVX2
ついでに言えば、こんな過疎ってるスレ(もう今ではこの板の大半のスレがそうだが)で
「スレ違いガー」なんてそれこそ言い掛かりでほとんど無意味。

お前こそ他人にイチャモン付けたいだけだろ馬鹿w
今時2chにいるなんてもういい歳こいてるんだろうから、もうちょっと合理的かつ柔軟に考えたらどうなのかね
派生的な話題を許容しても誰も困らないだろう。
0681デフォルトの名無しさん
垢版 |
2019/07/21(日) 20:38:37.46ID:O7YQRZ5I
混乱の元
そんなに気に入らないならまずは次スレを立てる時にテンプレから外しな
0682デフォルトの名無しさん
垢版 |
2019/07/21(日) 21:02:34.97ID:BTE59XxR
新参か?
実際に設計の善し悪し含めた話OKの命名スレが立っても、そのスレは全く活用できなかったという
実績が確実に残ってるのよね

そこんとこ分からない程度のオツムなら、設計の善し悪しなんか話すオツムなんか当然ないんだからやめとけ
0683デフォルトの名無しさん
垢版 |
2019/07/21(日) 21:21:18.61ID:/atv33Bt
そりゃ名前聞きたいだけなのに生半可な知識の奴に設計ガーとか言われても困るだけ
バカな言い合いで賑わうぐらいなら過疎ってた方がまだマシだよ
0685デフォルトの名無しさん
垢版 |
2019/07/21(日) 23:43:53.38ID:pXk5HZg7
>>682
意味が分からない。
自分で自分が何をっているのか理解しているのか

>>683
こういう馬鹿、言ってる傍から自分で自分の言ってることに矛盾してる自覚もないのな。
0687デフォルトの名無しさん
垢版 |
2019/07/21(日) 23:57:14.14ID:pXk5HZg7
>>672みたいなレスは

- 誰かの参考になる可能性がある
- 2chの現状を考えれば誰の迷惑にもならない

のに対して>>677みたいのは

- 誰の役にもたなない
- それどころか一部の人間の気分とスレッドの雰囲気を悪くする


どちらが悪質で罪深いか言うまでもない。
毎度のことだけど、2chに限らずネットではこの程度のことに考えも及ばないバカに限って
本人は自分が正しいと思い込んでる

なぜならこういう馬鹿は内省的になるのが怖くて仕方がなく、
内省的な自分を抑圧する手段の一つとして他人に言い掛かりをつけている自分に無自覚だからだ
0688デフォルトの名無しさん
垢版 |
2019/07/22(月) 00:00:52.53ID:hNRqRxaR
そんでこれが一番重要なことだが、このスレのテンプレにもあるような
ローカルルールは、結局その手の馬鹿に体のいい言い訳を与えているだけ。

「他人を批判したい」という卑しいだけの動機を抑圧して「正しいこと」に変える欺瞞のね
0689デフォルトの名無しさん
垢版 |
2019/07/22(月) 00:26:05.35ID:IpNCwwZ3
こーゆーのずっと繰り返してpart28なのよ
んでご希望の設計込みのスレ立てて分離したけど、そっちに居着かないのよ
言い出しっぺもね

どうしても納得いかないならもう一回スレ立てたら?
このスレのルールを変えようとすることだけが目的の馬鹿がまた来たなあとしか思わんね
どうせまた消えるに1億ペリカ
0690デフォルトの名無しさん
垢版 |
2019/07/22(月) 01:04:48.79ID:q7HwWXHn
>>687
> - 誰かの参考になる可能性がある
ない。
他人のやりかたを「勘違いオブジェクト指向」呼ばわりするようなクソ発言が参考になんかなるか。

> - 2chの現状を考えれば誰の迷惑にもならない
実際に迷惑なんだよ!
0693デフォルトの名無しさん
垢版 |
2019/07/22(月) 11:07:52.75ID:lH1dF0Hx
>どうせ使われないだろうけど
スレ内ヒット>>692

>どうせ
スレ内ヒット>>488>>689>692

>使われない
スレ内ヒット>>102>>103>>692

>だろうけど
スレ内ヒット>>375>>574>>692

どの言葉も話の流れにヒットしないんで>>692が創造主になってるんだが
皮肉の元が真面目に分からん
0694デフォルトの名無しさん
垢版 |
2019/07/22(月) 11:25:07.67ID:3CfIT26m
混乱の元
そんなに気に入らないならまずは次スレを立てる時にテンプレから外しな(どうせ使われないだろうけど)
0695デフォルトの名無しさん
垢版 |
2019/08/05(月) 16:15:13.02ID:jMrkLRxI
1つだけ有効な値が入っていてそれ以外は0になる配列ってなんて命名すればいいだろうか?
例えば、
{0, 0, 1, 0, 0, 0, 0} これはOK
{0, 0, 0, 0, 0, 0, 1} これもOK
{0, 0, 0, 1, 1, 0, 0} これはNG
0696デフォルトの名無しさん
垢版 |
2019/08/05(月) 16:43:27.68ID:17zIidUO
それがナニを意味するか、それを名前に入れないと意味ないのでは?
それがナニを意味するかはあんた以外誰も分からないのでは?
0698デフォルトの名無しさん
垢版 |
2019/08/05(月) 19:12:10.92ID:1szj/JJ7
既に有効が1つある状態で別の場所が有効になるケースはあるの?
{0, 0, 1, 0, 0, 0, 0} これが
{0, 1, 0, 0, 0, 0, 0} これになるケース
それとも最初はゼロフィルで1度有効の場所が決まれば不変?
0699デフォルトの名無しさん
垢版 |
2019/08/05(月) 19:28:02.73ID:8/n/eZGp
「1つだけ有効な値がある配列」ではなく
「ある処理に対して有効な配列」という方向での命名はどう?
0701デフォルトの名無しさん
垢版 |
2019/08/05(月) 21:45:25.18ID:ayYyoEKb
意味ないってそんなの
定数1に名前を付けろと言ってるのと同じだから

だから、1がナニを意味するのか分かんなきゃ名前なんか付けようがないだろうにw
0702デフォルトの名無しさん
垢版 |
2019/08/05(月) 23:37:04.95ID:Cfuto8Vp
具体的な用途がないと型に名前を付けられないというのも乱暴な話だな
QueueやTupleのような単純なデータ構造だってそれが役に立つなら型と名前が与えられるべき
そういう場合、用途は変数名が表せば充分
0703デフォルトの名無しさん
垢版 |
2019/08/06(火) 00:17:40.47ID:SOS5SX0N
何その意味不明な意見
0704デフォルトの名無しさん
垢版 |
2019/08/06(火) 00:22:42.23ID:SOS5SX0N
この人、QueueやTupleって名前が何の意味も表してないと思ってるのかな
0705デフォルトの名無しさん
垢版 |
2019/08/06(火) 00:32:01.73ID:NH2VvLYA
表してるに決まってるだろ
逆に聞くが質問者がいう配列は何も表してないと思うのか?
0706デフォルトの名無しさん
垢版 |
2019/08/06(火) 00:35:14.30ID:SOS5SX0N
だから何でそうなるのw
何かを表しているはずだと思ってるからそれを言ってくださいと言ってるんでしょw
もう大丈夫かマジw
0707デフォルトの名無しさん
垢版 |
2019/08/06(火) 00:38:42.21ID:SOS5SX0N
だからね、「一週間の日数を表す定数の名前を付けてくれ」って質問はありだけど、
何を意味してるのか伏せたまま「定数7に名前を付けてくれ」って質問に意味があるとか
思うわけ?

あるわけないじゃんww
0708デフォルトの名無しさん
垢版 |
2019/08/06(火) 00:50:02.95ID:aM52vrol
少なくとも、あれは、one-hot encoding という立派な名前のついた状態表現方法。
ただの数字と一緒にするのは無知。
0709デフォルトの名無しさん
垢版 |
2019/08/06(火) 01:02:24.48ID:NH2VvLYA
特定の問題を解く上で便利なデータ構造があるなら、それが695の説明ほぼそのままの抽象度の高いものであってもいいだろ
自然物や既知の概念に縛られる必要はない
データの特性が明かされている以上、定数7の例示は過度の単純化をしていて相応しいとは思えない
抽象性の高いままに案を提示してくれている人々に対して「意味ない」とは俺は思わん
0710デフォルトの名無しさん
垢版 |
2019/08/06(火) 08:53:55.01ID:3T7QkgRF
695です

このデータ構造は、OneHot〇〇って命名するのが適切そうなのでそうします
ありがとうございます

>> 698
そのケースはあります
0711デフォルトの名無しさん
垢版 |
2019/08/06(火) 10:53:14.30ID:SOS5SX0N
>>708
だから特定の問題領域で何と呼ばれるか、そんなの何の意味もない
彼の問題領域でそれが何を意味しているか、それが重要。
当たり前でしょ

そもそも配列がベクトルか、行列の列や行を表しているのか、数列か、
あるいは数学的な意味は持たないただの集合か、状況によって
配列そのものがまったく違った意味を持つ

もちろん抽象度が高い配列の特定の状態(例えば全部の要素が規定値とか)が
汎用的な意味を持つ場合もあるだろうし持たない場合もあるだろうが、
普通に考えればこんなのか後者に決まってる


>>709
抽象度が高いのが悪いとか誰も言ってないの。
重要なのは何を意味しているのかだと何度言わせるの
大丈夫かマジで
0713デフォルトの名無しさん
垢版 |
2019/08/06(火) 20:33:38.37ID:SN9O18fE
>>711
名前の提案ができないのなら、黙ってればいいんだよ。
できない言い訳をするスレじゃないから。
0715デフォルトの名無しさん
垢版 |
2019/08/07(水) 20:46:09.76ID:JnBdotvz
抽象的と言うか
外から見た役割で命名しろというのは大前提も大前提だろ

ただ、その内部処理を書いてるときとか
実装べったりな命名やら、類似処理で使える汎用的なプリフィクス/サフィックスやらが欲しいときも当然あるさ
0716デフォルトの名無しさん
垢版 |
2019/08/19(月) 09:15:28.15ID:xlQPwL5+
質問者は
OneHotXXX
↑こういうのの「OneHot」という言葉が欲しかったんでしょうに。
0717デフォルトの名無しさん
垢版 |
2019/08/19(月) 09:47:08.91ID:OAPxNX3i
そんなのなら素直にValidってやった方いい
意味不明より抽象的な方がミスリードの心配がなく情報量も多いから
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況