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

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

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part27
http://echo.2ch.net/test/read.cgi/tech/1476572490/
2017/07/15(土) 09:19:26.23ID:nrvPEg51
ちょっと物事を単純化して話しますが
オブジェクトの有効期間を変数として持たせたいんです
リストの中にぶっこんでいって
リストを触る奴がその値によってリストから削除したりをさせたい

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

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

もっと名前、初期化、運用に他のやり方があったかなと心配しています
名前は単にtime_to_removeでもよかったかなと思ってます
2017/07/15(土) 10:13:38.40ID:qqsDF0t/
クッキーを参考にしたまえ
2017/07/15(土) 10:41:48.41ID:zuAt7dHe
expire
2017/07/15(土) 13:45:28.74ID:GNjnjteo
>>38
有効期限が本当にそのオブジェクトが管理すべき情報なのか、それともそのオブジェクトを使う側が
管理すべき情報なのか、それだけじゃ分からんけど、前者だとして

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

こんだけの情報を持たせた方が扱いやすいかも
2017/07/15(土) 14:31:14.53ID:nrvPEg51
>>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みたいな煩雑さがチラついてきますんで
この形式にしました
2017/07/16(日) 03:26:58.87ID:yo5XpH/o
>>42
そのlistを拡張した方がいいんじゃないの
管理対象のobjectは何も知らない方がいい
listを使う側も同期とか以外は知らなくていいくらいに
そしたら汎用でも使える
2017/07/16(日) 12:39:20.68ID:Jr85n6Sz
>>43
ありがとうございます
とても有力な手だと思います

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

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

最後までぐだぐだ申しましてすみません
不満ばかりできりが無いのでこれにて閉じさせてくだしあ
2017/07/16(日) 16:29:38.83ID:yo5XpH/o
Listのextendできない環境なのか
2017/07/17(月) 08:04:36.40ID:dfDRQ3ag
>>44
remove_if(predicate)
2017/07/17(月) 10:09:00.03ID:U2FIHXXv
>>45
もしくはその知恵がないかやりたくない理由があるんだろ
>>44の文章見るとなにか異様にこだわりあるみたいだし
2017/07/18(火) 02:42:58.10ID:tovqy0R7
俺は同じような状況でexpires_onにしたことがある
49デフォルトの名無しさん
垢版 |
2017/08/31(木) 08:14:10.71ID:dCGUN1Rj
Optionsみたいに複数形ってクラス名には不適切?

OptionBagか
OptionsBagにすべき?
2017/08/31(木) 08:48:46.76ID:5u1Eta34
Containerとか
2017/08/31(木) 12:53:15.50ID:+8FXvQ6t
>>49
別に複数形でもいいと思うけど、規約か何かで使えないなら
「諸設定」っぽニュアンスがあるようなないような気がするconfigurationにするとか
2017/08/31(木) 14:19:34.74ID:PxNjJG10
OptionSetとかOptionListでいいんでない
2017/08/31(木) 14:54:36.74ID:iGMaENMY
>>52
言語によってはデータ型としてSetやListが用意されていて、その場合はそれらの性質を持っていないのに
そういう名前を付けるのは望ましくない。
2017/08/31(木) 15:58:56.77ID:sCduGK6O
listはともかく、setはちょっときついだろ。
意味が多すぎる。
2017/08/31(木) 18:00:27.66ID:+8FXvQ6t
逆でしょw

>>49が言ってるようなクラスは普通に考えたら
雑多な(型も意味もバラバラの)optionの寄せ集めなんだろうから
あえて何かつけるならsetの方がニュアンス的に近い
2017/08/31(木) 22:46:11.83ID:uNWxwE2R
>>49
そんな再利用性のないもんをクラスにすんな(直球)

汎用的なクラスをつくっといて、
変数名でもって特殊化して運用セヨ
2017/08/31(木) 22:54:08.86ID:PxNjJG10
>>53
継承したら
2017/08/31(木) 23:53:16.30ID:J2aSRpVx
Optionの単数形でも別にいいと思うけどね
各オプションには具体名があるだろうし

責務によってはOptionManager/OptionHandler/OptionContainerみたいなer系も有り
オプションバッグ、オプションセット、オプションリストとかは普段からそういう名前で呼んでも問題ないかどうかに依る
あとは汎用コレクションクラスを使ってList<Option>みたいな選択肢も
2017/09/01(金) 00:29:25.98ID:5FevI1x1
>>58
> List<Option>みたいな選択肢も
だいたい後悔するんじゃね?
ただし、拡張メソッドがあるC#ならなんとか。
2017/09/01(金) 22:02:43.64ID:bkxV70/L
javaはPropertiesクラスがあるから複数でもいい気が
2017/09/20(水) 20:11:34.47ID:wQDPDBBK
ある値と、それに掛け合わされる係数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()…という命名になっているので
ちょっとキレそうです。
6261
垢版 |
2017/09/20(水) 20:18:55.20ID:wQDPDBBK
>61に追記です。
圧倒的に使用頻度が高いのは(a)の「そのままの値を返す」でした。
ほかは同じくらい、
2017/09/20(水) 21:27:00.99ID:joxmKzqL
>>61
> (c)130を返す(元の値を130%する)
> (d)1.3を返す(元の値に1.3をかける)
申し訳ないが意味わからん
2017/09/20(水) 21:35:02.04ID:0lMVwAWW
>>61
(a) deltaInPercent
(b) delta
(c) multiplier
(d) multiplierInPercent

スレ違いだしたぶん余計なお世話だと思うけど、可能なら「係数」自体を
クラス化した方がいいんだろうね
2017/09/20(水) 22:07:22.07ID:DOSxYj0U
税率、税抜き価格、税込価格、税額みたいに
文脈に応じた名前を付けたほうがいい気がするけど
“〇〇係数”みたいな名前がついてるんじゃないの?
2017/09/20(水) 23:55:11.31ID:Yucd9rMJ
>>61
2017/09/21(木) 00:05:51.85ID:3yD+3if8
>>61
(a) なし
(b) increase rate
(c) なし
(d) increase multiplier

パーセント版はいらんやろ。その場で100倍すればいいじゃん。
どうしてもというなら、末尾に_percentとかつければ。命名としては歪かもしらんけど、わかりやすかろう。
2017/09/21(木) 00:08:16.78ID:3yD+3if8
>>64
deltaは増分であるべき。
2017/09/21(木) 00:33:44.66ID:ENxlmPyL
>>68
だから増分だってw
ほかにもっといい表現があるならよろしく
2017/09/21(木) 01:31:41.29ID:Y0fSMmUh
deltaは差分(足し算の増分)のイメージが強いなあ
x = 500
rate = foo/100 = 0.3 だとして、
delta = rate * x = 150
って感じ
2017/09/21(木) 02:14:32.44ID:ENxlmPyL
お買い物に例えないと算数理解できないデキの悪い小学生じゃないんだからw
正規化された増(減)分って考え方は普通だと思うよw
もともとパーセンテージ自体がそうなんだし
2017/09/21(木) 02:53:51.36ID:K0No9bcT
deltaは差分だよな
係数って意味でdeltaって呼んでるケースーある?
2017/09/21(木) 02:54:50.68ID:3yD+3if8
考えかたはふつうかもしれないが、それをdeltaとは言わん、という話。
2017/09/21(木) 03:03:19.06ID:K0No9bcT
ついでにincrease rateも増加率・伸び率・上昇率みたいな意味だよ
増やすための割合じゃなく、増えた割合って意味が強いから
あんまり適切じゃない気がする

〇〇rateって名前にするのはいいと思うけど
その〇〇として適切な用語は>>61の情報だけじゃ分からん
2017/09/21(木) 08:02:46.22ID:Lyzqp+ao
500 ⇒ 650 にするなら
係数: 1.3
係数(%): 130
増分係数: 0.3
増分係数(%): 30
なので
(a) GetPercentOfIncrementalRate
(b) GetIncrementalRate
(c) GetPercentOfRate
(d) GetRate
2017/09/21(木) 09:58:51.84ID:PJ3pbPS2
>>74
日本語でもだいたいそうだろ。
値の履歴について言うことが多いというだけで、べつにおかしくないんじゃね。
2017/09/21(木) 10:46:54.69ID:2CEy6KWD
>>73
だからそんなことはないって
だから、お買い物のたとえないと算数が理解できない小学生かw

金額だろうが物理量だろうが、正規化された抽象的な無名数であろうが、
増分は増分ですってw
7861
垢版 |
2017/09/21(木) 12:06:41.89ID:36VZaNjA
係数の質問者です。みんなありがとう。

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

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

とりあえず、
GetFooRateInPercent
GetFooRate
GetFooMultiplierInPercent
GetFooMultiplier
で提案してみます
2017/09/21(木) 12:58:27.56ID:2CEy6KWD
>>78
俺ならrateとmultiplierって何が違うんだ同じじゃないのかと思っちゃうねw
2017/09/21(木) 14:01:30.22ID:PJ3pbPS2
>>79
おまえならな。

ふつうはだいじょうぶ。
2017/09/21(木) 15:27:42.38ID:2CEy6KWD
頭の悪い奴に言ってもしょうがないから質問者にだけ言うけど、
rateとmultiplierはどちらもほぼ同じ意味だから再考した方がいいよ。

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

これで通じるのは「税率」のように本体からの上乗せ部分に注目している場合だけで、
水の質量を基準値の何倍にするかって言う場合に「質量乗数」は何倍にするかっていう
倍率だろうなと推測できるが、「質量率」って聞いて[基準値からの増加分]/[基準値]
のことだと分かる人は誰もいないはずだ
2017/09/21(木) 15:54:15.20ID:2CEy6KWD
× 税率
○ 消費税率
2017/09/21(木) 23:14:58.69ID:K0No9bcT
>>78
そういうのだったんか
それならincrease rateでもおかしくないな
バフ・デバフともいうけど日本語の総称はステータス効果かな
自分ならEffectのうち乗算型のやつに.rateや.percentのプロパティつけとく

名前とは関係ないけど
0.3や30%を返すのと1.3と130%を返すのが同居してるのは
個々のeffectを適用する計算の責務がEffect側にあるのか
使う側にあるのか明確じゃない気がしてちょっと気持ち悪いかも
2017/09/21(木) 23:33:51.33ID:Y0fSMmUh
>>81のいうようにrateが曖昧だというのは同意するが、
それに変わるものがdeltaだとやはり違和感がある

相対誤差みたいな気持ちで相対増分(relative delta)とかはどう?
2017/09/21(木) 23:53:17.74ID:2CEy6KWD
>>84
absolute deltaって言っても意味不明だからrelative deltaも意味不明だと思うよw

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

でもdisplacementは1次元の移動量のイメージが強い気がするな
2017/09/22(金) 00:13:26.49ID:cM2LPeWP
あとは俺は冗長だと思うけど「正規化された差分」かね
normalized delta
2017/09/22(金) 00:34:54.94ID:L886aacT
>>84
そもそも増分自体が相対的な感じだし w
30%アップ分をdeltaとか言う奴は今までに見たことないし恐らくこれからもないことを祈るわ
2017/09/22(金) 01:10:08.68ID:9s7VGfiV
rateは特に曖昧じゃないだろ
税率(tax rate)、成長率(growth rate)、割引率(discount rate)、
どれもrateの前にある名詞の率(rate)を指してる

質問者の例で言えば攻撃力アップ率は30%であって130%ではない
この場合の率(30%)に対して130%を表現する言葉が
日本語にも英語にも無いのが困るところ
2017/09/22(金) 02:07:25.25ID:i1EbplBY
>>88
>>83
2017/09/22(金) 02:15:15.35ID:i1EbplBY
>>87
だから、では何と言えばいいでしょう。
何回も言うケけど、そう感じるのは君の思考回路が数学脳じゃないからだよ。

deltaって聞いて物理量の増減分しか連想できないのは算数の問題を
お買い物に置き換えないと理解できない小学生と同じ。
2017/09/22(金) 02:17:35.24ID:i1EbplBY
>>88
>>89はアンカーミス
正しくは>>81参照。

君は「質量率」って聞いて[基準値からの増加分]/[基準値]のことだと分かるの?
2017/09/22(金) 02:42:32.64ID:9s7VGfiV
>>91
「質量率」って言葉知らないからわからないんだよ
君の言ってることが正しいのかどうかもわからないし
その言葉の定義が書いてるサイトでも教えてくれるかな?
2017/09/22(金) 02:46:31.06ID:9s7VGfiV
>>91
「質量率」以外の同じような例でもいいよ
2017/09/22(金) 02:47:56.85ID:i1EbplBY
>>92
このスレは一般的でない概念に名前を与えるスレなんだけどw
何訳のわかんないこと言ってるの?

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

>>81でrateが意味不明だと言ってるのはrateという言葉の意味が曖昧だと言っているのではなく、
>>78
GetFooRateInPercent
GetFooRate
これを意味不明だと言っている
2017/09/22(金) 02:49:35.11ID:i1EbplBY
まあとにかく、話の文脈追わずに短絡的に反応されても困惑するだけ
2017/09/22(金) 06:49:15.39ID:L886aacT
質量率なんて謎言葉で誤魔化そうとして失敗 w
2017/09/22(金) 10:07:49.81ID:EMdVK6xe
>>88
倍率とかmultiplierとかで通じるでしょ。
2017/09/22(金) 21:31:20.05ID:9s7VGfiV
あーー、「質量率」って自分で作った名前だったのか
分かってあげられなくてごめんね。。。。。

〇〇率 = 部分/全体(基準) は 部分の名前を〇〇に入れて使うのが一般的
税率、成長率、割引率、どれも同じパターン
質量率だけだと何が部分で何が全体なのかわからない
rateという言葉の曖昧さが問題じゃなくてネーミングの問題
2017/09/22(金) 21:43:41.73ID:9s7VGfiV
>>97
そう言われるとそうだね。
ただ、単に倍率(multiplier)で済むときはいいんだけど
例えば税率や割引率に対応するのは何倍率と呼べばいいの?

消費税率 -> 消費税倍率?
攻撃力上昇率 -> 攻撃力上昇倍率?
2017/09/22(金) 22:17:53.84ID:ka2EbGnk
>>98

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

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

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

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

何度も言うが、論点は
GetFooRate

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

だから、文脈を無視して短絡的な反応をしない。
2017/09/22(金) 22:32:59.10ID:ka2EbGnk
ただ、81-82で書いているように、Fooの増加分にFoo(例えば商品価格)とは別のbar(例えば消費税)
という概念があてがわれているのであれば、

GetBarRate

これはあり。
2017/09/23(土) 03:18:34.26ID:PFKg/P6i
>>100
なるほどね
その2つはrateとratioの違いのように思えるけど
まあそういう捉え方をする人もいるということは理解した

俺は根底のロジックは、着目部分/全体(基準)でどちらも一緒だと捉えてるから平行線だわな
FooRateのときは、Foo/全体(基準)でFooに着目してるのであってFooの増加分に着目してるのではない
拡大率は拡大サイズ/元サイズ、ただこれは部分全体の関係じゃなく比率の考え方から来てるので
英語でもrateという言葉は基本使われない
2017/09/23(土) 12:29:10.90ID:/JXVbO7c
>>102
平行線って意味がわからないよ。これは簡単な問題。
だから
FooRate
これを見て[Fooの増加分]/[Fooの元の値]のことだと分かるのかどうかはっきりしてくれ。
>>78ではそう意味で使われてるし、ここはそういうことを追及するスレのはずなんですが。

>拡大率は〜英語でもrateという言葉は基本使われない
"magnification rate"で普通に検索に引っかかるよw

余談だけど、rateとratioの違いだというのも全然違う
http://worldts.com/english-writing/eigo-ronbun31/index.html
によれば、どちらも同じ比率だが、ratioの場合は分母が自明の場合に使われる
(文章に分子を表す言葉しか現れない)ということらしい。
2017/09/23(土) 12:32:48.16ID:/JXVbO7c
>>103
あれ、変だな。訂正

× ratioの場合は
○ rateの場合は
2017/09/23(土) 15:08:25.17ID:xCJjTQ1w
>>103
質問者は結論を出したようなので、もうどうでもいいが、わかるかどうかについてはもっとどうでもいい。
用語定義や文脈などでわかれば充分なので。

たとえば実際、消費税率はconsumption tax rateというが、これについてもとの値がとか増加分がとかいうバカはいまい。

あんたは言っていいよ。w
2017/09/23(土) 15:09:07.73ID:PFKg/P6i
>>103
>これを見て[Fooの増加分]/[Fooの元の値]のことだと分かるのかどうかはっきりしてくれ。

分かるも何も、君の「質量率」以外にそういう使い方してるやついないから
攻撃力上昇率と攻撃力上昇倍率をrateとmultiplierで区別してるだけ
ここでのFooは攻撃力上昇であって攻撃力ではない
君の定義だと、攻撃力率になるけど誰もそんなこと言ってないよ

>"magnification rate"で普通に検索に引っかかるよw
それ間違えてる例だからww
調べるならちゃんと調べよう

もう面倒くさいから上の説明で理解できんならあとは好きにやってくれ
2017/09/23(土) 15:27:01.93ID:/JXVbO7c
>>105
何を言ってるのか意味不明

>>106
そういうのみっともないよ。
よっしゃ今日はこのぐらいにしといたるわ、ってか。

日本語でも同じこと

攻撃力上昇率
攻撃力上昇倍率

この2つを見て

攻撃力上昇率 = [攻撃力の増分]/[元の攻撃力]
攻撃力上昇倍率 = [増加後の攻撃力]/[元の攻撃力]

だと分かる人間がいるのか。いるわけないでしょ。
率も倍率もどちらも本質的に同じだからだ。
君の世界では競争率と競争倍率は違う意味なのか?
2017/09/23(土) 17:19:51.41ID:/JXVbO7c
しかし、すごいね

「rateとmultiplierでは何が違うのか読み取れない」>>79
「FooRateのrateは意味不明だ」>>81
っていう当たり前の事実にこれだけの説明が必要か?

っていうか、これだけ説明されてもたぶんまだよく理解してないんじゃないの?w
2017/09/23(土) 18:32:33.32ID:nAanI8EG
説明した気になってるバカの長文ウザイ
2017/09/24(日) 01:32:45.36ID:lCQ1Dr2N
incrementValue_percent とかでもいいんだけど、
一番多用するメソッドにつける名前としてはちょっと長いのよねぇ
2017/09/24(日) 01:46:40.37ID:ezgJnviS
valueではないよね
2017/09/24(日) 02:55:51.17ID:lCQ1Dr2N
まあそうなんだけど
倍率の方をmultiplierなりrateなりにして、
もう一方を、少し遠めの言葉から選んでみたつもり。

絶対値みたいな言葉もあるし、
あとは自分みたいな英語さっぱり勢でも困らない単語ということで。
2017/09/24(日) 03:39:54.52ID:uS0xIQvj
パーセントの値は計算時じゃなく表示時に使いたいんだろうから
数字のフォーマッティングをするクラスに任せたほうがいいかと

atk_increase = new Effect()
atk_increase.rate.to_percent()
2017/09/24(日) 10:18:34.03ID:BVMVs4QW
>>113
>>78

処理自体を関数にしたいんだとよ。
戦闘ルーチンをシステマチックに組み上げるためなんだろう。
2017/09/24(日) 15:03:53.37ID:uS0xIQvj
>>114
もしそれが避けられないならEnum的なもので
decimalかpercentを引数として渡すようにするかな

atk_increase.rate(:persent)

でも表示用に数字をフォーマットする処理は
別途書いてるんだろうから二度手間だと思うわ
2017/09/24(日) 15:31:27.46ID:U4nAGnPY
設計の話はNGって水を差すいつもの人が出てこない時は
その人自身がそれをやってる時だったりするのかなw

まあ俺ならRatioクラスを作るね。
2017/09/24(日) 16:01:39.95ID:J5jaZAG3
設計の話はちゃんと別スレがありますのでな
2017/09/24(日) 16:07:11.25ID:uS0xIQvj
命名がうまくできないのは設計がうまくいってない結果の場合もかなりあるのに
それを無視して設計の話はNGで命名だけってのは意味がないよね
2017/09/24(日) 16:14:45.42ID:gFeQddMX
>>118
そう思うなら別スレたててやればいい
2017/09/24(日) 16:31:31.90ID:U4nAGnPY
>>118
一般論としてはそう思うけど今回は微妙だね

まあ、どっちにしろこんな過疎スレでくだらないことに目くじら立てる奴の方が
確実にどうかしてるけどねw
2017/09/24(日) 16:32:09.42ID:J5jaZAG3
だからそういう奴のためのスレがあるっつってんだろ。
どうぞ正論に同意されている方々でやってください。無能なんですか?

設計・命名スレ
http://echo.2ch.net/test/read.cgi/tech/1477368563/

設計から喧々諤々されたい殿方は別スレがございますので、そちらをご利用ください。
2017/09/24(日) 16:53:26.87ID:BVMVs4QW
>>115
質問者の現実のコードを想像できてないだろう。

そんな状態で、設計を非難し改めさせようとはおこがましいとは思わんかね?
2017/09/24(日) 17:03:46.44ID:uS0xIQvj
>>122
↓ここの一つ目の答えに書いてるようなやり方をしてると想定してるよ
https://gamedev.stackexchange.com/questions/29982/whats-a-way-to-implement-a-flexible-buff-debuff-system

バフ管理はそれ自体が難しいし
やり方もいろいろあるから実際のコードはわからんけどね
2017/10/03(火) 21:21:41.83ID:3+KZIdY7
仕方ない事だけどNormalizedってよく使うのに長すぎ
どっか偉い団体が頻出単語は標準的な省略形を定めてくれればいいのに
2017/10/24(火) 05:35:26.82ID:LmIfeDhI
megante
2017/11/02(木) 01:36:36.25ID:qgjuzQPR
ファイルの拡張子ごとに処理するクラスがあるんですが、そのクラスの静的メソッドとして、
処理できる拡張子かどうかを判定する静的メソッドを追加したいのですが
その名前をお願いします。
2017/11/02(木) 01:56:42.44ID:aYOFaFkK
「処理する」の内容とあと言語のクラスメソッドの文法に依るけど、例えば
Class.canHandle(".xxx")
2017/11/02(木) 02:01:05.56ID:qgjuzQPR
>>127
なるほど。処理するの内容が何気に重要でしたね。すみません。
言語はC#で、アーカイブファイルを開くクラスですね。zipとか、それが拡張子ごとにある感じです。
そうすると「開く」??かなぁ・・?
2017/11/02(木) 02:51:26.89ID:oBTHYZXz
CanHandle、いいと思うけどな
あとはIsKnown(Extension)とか

静的メソッドだと

if (Hoge.CanHandle(ext))
...
else if (Hage.CanHandle(ext))
...
else if (Foo.CanHandle(ext))
...

ってなるのは必定で何だか泥臭いなとは思うけど、そこはスレ的に突っ込んじゃダメかね
2017/11/02(木) 06:52:45.58ID:AeE8oNtK
>>129
クラスクラスのインスタンスからクラスメソッド呼べないような言語あるの?

結局、サポートするコンテントタイプのリストを返すメソッドが欲しくなると思うけど
2017/11/02(木) 23:09:34.30ID:ttIahPlC
オレなら、単純にisAcceptかなぁー

関係ないけど、静的関数を足すよりfactoryのクラス作って静的なインスタンス返すほうがいいとおもうんだ。
ステートフルパターンな感じに。。。
2017/11/03(金) 00:16:58.35ID:Ro85MhDs
>>131
そこはせめてCanAcceptで
2017/11/03(金) 01:55:49.56ID:zDTNiuBK
ありがとうございます。
Handle,Acceptのどちらかにしようと思います。
134デフォルトの名無しさん
垢版 |
2017/12/27(水) 20:43:15.51ID:V1EFdajr
5chの板のスレ一覧のクラス(例えばThreadList)と各スレのクラス(Thread)があって、
・スレ一覧を更新するメソッド(各スレのログはダウンロードしない)
・スレッドを差分ダウンロードして新着レスを得る(最新状態に更新する)メソッド
にそれぞれ何という名前を付けますか?どっちもupdate()にしてるんですけど、同じ名前なのにやってることがだいぶ違ってなんかいまいちに感じます
2017/12/27(水) 21:37:23.78ID:q4iOOx1e
その専ブラがどのプラットホーム向けでいつリリースされるのかのほうが気になる。
2017/12/27(水) 23:05:30.53ID:xrH4goD9
>>134
updateはユーザーから見た動作であって実際のオブジェクトの動作はdownloadじゃないのかな?
知らんけど

と言う訳で
Download
DownloadUpdatedOnly ⇔ DownloadFull
2017/12/28(木) 01:24:24.92ID:GDDWlLSR
>>134
後者はrefreshとかどうか
ブラウザでページ更新して最新を取得するっていうときによく使われてる気がする
2017/12/28(木) 06:28:17.27ID:iIC53K2J
>>136-137
参考になりました、ありがとうございます
ペーペーなので他にもユーザ目線の命名が多そう…見直します

>>135
すみませんただの練習用なんです><5chブラウザ腐るほどあるだろうし…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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