2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

クラス名・変数名に迷ったら書き込むスレ。Part28

1 :ネミ子:2017/05/07(日) 18:01:52.03 ID:akuyRduv.net
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part27
http://echo.2ch.net/test/read.cgi/tech/1476572490/

2 :ネミ子:2017/05/07(日) 18:03:36.48 ID:akuyRduv.net
無関係スレ
設計・命名スレ
http://echo.2ch.net/test/read.cgi/tech/1477368563/

設計から喧々諤々されたい殿方は別スレがございますので、そちらをご利用ください。

3 :デフォルトの名無しさん:2017/05/07(日) 18:17:56.16 ID:/2PQHse0.net


4 :デフォルトの名無しさん:2017/05/10(水) 02:45:04.00 ID:YgxPtTuh.net
データベース的なものを想像して欲しい。
あるデータ群(オブジェクトの配列)を画面出力するとき、出力イベントをフックして

 ・「表示/非表示」を切り替える(単純にreturn falseだけで済むような処理ではない)
 ・「見た目」を切り替える(色変更や予め用意した画像に変更など)

の2つが必要なとき、それぞれどんな単語を使えばいい?
紛らわしくなく、かつ統一感のある関数名にしたい。

上記2つは呼び出すタイミングが微妙に異なるため、一括にはしにくい。
また、出力を切り替えると言っても、実際には個々のオブジェクトに含まれている値やメンバ変数を読み込み、
その設定を適用させるといった内容になる。

5 :デフォルトの名無しさん:2017/05/10(水) 07:56:10.53 ID:oAoKVhQv.net
visibityとstyle

6 :デフォルトの名無しさん:2017/05/10(水) 08:06:31.31 ID:YgxPtTuh.net
ありがとう、それでいく
出社前にスレ確認できてよかった

7 :デフォルトの名無しさん:2017/05/16(火) 21:12:59.38 ID:5gubPtqb.net
通信やファイルへ書込を伴う処理で
一旦変数に代入(書き込み予約)してから、任意のタイミングで確定させて処理したい

確定処理ってupdate? apply? commit? finalize? save?
それとこの場合の代入ってsetでいい?

8 :デフォルトの名無しさん:2017/05/16(火) 21:43:09.50 ID:AGzM1pll.net
もう少し詳しく書かないと何とも状況が分からんね

9 :デフォルトの名無しさん:2017/05/16(火) 22:08:11.06 ID:5HaY8++G.net
むしろ確定の方をsetにした方がいいような…

を確定するの英訳|英辞郎 on the WEB:アルク
https://eow.alc.co.jp/search?q=%E3%82%92%E7%A2%BA%E5%AE%9A%E3%81%99%E3%82%8B

予約、だと自分はreserveをよく使うな…

10 :デフォルトの名無しさん:2017/05/16(火) 22:12:30.84 ID:64KrDfHK.net
stageとcommitかな
でもwriteやsendといった実際の物理的な動作をイメージさせる名前を差し置いてまで強調するようなことだとは俺は思わないけどな
抽象的な名前は基本的に糞

11 :デフォルトの名無しさん:2017/05/16(火) 23:16:14.08 ID:5gubPtqb.net
ReserveFoo()とかが並ぶのか
代入の接頭詞はset、みたいなイメージあると代入にしろ確定にしろ結構離れる感じね


>>10
一応、write()と同じくらいのレベルでsave()を想定してた

12 :デフォルトの名無しさん:2017/05/17(水) 10:22:15.30 ID:vwwaD4yq.net
>>7
その言語でよく使われているORマッパーとか参考にすると
他の人にも理解してもらえそう

13 :デフォルトの名無しさん:2017/05/17(水) 10:24:01.10 ID:vwwaD4yq.net
setかどうかはmodelかviewかによるかな
modelならset

14 :デフォルトの名無しさん:2017/05/17(水) 11:04:25.83 ID:GJ9WSlKV.net
>>7
BufferedFile f;
f.write(data);
f.flush();

BufferedConnection c;
c.write(data); // or c.send(data)
c.flush();

15 :デフォルトの名無しさん:2017/05/18(木) 12:25:59.00 ID:xXCtzo0J.net
Series を列挙する型と、それを格納する変数。
C# だと

enum Series {
 A,
 B
}
Series Series;

とできなくはないけど、別にしたい。
たいていは列挙の方を複数、変数を単数にするんだけど、複数と単数で変化がないものはどうしたもんか。

16 :デフォルトの名無しさん:2017/05/18(木) 12:39:39.31 ID:eX+vCwZM.net
>>15
靴に足を合わせた方がいいと思うよ

型名と変数名が同じだと気持ち悪いという感覚が時代遅れだから、
名前を小細工するより自分の感覚を修正した方がいいんじゃないかしら

17 :デフォルトの名無しさん:2017/05/18(木) 13:22:41.48 ID:nmM7QGeO.net
>>15
型名は大文字から、変数名は小文字から始めればよい

18 :デフォルトの名無しさん:2017/05/18(木) 21:24:31.73 ID:3g1FRJ8u.net
十分にスコープが狭いならsでも別にいいや感

19 :デフォルトの名無しさん:2017/05/19(金) 01:40:19.91 ID:4aXBqFa1.net
1年後に1画面に入らないくらいまで広がっててsってなんだっけー

20 :デフォルトの名無しさん:2017/05/19(金) 02:53:52.81 ID:mnhKNMJ9.net
1画面くらいならそこまで問題にならんだろw

21 :15:2017/05/19(金) 08:38:09.61 ID:mmCvLNpl.net
んー、時代遅れか。
C# の例は挙げたけど、できない言語の場合にどうしようかってのもあったんだがな。
大文字小文字の場合も。
これといった案はなさそうだね。
いろいろ意見ありがとう。

22 :デフォルトの名無しさん:2017/05/19(金) 15:07:17.02 ID:/r/R+k8J.net
>>21
> できない言語の場合にどうしようかってのもあったんだがな。
> 大文字小文字の場合も。

enum SeruesOption {A, B}
SeriesOption series = A

23 :デフォルトの名無しさん:2017/05/20(土) 03:47:13.80 ID:zc92SfK6.net
最初の質問で「できなくはないけど」と言いつつ
「できない言語の場合」って追記するの、ちょっとずるくない?

24 :デフォルトの名無しさん:2017/05/20(土) 09:02:34.55 ID:m4galLui.net
>>23
やり取りを円滑にするために最初に忘れず言おうな、とは思う。

が、ズルくはないだろ。
それで質問者が何か得したわけでもないし、
君が何か論破された訳でもないんだから。

25 :デフォルトの名無しさん:2017/05/20(土) 09:52:00.08 ID:I6OViHCS.net
まあできない言語なら >>16 みたいな回答はないから初めから書いとけ
って言うのは正しいと思う
でももう終わった話だしいちいち蒸し返す意味ない

26 :デフォルトの名無しさん:2017/05/20(土) 09:58:35.64 ID:/WJez+wG.net
言語に関わらず共通のスタイルを使うという発想自体がそもそもの大間違い
郷に入れば郷に従え
C#では型名とプロパティ名に同じ名前を付けることが推奨されていてenumにXXEnumみたいなのは禁止されている
他の言語には違ったルールがある、それに従うだけ
その良し悪しを判断するのはお前でもこのスレでもない

27 :デフォルトの名無しさん:2017/05/20(土) 10:00:30.34 ID:/WJez+wG.net
あとC#ならenumの型名にs付けていいのはビットフラグの場合だけだ

28 :デフォルトの名無しさん:2017/05/20(土) 15:02:41.50 ID:zc92SfK6.net
>>27
そんな違いあるのか。ちょっと面白い

29 :デフォルトの名無しさん:2017/05/20(土) 16:07:08.58 ID:LUvMfIz7.net
型の名前は型自身じゃなくてインスタンスの性質を表しているべきだって
発想かもしれんけど、拡張メソッドの入れ物の静的クラスにExtensionsなんてのもあったりして
ちょっと統一感ないね

30 :デフォルトの名無しさん:2017/05/22(月) 08:56:31.87 ID:zv0b6nGa.net
>>29
インスタンスの性質は分かるけど、型自身の名前って例えばどんなの?

Extensions だって性質を表してるんじゃない?
詳しく表してるとは言い難いけど。

31 :デフォルトの名無しさん:2017/05/22(月) 10:19:43.12 ID:SMVCp6Um.net
The name of a type should express the charactor of not a type itself, but the instance

32 :デフォルトの名無しさん:2017/05/22(月) 23:54:30.25 ID:9Hmi5Lo6.net
確かに、やや低レベルな名前って気はするかな
具体的にどうすればいいかは分からんけど

33 :デフォルトの名無しさん:2017/06/21(水) 16:36:34.47 ID:dvfsnCQH.net
現時点ではスレチだけど、いずれ設定周りの名称に出没しそうなのでご容赦ください。

スタンドアロンのシステムが既に稼働していますが、一部機能をクラウド化して併用する計画があります。
クラウド化してもスタンドアロンの方もそのまま運用を続けます。
いわゆる半クラウド?とでも言うのでしょうか、このようなシステムの場合、
何と呼べばいいでしょうか?

34 :デフォルトの名無しさん:2017/06/21(水) 16:54:36.57 ID:kzV2so42.net
ぐぐったらこんなのが見つかった
https://www.ibm.com/blogs/solutions/jp-ja/what-is-hybrid-cloud/
なんかベタだねw

35 :デフォルトの名無しさん:2017/06/21(水) 18:34:51.54 ID:dvfsnCQH.net
>>34
ありがとうございます。
色々調べましたが、ハイブリッドクラウドとは
パブリッククラウドとプライベートクラウドなどの複数のインフラ周りを
組み合わせた場合に呼ぶようです。
サーバーデータの保全や負荷分散という説明も見ると、
今回のケースに該当するのかというと、う〜ん。。。

36 :デフォルトの名無しさん:2017/07/01(土) 12:23:57.34 ID:41xGfxtK.net
単項検証: SingleFieldValidation
相関検証: MultiFieldsValidation

データベースで行と行を比較する検証や表を超えて検証する場合はなんと言いますか?
日本語と英語の両方ともわからない

37 :デフォルトの名無しさん:2017/07/08(土) 15:58:43.96 ID:FfZt44/H.net
>>36
相関 correlated
行 row または record
表 table

38 :デフォルトの名無しさん:2017/07/15(土) 09:19:26.23 ID:nrvPEg51.net
ちょっと物事を単純化して話しますが
オブジェクトの有効期間を変数として持たせたいんです
リストの中にぶっこんでいって
リストを触る奴がその値によってリストから削除したりをさせたい

このとき、有効期限をどう表現しますか?

色々考えた結果
long lifetime = now + duration;
と初期化しておいて
if (obj.lifetime < now) list.remove(obj);
というふにしました

もっと名前、初期化、運用に他のやり方があったかなと心配しています
名前は単にtime_to_removeでもよかったかなと思ってます

39 :デフォルトの名無しさん:2017/07/15(土) 10:13:38.40 ID:qqsDF0t/.net
クッキーを参考にしたまえ

40 :デフォルトの名無しさん:2017/07/15(土) 10:41:48.41 ID:zuAt7dHe.net
expire

41 :デフォルトの名無しさん:2017/07/15(土) 13:45:28.74 ID:GNjnjteo.net
>>38
有効期限が本当にそのオブジェクトが管理すべき情報なのか、それともそのオブジェクトを使う側が
管理すべき情報なのか、それだけじゃ分からんけど、前者だとして

CreationTime(作られた時)
LifeSpan(寿命)
TimeToLive(余命 CreationTime + LIfeSpan - now)
IsAlive(TimeToLive > 0)

こんだけの情報を持たせた方が扱いやすいかも

42 :デフォルトの名無しさん:2017/07/15(土) 14:31:14.53 ID:nrvPEg51.net
>>39 ありがとうございます見てみます
>>40 expireは既に別のとこで使っておりまして

>>41 もう少し正確にお話すると
class WithLifetime<T> {
public final T org;
public final long lifetime;
WithLifetime(T org, long duration) {
this.org = org;this.lifetime = System.currentTimeMillis() + duration;
}
}
こういうのを
list.add(new WithLifetime<Foo>(foo, TimeUnit.HOURS.toMillis(5)));
こう使ってますね
あくまでlistありきで
list中の生存期間を、listを使う側の都合で勝手に決めてるという
List<Foo> listのままで、Map<Foo, Long> lifetimeみたいなのを併用
っていうのも最初は考えたりもしたんですが、それでいくと
list0, map0, list1, map1, list2, map2みたいな煩雑さがチラついてきますんで
この形式にしました

43 :デフォルトの名無しさん:2017/07/16(日) 03:26:58.87 ID:yo5XpH/o.net
>>42
そのlistを拡張した方がいいんじゃないの
管理対象のobjectは何も知らない方がいい
listを使う側も同期とか以外は知らなくていいくらいに
そしたら汎用でも使える

44 :デフォルトの名無しさん:2017/07/16(日) 12:39:20.68 ID:Jr85n6Sz.net
>>43
ありがとうございます
とても有力な手だと思います

ただ、みなさんも覚えがあるかもしれませんが
こういうコンテナラッパーを気軽に書いても
意外とスッキリしていかねえな、ということです

1) 最初から十分なインタフェースをそろえるのはめんどい(主に指の疲労)
2) だから最初はsize, add, removeくらいで始めるのだが
あとで結局また加筆していくことになる
3) コンテナクラスの理想は中身を知らないこと
でもこういう作りにするとそこに想定が入ることになる
だからと言ってすぐ困りはしないが、そのことに小さい不満が残る
removeExpired()みたいなこともさせたいが、何か不満が残る
それに引数を与えてやりたいが、ここでその引数の名前が難しすぎる
何をどういう基準でremoveしてるかを表現しきるメソッド名も難しい

最後までぐだぐだ申しましてすみません
不満ばかりできりが無いのでこれにて閉じさせてくだしあ

45 :デフォルトの名無しさん:2017/07/16(日) 16:29:38.83 ID:yo5XpH/o.net
Listのextendできない環境なのか

46 :デフォルトの名無しさん:2017/07/17(月) 08:04:36.40 ID:dfDRQ3ag.net
>>44
remove_if(predicate)

47 :デフォルトの名無しさん:2017/07/17(月) 10:09:00.03 ID:U2FIHXXv.net
>>45
もしくはその知恵がないかやりたくない理由があるんだろ
>>44の文章見るとなにか異様にこだわりあるみたいだし

48 :デフォルトの名無しさん:2017/07/18(火) 02:42:58.10 ID:tovqy0R7.net
俺は同じような状況でexpires_onにしたことがある

49 :デフォルトの名無しさん:2017/08/31(木) 08:14:10.71 ID:dCGUN1Rj.net
Optionsみたいに複数形ってクラス名には不適切?

OptionBagか
OptionsBagにすべき?

50 :デフォルトの名無しさん:2017/08/31(木) 08:48:46.76 ID:5u1Eta34.net
Containerとか

51 :デフォルトの名無しさん:2017/08/31(木) 12:53:15.50 ID:+8FXvQ6t.net
>>49
別に複数形でもいいと思うけど、規約か何かで使えないなら
「諸設定」っぽニュアンスがあるようなないような気がするconfigurationにするとか

52 :デフォルトの名無しさん:2017/08/31(木) 14:19:34.74 ID:PxNjJG10.net
OptionSetとかOptionListでいいんでない

53 :デフォルトの名無しさん:2017/08/31(木) 14:54:36.74 ID:iGMaENMY.net
>>52
言語によってはデータ型としてSetやListが用意されていて、その場合はそれらの性質を持っていないのに
そういう名前を付けるのは望ましくない。

54 :デフォルトの名無しさん:2017/08/31(木) 15:58:56.77 ID:sCduGK6O.net
listはともかく、setはちょっときついだろ。
意味が多すぎる。

55 :デフォルトの名無しさん:2017/08/31(木) 18:00:27.66 ID:+8FXvQ6t.net
逆でしょw

>>49が言ってるようなクラスは普通に考えたら
雑多な(型も意味もバラバラの)optionの寄せ集めなんだろうから
あえて何かつけるならsetの方がニュアンス的に近い

56 :デフォルトの名無しさん:2017/08/31(木) 22:46:11.83 ID:uNWxwE2R.net
>>49
そんな再利用性のないもんをクラスにすんな(直球)

汎用的なクラスをつくっといて、
変数名でもって特殊化して運用セヨ

57 :デフォルトの名無しさん:2017/08/31(木) 22:54:08.86 ID:PxNjJG10.net
>>53
継承したら

58 :デフォルトの名無しさん:2017/08/31(木) 23:53:16.30 ID:J2aSRpVx.net
Optionの単数形でも別にいいと思うけどね
各オプションには具体名があるだろうし

責務によってはOptionManager/OptionHandler/OptionContainerみたいなer系も有り
オプションバッグ、オプションセット、オプションリストとかは普段からそういう名前で呼んでも問題ないかどうかに依る
あとは汎用コレクションクラスを使ってList<Option>みたいな選択肢も

59 :デフォルトの名無しさん:2017/09/01(金) 00:29:25.98 ID:5FevI1x1.net
>>58
> List<Option>みたいな選択肢も
だいたい後悔するんじゃね?
ただし、拡張メソッドがあるC#ならなんとか。

60 :デフォルトの名無しさん:2017/09/01(金) 22:02:43.64 ID:bkxV70/L.net
javaはPropertiesクラスがあるから複数でもいい気が

61 :デフォルトの名無しさん:2017/09/20(水) 20:11:34.47 ID:wQDPDBBK.net
ある値と、それに掛け合わされる係数fooがあります。
元の値が500、fooが30だとすると、500の30%アップで650といった具合です。

このとき以下の関数名をお願いします。
(a)そのまま30を返す
(b)0.3を返す(30%→0.3なので)
(c)130を返す(元の値を130%する)
(d)1.3を返す(元の値に1.3をかける)

関数を1つにまとめて、フラグなり呼び出し元で計算するなりしろよ思わないでもないですが、
名前変更以外の修正を伴うので避けたいところ。
ちなみに既存のコードはGetFoo1()、GetFoo2()…という命名になっているので
ちょっとキレそうです。

62 :61:2017/09/20(水) 20:18:55.20 ID:wQDPDBBK.net
>61に追記です。
圧倒的に使用頻度が高いのは(a)の「そのままの値を返す」でした。
ほかは同じくらい、

63 :デフォルトの名無しさん:2017/09/20(水) 21:27:00.99 ID:joxmKzqL.net
>>61
> (c)130を返す(元の値を130%する)
> (d)1.3を返す(元の値に1.3をかける)
申し訳ないが意味わからん

64 :デフォルトの名無しさん:2017/09/20(水) 21:35:02.04 ID:0lMVwAWW.net
>>61
(a) deltaInPercent
(b) delta
(c) multiplier
(d) multiplierInPercent

スレ違いだしたぶん余計なお世話だと思うけど、可能なら「係数」自体を
クラス化した方がいいんだろうね

65 :デフォルトの名無しさん:2017/09/20(水) 22:07:22.07 ID:DOSxYj0U.net
税率、税抜き価格、税込価格、税額みたいに
文脈に応じた名前を付けたほうがいい気がするけど
“〇〇係数”みたいな名前がついてるんじゃないの?

66 :デフォルトの名無しさん:2017/09/20(水) 23:55:11.31 ID:Yucd9rMJ.net
>>61

67 :デフォルトの名無しさん:2017/09/21(木) 00:05:51.85 ID:3yD+3if8.net
>>61
(a) なし
(b) increase rate
(c) なし
(d) increase multiplier

パーセント版はいらんやろ。その場で100倍すればいいじゃん。
どうしてもというなら、末尾に_percentとかつければ。命名としては歪かもしらんけど、わかりやすかろう。

68 :デフォルトの名無しさん:2017/09/21(木) 00:08:16.78 ID:3yD+3if8.net
>>64
deltaは増分であるべき。

69 :デフォルトの名無しさん:2017/09/21(木) 00:33:44.66 ID:ENxlmPyL.net
>>68
だから増分だってw
ほかにもっといい表現があるならよろしく

70 :デフォルトの名無しさん:2017/09/21(木) 01:31:41.29 ID:Y0fSMmUh.net
deltaは差分(足し算の増分)のイメージが強いなあ
x = 500
rate = foo/100 = 0.3 だとして、
delta = rate * x = 150
って感じ

71 :デフォルトの名無しさん:2017/09/21(木) 02:14:32.44 ID:ENxlmPyL.net
お買い物に例えないと算数理解できないデキの悪い小学生じゃないんだからw
正規化された増(減)分って考え方は普通だと思うよw
もともとパーセンテージ自体がそうなんだし

72 :デフォルトの名無しさん:2017/09/21(木) 02:53:51.36 ID:K0No9bcT.net
deltaは差分だよな
係数って意味でdeltaって呼んでるケースーある?

73 :デフォルトの名無しさん:2017/09/21(木) 02:54:50.68 ID:3yD+3if8.net
考えかたはふつうかもしれないが、それをdeltaとは言わん、という話。

74 :デフォルトの名無しさん:2017/09/21(木) 03:03:19.06 ID:K0No9bcT.net
ついでにincrease rateも増加率・伸び率・上昇率みたいな意味だよ
増やすための割合じゃなく、増えた割合って意味が強いから
あんまり適切じゃない気がする

〇〇rateって名前にするのはいいと思うけど
その〇〇として適切な用語は>>61の情報だけじゃ分からん

75 :デフォルトの名無しさん:2017/09/21(木) 08:02:46.22 ID:Lyzqp+ao.net
500 ⇒ 650 にするなら
係数: 1.3
係数(%): 130
増分係数: 0.3
増分係数(%): 30
なので
(a) GetPercentOfIncrementalRate
(b) GetIncrementalRate
(c) GetPercentOfRate
(d) GetRate

76 :デフォルトの名無しさん:2017/09/21(木) 09:58:51.84 ID:PJ3pbPS2.net
>>74
日本語でもだいたいそうだろ。
値の履歴について言うことが多いというだけで、べつにおかしくないんじゃね。

77 :デフォルトの名無しさん:2017/09/21(木) 10:46:54.69 ID:2CEy6KWD.net
>>73
だからそんなことはないって
だから、お買い物のたとえないと算数が理解できない小学生かw

金額だろうが物理量だろうが、正規化された抽象的な無名数であろうが、
増分は増分ですってw

78 :61:2017/09/21(木) 12:06:41.89 ID:36VZaNjA.net
係数の質問者です。みんなありがとう。

リファクタリングしてたのはゲームプログラムでして、
攻撃力アップ、獲得経験値アップ、消費MPダウン、3Dモデルの表示サイズ等で使われてる。
日本語で総称すると何になるんだろう? ……ステータス強化?

百分率くらい自分で計算しろよと言うのは、そのとおりだと思う。自分も強く思う。
関数ポインタ的な使い方をしてる箇所が幾つかあるので関数化されてたほうが都合がいいだろうってのと、
一括置換でいけるだろうとはいえ処理の変更扱いになってしまうので手続き上ちょっと面倒くさい。

とりあえず、
GetFooRateInPercent
GetFooRate
GetFooMultiplierInPercent
GetFooMultiplier
で提案してみます

79 :デフォルトの名無しさん:2017/09/21(木) 12:58:27.56 ID:2CEy6KWD.net
>>78
俺ならrateとmultiplierって何が違うんだ同じじゃないのかと思っちゃうねw

80 :デフォルトの名無しさん:2017/09/21(木) 14:01:30.22 ID:PJ3pbPS2.net
>>79
おまえならな。

ふつうはだいじょうぶ。

81 :デフォルトの名無しさん:2017/09/21(木) 15:27:42.38 ID:2CEy6KWD.net
頭の悪い奴に言ってもしょうがないから質問者にだけ言うけど、
rateとmultiplierはどちらもほぼ同じ意味だから再考した方がいいよ。

もちろん見直す必要があるのはrateの方。
これははっきり言って意味不明だ。

これで通じるのは「税率」のように本体からの上乗せ部分に注目している場合だけで、
水の質量を基準値の何倍にするかって言う場合に「質量乗数」は何倍にするかっていう
倍率だろうなと推測できるが、「質量率」って聞いて[基準値からの増加分]/[基準値]
のことだと分かる人は誰もいないはずだ

82 :デフォルトの名無しさん:2017/09/21(木) 15:54:15.20 ID:2CEy6KWD.net
× 税率
○ 消費税率

83 :デフォルトの名無しさん:2017/09/21(木) 23:14:58.69 ID:K0No9bcT.net
>>78
そういうのだったんか
それならincrease rateでもおかしくないな
バフ・デバフともいうけど日本語の総称はステータス効果かな
自分ならEffectのうち乗算型のやつに.rateや.percentのプロパティつけとく

名前とは関係ないけど
0.3や30%を返すのと1.3と130%を返すのが同居してるのは
個々のeffectを適用する計算の責務がEffect側にあるのか
使う側にあるのか明確じゃない気がしてちょっと気持ち悪いかも

84 :デフォルトの名無しさん:2017/09/21(木) 23:33:51.33 ID:Y0fSMmUh.net
>>81のいうようにrateが曖昧だというのは同意するが、
それに変わるものがdeltaだとやはり違和感がある

相対誤差みたいな気持ちで相対増分(relative delta)とかはどう?

85 :デフォルトの名無しさん:2017/09/21(木) 23:53:17.74 ID:2CEy6KWD.net
>>84
absolute deltaって言っても意味不明だからrelative deltaも意味不明だと思うよw

俺は単にdeltaで問題ないと思うが、どうしても気に入らないなら「上乗せ分」か「変位」かね
辞書みても上乗せ分はぴったりの語が見当たらないから、displacementか

でもdisplacementは1次元の移動量のイメージが強い気がするな

86 :デフォルトの名無しさん:2017/09/22(金) 00:13:26.49 ID:cM2LPeWP.net
あとは俺は冗長だと思うけど「正規化された差分」かね
normalized delta

87 :デフォルトの名無しさん:2017/09/22(金) 00:34:54.94 ID:L886aacT.net
>>84
そもそも増分自体が相対的な感じだし w
30%アップ分をdeltaとか言う奴は今までに見たことないし恐らくこれからもないことを祈るわ

88 :デフォルトの名無しさん:2017/09/22(金) 01:10:08.68 ID:9s7VGfiV.net
rateは特に曖昧じゃないだろ
税率(tax rate)、成長率(growth rate)、割引率(discount rate)、
どれもrateの前にある名詞の率(rate)を指してる

質問者の例で言えば攻撃力アップ率は30%であって130%ではない
この場合の率(30%)に対して130%を表現する言葉が
日本語にも英語にも無いのが困るところ

89 :デフォルトの名無しさん:2017/09/22(金) 02:07:25.25 ID:i1EbplBY.net
>>88
>>83

90 :デフォルトの名無しさん:2017/09/22(金) 02:15:15.35 ID:i1EbplBY.net
>>87
だから、では何と言えばいいでしょう。
何回も言うケけど、そう感じるのは君の思考回路が数学脳じゃないからだよ。

deltaって聞いて物理量の増減分しか連想できないのは算数の問題を
お買い物に置き換えないと理解できない小学生と同じ。

91 :デフォルトの名無しさん:2017/09/22(金) 02:17:35.24 ID:i1EbplBY.net
>>88
>>89はアンカーミス
正しくは>>81参照。

君は「質量率」って聞いて[基準値からの増加分]/[基準値]のことだと分かるの?

92 :デフォルトの名無しさん:2017/09/22(金) 02:42:32.64 ID:9s7VGfiV.net
>>91
「質量率」って言葉知らないからわからないんだよ
君の言ってることが正しいのかどうかもわからないし
その言葉の定義が書いてるサイトでも教えてくれるかな?

93 :デフォルトの名無しさん:2017/09/22(金) 02:46:31.06 ID:9s7VGfiV.net
>>91
「質量率」以外の同じような例でもいいよ

94 :デフォルトの名無しさん:2017/09/22(金) 02:47:56.85 ID:i1EbplBY.net
>>92
このスレは一般的でない概念に名前を与えるスレなんだけどw
何訳のわかんないこと言ってるの?

論点はrateという単語から
[基準値からの増加分]/[基準値]
これを想像できるかどうか。
できるわけないでしょ。

>>81でrateが意味不明だと言ってるのはrateという言葉の意味が曖昧だと言っているのではなく、
>>78
GetFooRateInPercent
GetFooRate
これを意味不明だと言っている

95 :デフォルトの名無しさん:2017/09/22(金) 02:49:35.11 ID:i1EbplBY.net
まあとにかく、話の文脈追わずに短絡的に反応されても困惑するだけ

96 :デフォルトの名無しさん:2017/09/22(金) 06:49:15.39 ID:L886aacT.net
質量率なんて謎言葉で誤魔化そうとして失敗 w

97 :デフォルトの名無しさん:2017/09/22(金) 10:07:49.81 ID:EMdVK6xe.net
>>88
倍率とかmultiplierとかで通じるでしょ。

98 :デフォルトの名無しさん:2017/09/22(金) 21:31:20.05 ID:9s7VGfiV.net
あーー、「質量率」って自分で作った名前だったのか
分かってあげられなくてごめんね。。。。。

〇〇率 = 部分/全体(基準) は 部分の名前を〇〇に入れて使うのが一般的
税率、成長率、割引率、どれも同じパターン
質量率だけだと何が部分で何が全体なのかわからない
rateという言葉の曖昧さが問題じゃなくてネーミングの問題

99 :デフォルトの名無しさん:2017/09/22(金) 21:43:41.73 ID:9s7VGfiV.net
>>97
そう言われるとそうだね。
ただ、単に倍率(multiplier)で済むときはいいんだけど
例えば税率や割引率に対応するのは何倍率と呼べばいいの?

消費税率 -> 消費税倍率?
攻撃力上昇率 -> 攻撃力上昇倍率?

100 :デフォルトの名無しさん:2017/09/22(金) 22:17:53.84 ID:ka2EbGnk.net
>>98

>税率
これは増減する量に関わる比率じゃない

>成長率、割引率
確かに経済成長率、人口増加率、前年同月比のように、経済や統計の指標では
[増減分]/[元の量]を〜率と言うことがあるが、これは、例えば減少局面では数値がマイナスになるようにしたい、
というような指標として分かりやすくするためだと思われる。

指標ではなく直接計算に用いるような実務的な比率の場合は、[変化後の値]/[元の値]を〜率という場合が多い。
e.g.. 増幅率、拡大率

俺は少なくとも質問者のケースでは後者だと思うが、それはどうでもいい。

何度も言うが、論点は
GetFooRate

これを見て[Fooの増加分]/[Fooの元の値]を意味していると分かるかということ。
分かかるわけないでしょ。

だから、文脈を無視して短絡的な反応をしない。

総レス数 1003
294 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★