クラス名・変数名に迷ったら書き込むスレ。Part28 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1ネミ子
垢版 |
2017/05/07(日) 18:01:52.03ID:akuyRduv
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part27
http://echo.2ch.net/test/read.cgi/tech/1476572490/
2019/03/21(木) 07:20:00.18ID:Ru1ssq7b
短くしたいなら漠然とした一般的な部分は削除候補になるので
max_parallel
2019/03/21(木) 08:10:15.75ID:u3u8nbsq
>>633
RunLimit
2019/03/21(木) 09:29:35.49ID:O21Dd4dp
外部からこの処理やってねって頼まれる場合なら
AcceptLimit?
2019/03/21(木) 09:57:23.13ID:wzenmx5C
>>635
これ
calcXXXみたいなもん
2019/03/21(木) 22:47:37.75ID:udXu0zXR
>>636
parallelはちょっと読みすぎやろ。
2019/03/22(金) 00:02:52.39ID:GmT3YQ5y
え?proc_maxも最大プロセス数みたいな感じじゃないの
バッチ処理やバッファリングのサイズ上限みたいなイメージってこと?
むしろRunLimitあたり「魔法のランプは3回まで」みたいな回数限度で、同時であるニュアンスが落ちすぎだと思ってたわ
まあいくつか挙がった内から近いものがあれば選べばいいとは思うが
642デフォルトの名無しさん
垢版 |
2019/05/26(日) 22:08:46.49ID:33DPLG/U
ボタンをn回押すと実行されるイベントがあります。
(回数nは別途指定します)
n回押されたとき、その時刻を設定ファイルに記録するのですが
そこに使うキーとなる文字列をお願いします

foo: 1970-01-01T09:00:00
みたいな感じです
2019/05/26(日) 22:36:33.72ID:MKDuMAe+
button_pushed
じゃアカンの?
2019/05/26(日) 22:43:11.01ID:kcdU4Ge6
>>642
> foo: 1970-01-01T09:00:00
> みたいな感じです
それでなんの問題があるんだ?
あとスレ違いだし
2019/05/26(日) 22:43:36.79ID:33DPLG/U
ありがとう
特定回数という意味はあえて入れないということかしら
2019/05/26(日) 22:56:58.41ID:edjd2fQa
>>645
ボタンn回押すのが何かのコマンドか何かであるなら、それを名前に使った方がいいね。

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

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

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

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

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

>>661
それは、Dataオブジェクトの外側の何かやろ。
2019/07/19(金) 12:28:07.16ID:tVWqD6XF
変更を検知する方法を外部に提供するのか
自分で検出して自分でなにかするのかによって違うわな
2019/07/20(土) 00:09:53.37ID:5OyZG+Pc
ChangeDetectableData
2019/07/20(土) 09:39:17.20ID:ka1618cW
DetectableなDataをChangeするになってしまわないか?
2019/07/20(土) 10:21:23.54ID:eNhk7IpQ
そもそも値の違いを検出できるクラスを作ること自体が設計としてまずいんじゃねえの
2019/07/20(土) 11:37:02.08ID:iXVafCep
そこの議論は一応スレチなので…
Angular詳しくないけどこういう枠組みはあるもよう
https://qiita.com/lacolaco/items/523d96ddbfe55c4e6949

で、実質は Change-Detectable な Data かも知れないけど、
周りからは DataChangeDetector とでも呼ばれるべきという考え方はあるかもしれない
2019/07/20(土) 14:56:22.84ID:kkJ7q95a
もう素直に DataWithChangeDetect でよくね?
2019/07/20(土) 18:43:27.60ID:5OyZG+Pc
それならDataWithChangeDetectionかな
スレチで我慢してたけどDataとChangeDetectorを同じクラスにするのは微妙だから、名前にWithとか入って微妙感が出るのは自然な成り行きと思う

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

だいたい、こんな命名をそのクラスが必要になる背景も、
「検出」の具体的な意味も示さずにやれとか言う時点で何をかでしょ
2019/07/20(土) 22:33:32.11ID:TGp7aH1H
普通の実装ならDetectableを継承したDataになるはず
2019/07/20(土) 22:42:52.16ID:ZHuBK9XQ
普通ではないね
むしろ勘違いオブジェクト指向っぽいw
その多態、本当に必要か?
いらないでしょw
2019/07/21(日) 15:05:16.00ID:CumP8Uxr
全ての品番と型式が対になったリスト
型はC#のDataTableです
2019/07/21(日) 16:59:41.32ID:/atv33Bt
>>673
品番はキーだろうから普通にModelsとかModelNumberとかでいいんじゃね
2019/07/21(日) 17:18:39.47ID:akwJwcuK
>>672
モデルビュー的なことをするならそんなにおかしくもない。
「多態」が目的じゃないから。
2019/07/21(日) 18:11:15.08ID:XeVeiVX2
>>675
どう考えても多態そのものだと思うけど、
それはともかく特殊な条件付けたら何でも正当化できるよw

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

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

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

>>683
こういう馬鹿、言ってる傍から自分で自分の言ってることに矛盾してる自覚もないのな。
2019/07/21(日) 23:54:23.20ID:akwJwcuK
他人をバカにしたいだけのヤツは、天に召されていただきたいものだ。
2019/07/21(日) 23:57:14.14ID:pXk5HZg7
>>672みたいなレスは

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

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

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


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

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

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

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

> - 2chの現状を考えれば誰の迷惑にもならない
実際に迷惑なんだよ!
2019/07/22(月) 04:51:07.44ID:X0h3hmGj
>>687
> 本人は自分が正しいと思い込んでる
ブーメランすぎるw
2019/07/22(月) 08:57:03.38ID:3CfIT26m
>>682
(どうせ使われないだろうけど)って皮肉がわからん新参か?
2019/07/22(月) 11:07:52.75ID:lH1dF0Hx
>どうせ使われないだろうけど
スレ内ヒット>>692

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

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

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

どの言葉も話の流れにヒットしないんで>>692が創造主になってるんだが
皮肉の元が真面目に分からん
2019/07/22(月) 11:25:07.67ID:3CfIT26m
混乱の元
そんなに気に入らないならまずは次スレを立てる時にテンプレから外しな(どうせ使われないだろうけど)
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
696デフォルトの名無しさん
垢版 |
2019/08/05(月) 16:43:27.68ID:17zIidUO
それがナニを意味するか、それを名前に入れないと意味ないのでは?
それがナニを意味するかはあんた以外誰も分からないのでは?
2019/08/05(月) 18:58:37.11ID:kCWOwKEP
>>695
array_valid_only1

それっぽい単語を並べるしかないのでは?
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度有効の場所が決まれば不変?
2019/08/05(月) 19:28:02.73ID:8/n/eZGp
「1つだけ有効な値がある配列」ではなく
「ある処理に対して有効な配列」という方向での命名はどう?
2019/08/05(月) 21:18:13.38ID:RYVjF+lB
>>695
論理回路がらみでone-hotっていう用語があるよ。ググって。
701デフォルトの名無しさん
垢版 |
2019/08/05(月) 21:45:25.18ID:ayYyoEKb
意味ないってそんなの
定数1に名前を付けろと言ってるのと同じだから

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

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

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

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

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

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


>>709
抽象度が高いのが悪いとか誰も言ってないの。
重要なのは何を意味しているのかだと何度言わせるの
大丈夫かマジで
2019/08/06(火) 15:23:01.65ID:dzuMs9n7
>>708 で終了だろ
何をグダグダ言ってるんだよw
2019/08/06(火) 20:33:38.37ID:SN9O18fE
>>711
名前の提案ができないのなら、黙ってればいいんだよ。
できない言い訳をするスレじゃないから。
2019/08/06(火) 21:44:11.23ID:U5iXBkFD
勤勉な無能という奴よ
2019/08/07(水) 20:46:09.76ID:JnBdotvz
抽象的と言うか
外から見た役割で命名しろというのは大前提も大前提だろ

ただ、その内部処理を書いてるときとか
実装べったりな命名やら、類似処理で使える汎用的なプリフィクス/サフィックスやらが欲しいときも当然あるさ
2019/08/19(月) 09:15:28.15ID:xlQPwL5+
質問者は
OneHotXXX
↑こういうのの「OneHot」という言葉が欲しかったんでしょうに。
717デフォルトの名無しさん
垢版 |
2019/08/19(月) 09:47:08.91ID:OAPxNX3i
そんなのなら素直にValidってやった方いい
意味不明より抽象的な方がミスリードの心配がなく情報量も多いから
2019/08/19(月) 09:58:34.23ID:kG35/yIv
>>716
いきなりどうした?
既に質問者(と思われる人)は
> このデータ構造は、OneHot〇〇って命名するのが適切そうなのでそうします
> ありがとうございます
ってレスしてるよ
2019/08/29(木) 01:46:53.52ID:YxRLkEWl
Analysisが長いのでAnalにしようと思います
2019/08/29(木) 03:45:05.82ID:ReiuIvlQ
pencilが長いのでpenisにしようと思います
2019/08/29(木) 07:54:05.23ID:7UT2vx+j
penisが長いのでinsertしようと思います
2019/08/29(木) 09:51:10.58ID:seNfV/n6
insertまでできるんだったらmagnumを使おうと思います
723デフォルトの名無しさん
垢版 |
2019/09/04(水) 05:26:03.52ID:eJy7OAMp
商品であれば取扱開始日と終了日まで、アカウントであれば有効化日と無効化日を表す変数名で悩んでます。
今はとりあえずstartdateとenddateにしてるんですが、どんな名前にするのがいいでしょうか?
validateddateとinvalidateddateのほうがいいですか?
2019/09/04(水) 07:08:03.51ID:wWcw57/J
>>723
regist_date、cancel_dateとか
2019/09/04(水) 09:29:15.85ID:ZdLs6UcV
registなんて英語はない
2019/09/04(水) 10:00:04.36ID:TVYSsDEa
Active, Disable?
取扱開始日と有効化日、終了日と無効化日を同じ変数名で?
それなら商品の方が微妙になるか
2019/09/04(水) 10:06:44.94ID:OgTLBF5E
期間っていう構造体かクラスのメンバーじゃないの?
728デフォルトの名無しさん
垢版 |
2019/09/04(水) 10:28:30.97ID:EZkqGWkS
>>723
いつでもそうできるわけじゃないだろうけど、開始日/終了日を一組にしてしまえば、

DealingSpan.First
DealingSpan.Last

とかできるはず。
2019/09/04(水) 12:46:50.07ID:1D9rv4MD
下手に微妙な名前をつけるよりstartdate, enddateで一般化したほうがいろいろ具合がいいという側面もある
個人的にはbegindateの方が好き
型が日付なのか日時なのかわからない名前は嫌
2019/09/04(水) 14:03:19.01ID:TYvZQs3/
beginning dateだな
2019/09/04(水) 14:12:20.29ID:HTJbgiFI
次に読んだ時に、何が初まるの? とはないだろうか?
2019/09/04(水) 19:40:52.08ID:S+RlT6ue
>>723
終わりのほうはexpired一択。
始まりはなんだろ?対応させるならsubscribedかな?

ただの開始と終了じゃなく、なんか有効期間的な範囲だったら。
733デフォルトの名無しさん
垢版 |
2019/09/04(水) 19:46:59.42ID:EZkqGWkS
>>732
現時点で過去とは限らないのでそういうのはどうかと思うよw
2019/09/04(水) 21:15:39.20ID:1D9rv4MD
難しいな
他動詞なら過去分詞を受動態として無造作に使えるけど、自動詞では、時制が過去かどうかはともかく、完了相が前に出るということだろうか
expire dateでは文法的におかしいし、expiringも進行相だし、素直にexpiryかexpiration dateしかないのか
2019/09/04(水) 23:09:38.87ID:S+RlT6ue
>>733
>>734のいう感じで、過去分詞のつもり。
原則、命名で過去形なんか使わん。
自動他動は気にしなかったけど、そこはどっちでもよくない?

英語は言うほど詳しくないんだけども。w
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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