クラス名・変数名に迷ったら書き込むスレ。Part28at TECH
クラス名・変数名に迷ったら書き込むスレ。Part28 - 暇つぶし2ch2:ネミ子
17/05/07 18:03:36.48 akuyRduv.net
無関係スレ
設計・命名スレ
スレリンク(tech板)
設計から喧々諤々されたい殿方は別スレがございますので、そちらをご利用ください。

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


4:デフォルトの名無しさん
17/05/10 02:45:04.00 YgxPtTuh.net
データベース的なものを想像して欲しい。
あるデータ群(オブジェクトの配列)を画面出力するとき、出力イベントをフックして
 ・「表示/非表示」を切り替える(単純にreturn falseだけで済むような処理ではない)
 ・「見た目」を切り替える(色変更や予め用意した画像に変更など)
の2つが必要なとき、それぞれどんな単語を使えばいい?
紛らわしくなく、かつ統一感のある関数名にしたい。
上記2つは呼び出すタイミングが微妙に異なるため、一括にはしにくい。
また、出力を切り替えると言っても、実際には個々のオブジェクトに含まれている値やメンバ変数を読み込み、
その設定を適用させるといった内容になる。

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

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

7:デフォルトの名無しさん
17/05/16 21:12:59.38 5gubPtqb.net
通信やファイルへ書込を伴う処理で
一旦変数に代入(書き込み予約)してから、任意のタイミングで確定させて処理したい
確定処理ってupdate? apply? commit? finalize? save?
それとこの場合の代入ってsetでいい?

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

9:デフォルトの名無しさん
17/05/16 22:08:11.06 5HaY8++G.net
むしろ確定の方をsetにした方がいいような…
を確定するの英訳|英辞郎 on the WEB:アルク
URLリンク(eow.alc.co.jp)
予約、だと自分はreserveをよく使うな…

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

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

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

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

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

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

15:デフォルトの名無しさん
17/05/18 12:25:59.00 xXCtzo0J.net
Series を列挙する型と、それを格納する変数。
C# だと
enum Series {
 A,
 B
}
Series Series;
とできなくはないけど、別にしたい。
たいていは列挙の方を複数、変数を単数にするんだけど、複数と単数で変化がないものはどうしたもんか。

16:デフォルトの名無しさん
17/05/18 12:39:39.31 eX+vCwZM.net
>>15
靴に足を合わせた方がいいと思うよ
型名と変数名が同じだと気持ち悪いという感覚が時代遅れだから、
名前を小細工するより自分の感覚を修正した方がいいんじゃないかしら

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

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

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

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

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

22:デフォルトの名無しさん
17/05/19 15:07:17.02 /r/R+k8J.net
>>21
> できない言語の場合にどうしようかってのもあったんだがな。
> 大文字小文字の場合も。
enum SeruesOption {A, B}
SeriesOption series = A

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

24:デフォルトの名無しさん
17/05/20 09:02:34.55 m4galLui.net
>>23
やり取りを円滑にするために最初に忘れず言おうな、とは思う。
が、ズルくはないだろ。
それで質問者が何か得したわけでもないし、
君が何か論破された訳でもないんだから。

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

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

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

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

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

30:デフォルトの名無しさん
17/05/22 08:56:31.87 zv0b6nGa.net
>>29
インスタンスの性質は分かるけど、型自身の名前って例えばどんなの?
Extensions だって性質を表してるんじゃない?
詳しく表してるとは言い難いけど。

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

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

33:デフォルトの名無しさん
17/06/21 16:36:34.47 dvfsnCQH.net
現時点ではスレチだけど、いずれ設定周りの名称に出没しそうなのでご容赦ください。
スタンドアロンのシステムが既に稼働していますが、一部機能をクラウド化して併用する計画があります。
クラウド化してもスタンドアロンの方もそのまま運用を続けます。
いわゆる半クラウド?とでも言うのでしょうか、このようなシステムの場合、
何と呼べばいいでしょうか?

34:デフォルトの名無しさん
17/06/21 16:54:36.57 kzV2so42.net
ぐぐったらこ�


35:ネのが見つかった https://www.ibm.com/blogs/solutions/jp-ja/what-is-hybrid-cloud/ なんかベタだねw



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

37:デフォルトの名無しさん
17/07/01 12:23:57.34 41xGfxtK.net
単項検証: SingleFieldValidation
相関検証: MultiFieldsValidation
データベースで行と行を比較する検証や表を超えて検証する場合はなんと言いますか?
日本語と英語の両方ともわからない

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

39:デフォルトの名無しさん
17/07/15 09:19:26.23 nrvPEg51.net
ちょっと物事を単純化して話しますが
オブジェクトの有効期間を変数として持たせたいんです
リストの中にぶっこんでいって
リストを触る奴がその値によってリストから削除したりをさせたい
このとき、有効期限をどう表現しますか?
色々考えた結果
long lifetime = now + duration;
と初期化しておいて
if (obj.lifetime < now) list.remove(obj);
というふにしました
もっと名前、初期化、運用に他のやり方があったかなと心配しています
名前は単にtime_to_removeでもよかったかなと思ってます

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

41:デフォルトの名無しさん
17/07/15 10:41:48.41 zuAt7dHe.net
expire

42:デフォルトの名無しさん
17/07/15 13:45:28.74 GNjnjteo.net
>>38
有効期限が本当にそのオブジェクトが管理すべき情報なのか、それともそのオブジェクトを使う側が
管理すべき情報なのか、それだけじゃ分からんけど、前者だとして
CreationTime(作られた時)
LifeSpan(寿命)
TimeToLive(余命 CreationTime + LIfeSpan - now)
IsAlive(TimeToLive > 0)
こんだけの情報を持たせた方が扱いやすいかも

43:デフォルトの名無しさん
17/07/15 14:31:14.53 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みたいな煩雑さがチラついてきますんで
この形式にしました

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

45:デフォルトの名無しさん
17/07/16 12:39:20.68 Jr85n6Sz.net
>>43
ありがとうございます
とても有力な手だと思います
ただ、みなさんも覚えがあるかもしれませんが
こういうコンテナラッパーを気軽に書いても
意外とスッキリしていかねえな、ということです
1) 最初から十分なインタフェースをそろえるのはめんどい(主に指の疲労)
2) だから最初はsize, add, removeくらいで始めるのだが
あとで結局また加筆していくことになる
3) コンテナクラスの理想は中身を知らないこと
でもこういう作りにするとそこに想定が入ることになる
だからと言ってすぐ困りはしないが、そのことに小さい不満が残る
removeExpired()みたいなこともさせたいが、何か不満が残る
それに引数を与えてやりたいが、ここでその引数の名前が難しすぎる
何をどういう基準でremoveしてるかを表現しきるメソッド名も難しい
最後までぐだぐだ申しましてすみません
不満ばかりできりが無いのでこれにて閉じさせてくだしあ

46:デフォルトの名無しさん
17/07/16 16:29:38.83 yo5XpH/o.net
Listのextendできない環境なのか

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

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

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

50:デフォルトの名無しさん
17/08/31 08:14:10.71 dCGUN1Rj.net
Optionsみたいに複数形ってクラス名には不適切?
OptionBagか
OptionsBagにすべき?

51:デフォルトの名無しさん
17/08/31 08:48:46.76 5u1Eta34.net
Containerとか

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

53:デフォルトの名無しさん
17/08/31 14:19:34.74 PxNjJG10.net
OptionSetとかOptionListでいいんでない

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

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

56:デフォルトの名無しさん
17/08/31 18:00:27.66 +8FXvQ6t.net
逆でしょw
>>49が言ってるようなクラスは普通に考えたら
雑多な(型も意味もバラバラの)optionの寄せ集めなんだろうから
あえて何かつけるならsetの方がニュアンス的に近い

57:デフォルトの名無しさん
17/08/31 22:46:11.83 uNWxwE2R.net
>>49
そんな再利用性のないもんをクラスにすんな(直球)
汎用的なクラスをつくっといて、
変数名でもって特殊化して運用セヨ

58:デフォルトの名無しさん
17/08/31 22:54:08.86 PxNjJG10.net
>>53
継承したら

59:デフォルトの名無しさん
17/08/31 23:53:16.30 J2aSRpVx.net
Optionの単数形でも別にいいと思うけどね
各オプションには具体名があるだろうし
責務によってはOptionManager/OptionHandler/OptionContainerみたいなer系も有り
オプションバッグ、オプションセット、オプションリストとかは普段からそういう名前で呼んでも問題ないかどうかに依る
あとは汎用コレクションクラスを使ってList<Option>みたいな選択肢も

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

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

62:デフォルトの名無しさん
17/09/20 20:11:34.47 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()…という命名になっているので
ちょっとキレそうです。

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

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

65:デフォルトの名無しさん
17/09/20 21:35:02.04 0lMVwAWW.net
>>61
(a) deltaInPercent
(b) delta
(c) multiplier
(d) multiplierInPercent
スレ違いだしたぶん余計なお世話だと思うけど、可能なら「係数」自体を
クラス化した方がいいんだろうね

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

67:デフォルトの名無しさん
17/09/20 23:55:11.31 Yucd9rMJ.net
>>61

68:デフォルトの名無しさん
17/09/21 00:05:51.85 3yD+3if8.net
>>61
(a) なし
(b) increase rate
(c) なし
(d) increase multiplier
パーセント版はいらんやろ。その場で100倍すればいいじゃん。
どうしてもというなら、末尾に_percentとかつければ。命名としては歪かもしらんけど、わかりやすかろう。

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

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

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

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

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

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

75:デフォルトの名無しさん
17/09/21 03:03:19.06 K0No9bcT.net
ついでにincrease rateも増加率・伸び率・上昇率みたいな意味だよ
増やすための割合じゃなく、増えた割合って意味が強いから
あんまり適切じゃない気がする
〇〇rateって名前にするのはいいと思うけど
その〇〇として適切な用語は>>61の情報だけじゃ分からん

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

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

78:デフォルトの名無しさん
17/09/21 10:46:54.69 2CEy6KWD.net
>>73
だからそんなことはないって
だから、お買い物のたとえないと算数が理解できない小学生かw
金額だろうが物理量だろうが、正規化された抽象的な無名数であろうが、
増分は増分ですってw

79:61
17/09/21 12:06:41.89 36VZaNjA.net
係数の質問者です。みんなありがとう。
リファクタリングしてたのはゲームプログラムでして、
攻撃力アップ、獲得経験値アップ、消費MPダウン、3Dモデルの表示サイズ等で使われてる。
日本語で総称すると何になるんだろう? ……ステータス強化?
百分率くらい自分で計算しろよと言うのは、そのとおりだと思う。自分も強く思う。
関数ポインタ的な使い方をしてる箇所が幾つかあるので関数化されてたほうが都合がいいだろうってのと、
一括置換でいけるだろうとはいえ処理の変更扱いになってしまうので手続き上ちょっと面倒くさい。
とりあえず、
GetFooRateInPercent
GetFooRate
GetFooMultiplierInPercent
GetFooMultiplier
で提案してみます

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

81:デフォルトの名無しさん
17/09/21 14:01:30.22 PJ3pbPS2.net
>>79
おまえならな。
ふつうはだいじょうぶ。

82:デフォルトの名無しさん
17/09/21 15:27:42.38 2CEy6KWD.net
頭の悪い奴に言ってもしょうがないから質問者にだけ言うけど、
rateとmultiplierはどちらもほぼ同じ意味だから再考した方がいいよ。
もちろん見直す必要があるのはrateの方。
これははっきり言って意味不明だ。
これで通じるのは「税率」のように本体からの上乗せ部分に注目している場合だけで、
水の質量を基準値の何倍にするかって言う場合に「質量乗数」は何倍にするかっていう
倍率だろうなと推測できるが、「質量率」って聞いて[基準値からの増加分]/[基準値]
のことだと分かる人は誰もいないはずだ

83:デフォルトの名無しさん
17/09/21 15:54:15.20 2CEy6KWD.net
× 税率
○ 消費税率

84:デフォルトの名無しさん
17/09/21 23:14:58.69 K0No9bcT.net
>>78
そういうのだったんか
それならincrease rateでもおかしくないな
バフ・デバフともいうけど日本語の総称はステータス効果かな
自分ならEffectのうち乗算型のやつに.rateや.percentのプロパティつけとく
名前とは関係ないけど
0.3や30%を返すのと1.3と130%を返すのが同居してるのは
個々のeffectを適用する計算の責務がEffect側にあるのか
使う側にあるのか明確じゃない気がしてちょっと気持ち悪いかも

85:デフォルトの名無しさん
17/09/21 23:33:51.33 Y0fSMmUh.net
>>81のいうようにrateが曖昧だというのは同意するが、
それに変わるものがdeltaだとやはり違和感がある
相対誤差みたいな気持ちで相対増分(relative delta)とかはどう?

86:デフォルトの名無しさん
17/09/21 23:53:17.74 2CEy6KWD.net
>>84
absolute deltaって言っても意味不明だからrelative deltaも意味不明だと思うよw
俺は単にdeltaで問題ないと思うが、どうしても気に入らないなら「上乗せ分」か「変位」かね
辞書みても上乗せ分はぴったりの語が見当たらないから、displacementか
でもdisplacementは1次元の移動量のイメージが強い気がするな

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

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

89:デフォルトの名無しさん
17/09/22 01:10:08.68 9s7VGfiV.net
rateは特に曖昧じゃないだろ
税率(tax rate)、成長率(growth rate)、割引率(discount rate)、
どれもrateの前にある名詞の率(rate)を指してる
質問者の例で言えば攻撃力アップ率は30%であって130%ではない
この場合の率(30%)に対して130%を表現する言葉が
日本語にも英語にも無いのが困るところ

90:デフォルトの名無しさん
17/09/22 02:07:25.25 i1EbplBY.net
>>88
>>83

91:デフォルトの名無しさん
17/09/22 02:15:15.35 i1EbplBY.net
>>87
だから、では何と言えばいいでしょう。
何回も言うケけど、そう感じるのは君の思考回路が数学脳じゃないからだよ。
deltaって聞いて物理量の増減分しか連想できないのは算数の問題を
お買い物に置き換えないと理解できない小学生と同じ。

92:デフォルトの名無しさん
17/09/22 02:17:35.24 i1EbplBY.net
>>88
>>89はアンカーミス
正しくは>>81参照。
君は「質量率」って聞いて[基準値からの増加分]/[基準値]のことだと分かるの?

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

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

95:デフォルトの名無しさん
17/09/22 02:47:56.85 i1EbplBY.net
>>92
このスレは一般的でない概念に名前を与えるスレなんだけどw
何訳のわかんないこと言ってるの?
論点はrateという単語から
[基準値からの増加分]/[基準値]
これを想像できるかどうか。
できるわけないでしょ。
>>81でrateが意味不明だと言ってるのはrateという言葉の意味が曖昧だと言っているのではなく、
>>78
GetFooRateInPercent
GetFooRate
これを意味不明だと言っている

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

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

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

99:デフォルトの名無しさん
17/09/22 21:31:20.05 9s7VGfiV.net
あーー、「質量率」って自分で作った名前だったのか
分かってあげられなくてごめんね。。。。。
〇〇率 = 部分/全体(基準) は 部分の名前を〇〇に入れて使うのが一般的
税率、成長率、割引率、どれも同じパターン
質量率だけだと何が部分で何が全体なのかわからない
rateという言葉の曖昧さが問題じゃなくてネーミングの問題

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

101:デフォルトの名無しさん
17/09/22 22:17:53.84 ka2EbGnk.net
>>98
>税率
これは増減する量に関わる比率じゃない
>成長率、割引率
確かに経済成長率、人口増加率、前年同月比のように、経済や統計の指標では
[増減分]/[元の量]を~率と言うことがあるが、これは、例えば減少局面では数値がマイナスになるようにしたい、
というような指標として分かりやすくするためだと思われる。
指標ではなく直接計算に用いるような実務的な比率の場合は、[変化後の値]/[元の値]を~率という場合が多い。
e.g.. 増幅率、拡大率
俺は少なくとも質問者のケースでは後者だと思うが、それはどうでもいい。
何度も言うが、論点は
GetFooRate
これを見て[Fooの増加分]/[Fooの元の値]を意味していると分かるかということ。
分かかるわけないでしょ。
だから、文脈を無視して短絡的な反応をしない。

102:デフォルトの名無しさん
17/09/22 22:32:59.10 ka2EbGnk.net
ただ、81-82で書いているように、Fooの増加分にFoo(例えば商品価格)とは別のbar(例えば消費税)
という概念があてがわれているのであれば、
GetBarRate
これはあり。

103:デフォルトの名無しさん
17/09/23 03:18:34.26 PFKg/P6i.net
>>100
なるほどね
その2つはrateとratioの違いのように思えるけど
まあそういう捉え方をする人もいるということは理解した
俺は根底のロジックは、着目部分/全体(基準)でどちらも一緒だと捉えてるから平行線だわな
FooRateのときは、Foo/全体(基準)でFooに着目してるのであってFooの増加分に着目してるのではない
拡大率は拡大サイズ/元サイズ、ただこれは部分全体の関係じゃなく比率の考え方から来てるので
英語でもrateという言葉は基本使われない

104:デフォルトの名無しさん
17/09/23 12:29:10.90 /JXVbO7c.net
>>102
平行線って意味がわからないよ。これは簡単な問題。
だから
FooRate
これを見て[Fooの増加分]/[Fooの元の値]のことだと分かるのかどうかはっきりしてくれ。
>>78ではそう意味で使われてるし、ここはそういうことを追及するスレのはずなんですが。
>拡大率は~英語でもrateという言葉は基本使われない
"magnification rate"で普通に検索に引っかかるよw
余談だけど、rateとratioの違いだというのも全然違う
URLリンク(worldts.com)
によれば、どちらも同じ比率だが、ratioの場合は分母が自明の場合に使われる
(文章に分子を表す言葉しか現れない)ということらしい。

105:デフォルトの名無しさん
17/09/23 12:32:48.16 /JXVbO7c.net
>>103
あれ、変だな。訂正
× ratioの場合は
○ rateの場合は

106:デフォルトの名無しさん
17/09/23 15:08:25.17 xCJjTQ1w.net
>>103
質問者は結論を出したようなので、もうどうでもいいが、わかるかどうかについてはもっとどうでもいい。
用語定義や文脈などでわかれば充分なので。
たとえば実際、消費税率はconsumption tax rateというが、これについてもとの値がとか増加分がとかいうバカはいまい。
あんたは言っていいよ。w

107:デフォルトの名無しさん
17/09/23 15:09:07.73 PFKg/P6i.net
>>103
>これを見て[Fooの増加分]/[Fooの元の値]のことだと分かるのかどうかはっきりしてくれ。
分かるも何も、君の「質量率」以外にそういう使い方してるやついないから
攻撃力上昇率と攻撃力上昇倍率をrateとmultiplierで区別してるだけ
ここでのFooは攻撃力上昇であって攻撃力ではない
君の定義だと、攻撃力率になるけど誰もそんなこと言ってないよ
>"magnification rate"で普通に検索に引っかかるよw
それ間違えてる例だからww
調べるならちゃんと調べよう
もう面倒くさいから上の説明で理解できんならあとは好きにやってくれ

108:デフォルトの名無しさん
17/09/23 15:27:01.93 /JXVbO7c.net
>>105
何を言ってるのか意味不明
>>106
そういうのみっともないよ。
よっしゃ今日はこのぐらいにしといたるわ、ってか。
日本語でも同じこと
攻撃力上昇率
攻撃力上昇倍率
この2つを見て
攻撃力上昇率 = [攻撃力の増分]/[元の攻撃力]
攻撃力上昇倍率 = [増加後の攻撃力]/[元の攻撃力]
だと分かる人間がいるのか。いるわけないでしょ。
率も倍率もどちらも本質的に同じだからだ。
君の世界では競争率と競争倍率は違う意味なのか?

109:デフォルトの名無しさん
17/09/23 17:19:51.41 /JXVbO7c.net
しかし、すごいね
「rateとmultiplierでは何が違うのか読み取れない」>>79
「FooRateのrateは意味不明だ」>>81
っていう当たり前の事実にこれだけの説明が必要か?
っていうか、これだけ説明されてもたぶんまだよく理解してないんじゃないの?w

110:デフォルトの名無しさん
17/09/23 18:32:33.32 nAanI8EG.net
説明した気になってるバカの長文ウザイ

111:デフォルトの名無しさん
17/09/24 01:32:45.36 lCQ1Dr2N.net
incrementValue_percent とかでもいいんだけど、
一番多用するメソッドにつける名前としてはちょっと長いのよねぇ

112:デフォルトの名無しさん
17/09/24 01:46:40.37 ezgJnviS.net
valueではないよね

113:デフォルトの名無しさん
17/09/24 02:55:51.17 lCQ1Dr2N.net
まあそうなんだけど
倍率の方をmultiplierなりrateなりにして、
もう一方を、少し遠めの言葉から選んでみたつもり。
絶対値みたいな言葉もあるし、
あとは自分みたいな英語さっぱり勢でも困らない単語ということで。

114:デフォルトの名無しさん
17/09/24 03:39:54.52 uS0xIQvj.net
パーセントの値は計算時じゃなく表示時に使いたいんだろうから
数字のフォーマッティングをするクラスに任せたほうがいいかと
atk_increase = new Effect()
atk_increase.rate.to_percent()

115:デフォルトの名無しさん
17/09/24 10:18:34.03 BVMVs4QW.net
>>113
>>78
処理自体を関数にしたいんだとよ。
戦闘ルーチンをシステマチックに組み上げるためなんだろう。

116:デフォルトの名無しさん
17/09/24 15:03:53.37 uS0xIQvj.net
>>114
もしそれが避けられないならEnum的なもので
decimalかpercentを引数として渡すようにするかな
atk_increase.rate(:persent)
でも表示用に数字をフォーマットする処理は
別途書いてるんだろうから二度手間だと思うわ

117:デフォルトの名無しさん
17/09/24 15:31:27.46 U4nAGnPY.net
設計の話はNGって水を差すいつもの人が出てこない時は
その人自身がそれをやってる時だったりするのかなw
まあ俺ならRatioクラスを作るね。

118:デフォルトの名無しさん
17/09/24 16:01:39.95 J5jaZAG3.net
設計の話はちゃんと別スレがありますのでな

119:デフォルトの名無しさん
17/09/24 16:07:11.25 uS0xIQvj.net
命名がうまくできないのは設計がうまくいってない結果の場合もかなりあるのに
それを無視して設計の話はNGで命名だけってのは意味がないよね

120:デフォルトの名無しさん
17/09/24 16:14:45.42 gFeQddMX.net
>>118
そう思うなら別スレたててやればいい

121:デフォルトの名無しさん
17/09/24 16:31:31.90 U4nAGnPY.net
>>118
一般論としてはそう思うけど今回は微妙だね
まあ、どっちにしろこんな過疎スレでくだらないことに目くじら立てる奴の方が
確実にどうかしてるけどねw

122:デフォルトの名無しさん
17/09/24 16:32:09.42 J5jaZAG3.net
だからそういう奴のためのスレがあるっつってんだろ。
どうぞ正論に同意されている方々でやってください。無能なんですか?
設計・命名スレ
スレリンク(tech板)
設計から喧々諤々されたい殿方は別スレがございますので、そちらをご利用ください。

123:デフォルトの名無しさん
17/09/24 16:53:26.87 BVMVs4QW.net
>>115
質問者の現実のコードを想像でき�


124:トないだろう。 そんな状態で、設計を非難し改めさせようとはおこがましいとは思わんかね?



125:デフォルトの名無しさん
17/09/24 17:03:46.44 uS0xIQvj.net
>>122
↓ここの一つ目の答えに書いてるようなやり方をしてると想定してるよ
URLリンク(gamedev.stackexchange.com)
バフ管理はそれ自体が難しいし
やり方もいろいろあるから実際のコードはわからんけどね

126:デフォルトの名無しさん
17/10/03 21:21:41.83 3+KZIdY7.net
仕方ない事だけどNormalizedってよく使うのに長すぎ
どっか偉い団体が頻出単語は標準的な省略形を定めてくれればいいのに

127:デフォルトの名無しさん
17/10/24 05:35:26.82 LmIfeDhI.net
megante

128:デフォルトの名無しさん
17/11/02 01:36:36.25 qgjuzQPR.net
ファイルの拡張子ごとに処理するクラスがあるんですが、そのクラスの静的メソッドとして、
処理できる拡張子かどうかを判定する静的メソッドを追加したいのですが
その名前をお願いします。

129:デフォルトの名無しさん
17/11/02 01:56:42.44 aYOFaFkK.net
「処理する」の内容とあと言語のクラスメソッドの文法に依るけど、例えば
Class.canHandle(".xxx")

130:デフォルトの名無しさん
17/11/02 02:01:05.56 qgjuzQPR.net
>>127
なるほど。処理するの内容が何気に重要でしたね。すみません。
言語はC#で、アーカイブファイルを開くクラスですね。zipとか、それが拡張子ごとにある感じです。
そうすると「開く」??かなぁ・・?

131:デフォルトの名無しさん
17/11/02 02:51:26.89 oBTHYZXz.net
CanHandle、いいと思うけどな
あとはIsKnown(Extension)とか
静的メソッドだと
if (Hoge.CanHandle(ext))
...
else if (Hage.CanHandle(ext))
...
else if (Foo.CanHandle(ext))
...
ってなるのは必定で何だか泥臭いなとは思うけど、そこはスレ的に突っ込んじゃダメかね

132:デフォルトの名無しさん
17/11/02 06:52:45.58 AeE8oNtK.net
>>129
クラスクラスのインスタンスからクラスメソッド呼べないような言語あるの?
結局、サポートするコンテントタイプのリストを返すメソッドが欲しくなると思うけど

133:デフォルトの名無しさん
17/11/02 23:09:34.30 ttIahPlC.net
オレなら、単純にisAcceptかなぁー
関係ないけど、静的関数を足すよりfactoryのクラス作って静的なインスタンス返すほうがいいとおもうんだ。
ステートフルパターンな感じに。。。

134:デフォルトの名無しさん
17/11/03 00:16:58.35 Ro85MhDs.net
>>131
そこはせめてCanAcceptで

135:デフォルトの名無しさん
17/11/03 01:55:49.56 zDTNiuBK.net
ありがとうございます。
Handle,Acceptのどちらかにしようと思います。

136:デフォルトの名無しさん
17/12/27 20:43:15.51 V1EFdajr.net
5chの板のスレ一覧のクラス(例えばThreadList)と各スレのクラス(Thread)があって、
・スレ一覧を更新するメソッド(各スレのログはダウンロードしない)
・スレッドを差分ダウンロードして新着レスを得る(最新状態に更新する)メソッド
にそれぞれ何という名前を付けますか?どっちもupdate()にしてるんですけど、同じ名前なのにやってることがだいぶ違ってなんかいまいちに感じます

137:デフォルトの名無しさん
17/12/27 21:37:23.78 q4iOOx1e.net
その専ブラがどのプラットホーム向けでいつリリースされるのかのほうが気になる。

138:デフォルトの名無しさん
17/12/27 23:05:30.53 xrH4goD9.net
>>134
updateはユーザーから見た動作であって実際のオブジェクトの動作はdownloadじゃないのかな?
知らんけど



139:ニ言う訳で Download DownloadUpdatedOnly ⇔ DownloadFull



140:デフォルトの名無しさん
17/12/28 01:24:24.92 GDDWlLSR.net
>>134
後者はrefreshとかどうか
ブラウザでページ更新して最新を取得するっていうときによく使われてる気がする

141:デフォルトの名無しさん
17/12/28 06:28:17.27 iIC53K2J.net
>>136-137
参考になりました、ありがとうございます
ペーペーなので他にもユーザ目線の命名が多そう…見直します
>>135
すみませんただの練習用なんです><5chブラウザ腐るほどあるだろうし…

142:デフォルトの名無しさん
17/12/28 08:20:19.96 sX9pr0im.net
get とfetchってどう使い分けたら良いですか?

143:デフォルトの名無しさん
17/12/28 20:33:30.12 tdhK3u9G.net
>>139
ググれ。
英語がらみでいっぱい見つかるから。

144:デフォルトの名無しさん
17/12/28 21:13:26.38 P1qp1D/S.net
途中からめんどくなってもう全部get…

145:デフォルトの名無しさん
17/12/28 22:22:06.88 /lEDrM81.net
fetchなんて仰々しい言葉プログラミングではあんまり使わないと思うw

146:デフォルトの名無しさん
17/12/28 23:07:16.13 Qj6V/Knj.net
ただ取るんじゃなくて「行って取ってくる」のが fetch だとググって知った。
ワンコがフリスビーとってくわえて戻ってくる感じ。
FreeBSD だと wget のかわりに fetch っていうコマンドを使うし
プログラミングではDBとのやりとりの時に使うことがあるね。
どうやって使い分けるのかっていうとうーん・・・

147:デフォルトの名無しさん
17/12/28 23:26:05.43 /lEDrM81.net
まあ、比較的高価だったり重かったり間に通信が入ったりする処理であることを
意識させる必要がある時ぐらいかね。
CPUがコアの外側のメモリから命令を拾ってくるのをフェッチっていうのも
そういうニュアンスなんだろうたぶん

148:デフォルトの名無しさん
18/02/03 02:30:03.15 1Zb7vqEQ.net
あるDLLをロードしたとき、そのDLL内部で使う情報を色々初期設定するために
InitializeDllって関数を作ったとき、それに対する終了処理としてつかう関数名は、
FinalizeDll?TerminationDll?どっちの名前を採用しますか?
もしくはもっと別の名前?

149:デフォルトの名無しさん
18/02/03 13:33:45.89 dgAq2hsG.net
>>145
finalizeに一票。
terminateは、後始末というよりも、本当に終了させる感が強すぎない?

150:デフォルトの名無しさん
18/02/03 15:38:15.49 DDYrw5D6.net
CleanupDll なんてどう?

151:デフォルトの名無しさん
18/02/03 18:01:48.28 Rh9ysymE.net
>>145
どっちでもいいでしょw
どぢらでも意味は分かるし誤解のしようもない。
ついでに変なサフィックスもいらない
Initialize/Finalizeで十分では?
名前異空間が使えなくてバッティングを避ける目的ならHOGE_Initialize
みたいにプリフィクスでやるのが普通じゃない?

152:デフォルトの名無しさん
18/02/03 18:38:27.91 1Zb7vqEQ.net
補足しますと、元々DLLがロード・アンロードされるときに呼ばれるDllMainに渡される引数
DLL_PROCESS_ATTACHとDLL_PROCESS_DETACHで初期化処理終了処理を
突っ込んでたんですが、調子に乗って色々やり過ぎて不具合起こしたので
改めて明示的にEXE側から呼び出す初期化終了関数を作ったのでした。
(MSDNにも注意点として書かれれた)
そこで名称に疑問符が。
>>146
同感なのですが、後々DLLのアンロード時(アプリ終了時)に実行することを考えると
terminateもアリなのか?と思ってしまいました。
>>147
Initializeのイメージと被る感じがします・・・
>>148
まあどっちでもいいかもですがw
サフィックスはもうちょっとちゃんと考えますね。

finalizeで行こうと思います。
皆さんありがとうございました。

153:デフォルトの名無しさん
18/02/04 13:51:18.18 Bky4hvL+.net
>>149
>後々DLLのアンロード時(アプリ終了時)に実行することを考えると
それは使う側の都合じゃね?
>>146でいいと思うよ

154:デフォルトの名無しさん
18/02/07 15:10:28.31 BclnE8u9.net
goodsとかnewsと言った単数にしない単語をモデル名に使いたいとき、皆様はどのようになさるのでしょうか。productやarticle, postと言った別の単語で置き換えるのでしょうか。
置き換えると意味的に微妙に違和感が出るケースでしたので質問させていただきました。
参考
goodsが使われるケースがないか探している中で、ZOZOTOWNのAPIがgoodsを使っているのを見つけました。モデル名はどうしているのでしょうね...。

155:デフォルトの名無しさん
18/02/07 16:59:58.39 izr6WB3M.net
>>151
面白そうだからググってみたけど、その手の単語ってそうは多くないみたいね
URLリンク(www1.odn.ne.jp)
それを集約するオブジェクトがあって複数形が使えた方が都合がいいなら複数形がある別の可算名詞に
置き換える、そうじゃなきゃそのまま使う
まあ、柔軟に対応でいいんじゃないでしょうか

156:デフォルトの名無しさん
18/02/07 21:17:32.06 3BT7o9wr.net
>>152
どうもありがとうございます。柔軟に対応します。

157:デフォルトの名無しさん
18/02/16 06:10:05.04 W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

158:デフォルトの名無しさん
18/04/10 09:53:35.09 Kfr8PFFs.net
指定したプロセスのメモリ使用量を表示する場合名前は何にしますか?
具体的にはタスクマネージャのプロセスタブにあるメモリ (プライベート ワーキング セット)の値をX秒毎に取得してその値を表示するプログラムです
SurveillanceProcessMemory?
CheckProcessMemory?
ViewProcessMemory?
WatchProcessMemory?
etc・・・

159:デフォルトの名無しさん
18/04/10 14:04:38.60 KG4vxU3v.net
何の名前?
表示を更新するUIのメソッド名?
それともアプリ自体の名前?

160:デフォルトの名無しさん
18/04/10 14:10:33.38 RE4Ll6H9.net
その時点の情報表示 ViewProcessMemory
情報を監視(垂れ流し表示) WatchProcessMemory
なイメージ
checkは抽象的でよく分からない

161:デフォルトの名無しさん
18/04/10 21:02:18.73 g9DkMx9b.net
見ることではなく、見せるものであれば、「Show」とか。

162:デフォルトの名無しさん
18/04/10 21:31:43.12 rwK1ezW+.net
Monitorじゃねって混乱させたり、
Memoryの中見るんじゃなくて使用量見るんならMemoryUsageとかMemoryUseだよねとつっこんでみたり。

163:デフォルトの名無しさん
18/04/10 22:42:37.83 xK9q0OHZ.net
そもそもexeの名前なんだから
俺のメモリー.exe
とかでいいだろ

164:デフォルトの名無しさん
18/04/19 02:14:10.85 QzBHelKx.net
先頭が数字で半ば固有名詞扱いになってるものを識別子にしたい場合のお約束ってなんかある?
3D Y/C分離とか3次元ノイズリダクションとか
セットアップレベルの0IREとか7.5IREとかを読みやすさを損なわずに列挙体メンバにしたい

165:デフォルトの名無しさん
18/04/19 03:11:55.95 II5zdCld.net
月並みなことしか言えんけど...
■ 先頭が数字の名前の対処法
(1) 先頭にアンダーバーか適当なプリフィクスを付ける
_3DYCSeparation
m3DNoiseReduction
(2) アラビア数字の代わりに英単語で
ThreeDimensionsYcSepartion
■ 小数点
電気屋は小数点をSI接頭辞やRで置き換えるんだった気が...
_7R5Ire
4.7kΩ = _4k7Ohm
自分は小数点をpで置き換えたことがある
_7p5Ire

166:デフォルトの名無しさん
18/04/19 18:25:39.74 5inohPPn.net
公開する名前をアンダーバー始まりにするのは認めないぞ。
絶対の絶対だ。

167:デフォルトの名無しさん
18/04/19 18:29:45.48 5inohPPn.net
語順を入れ換えて、「NR3D」とか?

168:デフォルトの名無しさん
18/04/23 19:10:14.27 A/jct/5p.net
誘導されて来ました
ネット上のAPIを叩いて、情報を取ってくるメソッドの名前って
どんな感じにつけたらいい?
例えば、どこかのサーバーにアクセスして天気予報データをJSONで
取ってくるケースだと、どういう名前にしたらいいか教えてください

169:デフォルトの名無しさん
18/04/23 20:50:16.54 lPog2avr.net
天気予報といえばこのURLだしフォーマットもJSON以外ありえないという前提なら、
FetchWeatherでいいだろ。
もっと大げさに指定したいならFetchWeatherDataFromUrlInJsonとか。

170:デフォルトの名無しさん
18/04/24 09:52:50.58 eWyRlcS+.net
>>165-166
やっぱこういうのは fetch >>139-144 がしっくりくるね

171:デフォルトの名無しさん
18/04/24 13:22:19.64 5gRbnpaG.net
>>166
>>167
ニュアンス的にはfetchがあってそう
サンキュー

172:デフォルトの名無しさん
18/04/24 19:12:36.34 ZKUvPQBu.net
つか、メソッド名はクラス設計とも関係してて、
主語のクラス名も明確にしてくれないとどのメソッド名(動詞)が一番しっくりくるか変わるし。
俺は、例えば、天気予報情報を提供するREST API経由のXXXサービスがあるとすると、
クラスとしてXXXWeatherClientクラスみたいの用意して、
メソッド名にGetWeatherInfoでGetで十分だわ。
クラス名がどこから取得するか物語ってる事になるし。ローカルキャッシュされたものを取得するなら
適当に、LocalCacheWeatherClientとか。
だから、俺はこんな設計に大抵するからGetで十分だな。

173:デフォルトの名無しさん
18/04/24 19:17:38.91 ZKUvPQBu.net
抽象化してもしなくてもいいが、例えば
interface IWeatherClient
 GetWeatherInfoAsync():
用意して、
class XXXWeatherClient : IWeatheerClient
class YYYWeatherClient : IWeatherClient
class LocalCacheWeatherClient : IWeatherClient
だから、クラス名の方がどっから取ってくるか物語るのでメソッド名は汎用的・抽象的なGetで十分かな。
こういう設計する場合は。

174:デフォルトの名無しさん
18/04/24 19:23:33.68 ZKUvPQBu.net
API呼ぶの1か所だけだし、抽象化もいらねぇしとかなら
class WeatherUtillity
 static FetchWeatherInfoAsync
でstaticメソッドあたりにしてこれなら名前はFetchでいいかなとは思うけど。

175:デフォルトの名無しさん
18/04/24 19:25:00.97 fm62Hv3K.net
getの話はさんざんされてるけど、言語の慣用によっては、
属性のゲッター的軽い処理と見誤られることがあるので注意すべき。

176:デフォルトの名無しさん
18/04/24 19:31:36.38 ZKUvPQBu.net
まぁ、長々書いたけど、
Twitter APIとかDropbox APIとかいろんなREST APIのラッパーライブラリ
を見ると、Fetchを使ってるのはほぼ見ないかな。ほとんどGetだと思う。

177:デフォルトの名無しさん
18/04/24 20:13:15.61 DxRUWE0G.net
まあ、混在がない(FetchXxxだけでGetXxxがない)かつ、
全部をGetXxxにしてもそれが何を意味するか文脈的に自明なら全部Getでも問題ないねたぶん
でもpublicなメソッドは全部FetchXxxでも非publicなGetXxxメソッドが
存在するような場合は、使う人は良くても書いたり保守するのは混乱するかもね

178:デフォルトの名無しさん
18/04/24 21:51:29.46 UZrLd4N8.net
そんなん気にしてるのおまえらだけやぞw
しかも他人は絶対使わんやんおまえらのコードw

179:デフォルトの名無しさん
18/04/24 23:24:04.71 RWNhMG6P.net
REST APIの仕様であれば、Getばかりなのはそういうものなので、あたりまえ。
今回の質問者にふさわしいとは限らない。
プログラム全体と天気予報情報の関係によるだろ。
ほかのところはふつうにプロパティ参照みたいになってるのに、天気予報情報だけがサーバーに取得しにいくとかなら、それだけを特別にfetchと名付けるのは妥当。
つーか、質問者はもうfetchがいいって言ってるんだっつーの。w

180:デフォルトの名無しさん
18/04/25 03:41:22.81 gCQtLPGy.net
weather.api() か weatherAPI() だな

181:デフォルトの名無しさん
18/04/25 07:24:54.62 8OWy2krh.net
それ呼んで天気が取得できそうに見えない

182:デフォルトの名無しさん
18/04/25 12:50:16.95 YpxvDKQH.net
接頭語は規約で縛りたいね

183:デフォルトの名無しさん
18/04/25 12:55:24.71 Ftk8gYl/.net
やめろそんなくだらん思いつきw

184:デフォルトの名無しさん
18/04/25 15:06:08.92 /DJF/vp7.net
ついでに型名とか軽量単位あたりも接頭辞で表すようにしてみるか

185:デフォルトの名無しさん
18/04/25 17:55:49.84 7+xZ9HVo.net
>>177
天候制御APIなのか。

186:デフォルトの名無しさん
18/04/25 22:04:30.35 TrWCKrBY.net
fetch()、sketch()、oneTouch()メソッドを持つHentaiクラス

187:デフォルトの名無しさん
18/04/26 21:22:57.77 gC2FApkc.net
文字型としてはchar32_tのみ、文字列型としてはUTF-8 stringを使う体系の名前
なんか格好いいのないですか

188:デフォルトの名無しさん
18/04/26 22:14:30.62 EmRzHR04.net
>>184
回答じゃなくてすまんが、
それ、文字列中の文字を一つずつ処理したいときどうすんの?

189:デフォルトの名無しさん
18/04/26 22:25:32.99 gC2FApkc.net
>>185
文字列をコードポイント単位で切り出して処理します

190:デフォルトの名無しさん
18/04/26 22:59:38.60 bkKH84l+.net
Utf32backedUtf8String

191:デフォルトの名無しさん
18/04/26 23:55:24.03 VXYRbyyQ.net
>>184
体系ってのがなんともアバウトだよねw

192:デフォルトの名無しさん
18/04/27 00:35:20.48 7vAN1kr9.net
StringUTF8_CharUCS4
かっこよくはないけど、字面のわかりやすさ重視で。
ほかのところ(Enum型名とか)でだいたいわかるのであれば、String_Char.UTF8_UCS4とかでも。

193:デフォルトの名無しさん
18/04/27 00:41:27.78 6Bhz5Awv.net
体系って言ってるんだからクラス名とかじゃないんでしょ
そもそもクラス名なら、内部でどういう符号化してるかなんて普通はどうでもいいはずw

194:デフォルトの名無しさん
18/04/27 00:51:53.60 W2h8WuA6.net
>>188 >>190
アバウトでごめん
例えばD言語のforeachだとUTF-8が入ったchar[]をdchar(char32_t)単位でループできるんだけど
そういうルールに従っていることを示せる、名前空間やプレフィクス等に使える名前みたいな……

195:デフォルトの名無しさん
18/04/27 01:01:21.64 W2h8WuA6.net
ずばりUCSにしてしまおうかとも考えましたがUnicode一般と区別がつかないですし
>>189で提案していただいたUTF_UCSみたいなのは"UTF"がそもそもそういう意味なので
格好悪いなあ、と

196:デフォルトの名無しさん
18/04/27 02:05:45.35 m8rmfrp+.net
振る舞わせたいことが決まってるならForeachableStrとか?
>>190も言ってるように「何で実装されてるか」を名前にするのはあんまり筋がよくない気がする

197:デフォルトの名無しさん
18/04/27 02:


198:23:34.45 ID:W2h8WuA6.net



199:デフォルトの名無しさん
18/04/27 02:47:42.29 6Bhz5Awv.net
正直そっちの世界よく知らんけど、単純に文字・文字列の順でそれぞれを
表すプリフィクスをくっつけちゃうとか。つまり、Uu8

200:デフォルトの名無しさん
18/04/27 04:09:55.93 W2h8WuA6.net
>>195
簡潔で良いですね。格好は……悩んでても仕方ないのでそうします
ありがとうございます

201:デフォルトの名無しさん
18/04/27 08:57:17.46 ZX4OPUdX.net
その効率悪そうな実装をするココロは?

202:デフォルトの名無しさん
18/04/27 11:26:33.92 3DjLi910.net
多重起動できる数を制限するのはなんて言う?
1つしか許さない場合もあれば2つまでは可能な場合もある
LimitMultiBoot、RestrictMultiBoot、他

203:デフォルトの名無しさん
18/04/27 11:35:52.00 Lc4wIlfn.net
>>198
MaxInstances

204:デフォルトの名無しさん
18/04/27 12:22:21.74 BpdbHlVm.net
そもそも数なら数ってわかる名前にしろよw
基本がアカンのに凝るとこ間違っとるでw

205:デフォルトの名無しさん
18/04/27 12:36:51.38 3DjLi910.net
>>199
多重起動できる数を制限するのに
Instancesで違和感無い?
>>200
間違ってない例お願い

206:デフォルトの名無しさん
18/04/27 13:11:57.11 +sB9m2tC.net
>>198
クラスなの?メソッドなの?変数なの?
そういう情報なしに命名なんかできるか。

207:デフォルトの名無しさん
18/04/27 13:27:06.30 Lc4wIlfn.net
>>201
実行ファイルを起動してできるプロセス = Instance
だったらMaxProcessesでもよさそうだけど、それだとまるで別のバイナリも含めた
実行可能なプロセスの数のような感じになっちゃう
そもそも質問文が曖昧に感じるけど、
プログラムが起動を許す自分の実体の最大値を表す数ならMaxInstancesでいいと思う

208:デフォルトの名無しさん
18/04/27 13:48:39.01 3DjLi910.net
>>202
多重起動できる数を制限する変数っておかしくない?
変数が何かするわけでもないし
>>203
プロセスもInstanceなんだありがとう
MaxInstancesだと「数」が格納されてそう
改めて言うと
自プロセスが多重起動できる数を「制限する」関数だから
動詞からはじめたい

209:デフォルトの名無しさん
18/04/27 13:51:21.38 +sB9m2tC.net
>>204
制限する個数を入れておく変数なら十分あり得るだろ
ていうか、MaxHogeっていうのはそういう変数や定数の名前にしかならんよ

210:デフォルトの名無しさん
18/04/27 14:04:49.98 Lc4wIlfn.net
>>204
じゃあLimitInstanceCountとか?
だけど、
if (getCurrentInstanceCount() >= MaxInstances) プログラム終了;
の方が分かりやすいと思うけどw

211:デフォルトの名無しさん
18/04/27 14:10:56.76 3DjLi910.net
>>205
変数を訊きたいなら「多重起動できる数はなんて言う?」になるのでは?
> 多重起動できる数を制限するのはなんて言う?
既に元の質問でこうなんだから変数はありえないとわかるし
そもそも例も動詞から始まってるんだから関数だとわかると思ったけど
それとも動詞から始まる変数もありなん?

212:デフォルトの名無しさん
18/04/27 14:16:37.58 3DjLi910.net
>>206
あぁごめん
そっちも変数だと思ってたのね
かみ合わないなと思ったらそういう事か
Limitにするよありがとう

213:デフォルトの名無しさん
18/04/27 14:17:16.59 uWI4DiNj.net
LimitRunningCount

214:デフォルトの名無しさん
18/04/27 22:17:00.33 +ocy8bIv.net
あーあ、limitにしちゃったか

215:デフォルトの名無しさん
18/04/28 07:16:54.26 1vsIQmRo.net
>>200
お前は基本の前に読解力が必要だなw

216:デフォルトの名無しさん
18/04/28 09:06:15.09 74OzkJQW.net
「起動」には invoke をよく使ってる

217:デフォルトの名無しさん
18/05/01 17:59:48.31 csuC8ljm.net
invokeの意味はcallに近いからメソッドの呼び出しには相応しいけどプロセス起動には違和感ある
bootだとOSが起動しそう
start、launchあたりでいいんじゃないかな
プロセスであることに特段の意識を向けないならrunもイイと思う

218:デフォルトの名無しさん
18/05/01 18:32:13.66 IZMmswHj.net
callというより、summonだよ。
すごいやつを召喚する感じ。
commandの起動にはinvokeが一番ぴったりだよ。

219:デフォルトの名無しさん
18/05/01 19:46:41.20 oyZWZ8lH.net
ぴったりなのはsummonやんけw何言っとんやコイツw
バカの考え恐るべしw

220:デフォルトの名無しさん
18/05/01 21:31:54.87 J+iCny9E.net
ソースにsummonとか出てきたら笑ってまうやろな。w
ファンタジーなのか、中二なのかと。

221:デフォルトの名無しさん
18/05/02 00:29:57.07 mp5av7vO.net
SummonWizard とか SummonDaemon したい

222:デフォルトの名無しさん
18/05/02 03:43:35.29 iZCbTs+2.net
デーモン"クロン"を召喚
スーパーユーザの名において命ずる
時の守護者よ預言を現実と為せ

223:デフォルトの名無しさん
18/05/02 07:26:32.24 GbcXK+Pf.net
auto daemon = Necromancy.Summon();

224:デフォルトの名無しさん
18/05/02 09:21:15.45 j9UHzewR.net
すぐにけせ

225:デフォルトの名無しさん
18/05/02 11:04:17.15 Ul+rrzaM.net
>>219
auto slave = necromancer.summon(new demon());

226:デフォルトの名無しさん
18/05/16 16:05:57.30 +m6OL90c.net
とりあえず前置詞省略するのやめてほしい

227:デフォルトの名無しさん
18/05/16 16:07:06.11 +m6OL90c.net
核となる動詞の目的語と付随する前置詞の目的語の区別がつかないんよ>他人のコード

228:デフォルトの名無しさん
18/05/16 20:32:46.91 5FKSCtlR.net
でも、自動詞と他動詞が並んだときに、すべて前置詞なしで統一したい気持ちもわかる。
確認もめんどくさいしね。。。

229:デフォルトの名無しさん
18/05/23 19:36:24.40 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
RUCPE

230:デフォルトの名無しさん
18/05/24 10:49:40.87 cPlRxlDn.net
RUCPE

231:デフォルトの名無しさん
18/05/28 06:35:00.86 kyqpWJOZ.net
Lookfor みたいに1語としてしまう方法もあるかな
自分も含めて英語が苦手な人間だと、確認が大変なのは同意する

232:デフォルトの名無しさん
18/06/05 16:29:36.05 rxd5N2KO.net
とある制御用プログラムの話です
例えるならスクリーンショットのように、ある瞬間の現場の状態を記録する処理をCaptureと命名しています
今回悩んでいるのはその逆で、記録されたキャプチャデータから可能な限り現場を再現する処理の命名に悩んでいます
何か名案ありますか?

233:デフォルトの名無しさん
18/06/05 17:35:39.82 vCTdp4Eh.net
>>228
restore?
decapture?
まあ、話が抽象的過ぎw
再現する対象によるんじゃないかと
絵画ならreadrawだろうしボードゲームならreplayだろうし構造物を再建するならrebuildだろうし
そもそも再現というニュアンスが本当に必要かもよくわからん
キャプチャーされたデータだろうとゼロベースで作ったデータだろうとdrawはdrawだろうって考え方もありうるかと

234:デフォルトの名無しさん
18/06/05 18:21:11.57 PRfwVQI5.net
saveとloadでもよさそう。

235:デフォルトの名無しさん
18/06/05 20:03:29.48 dW5AuQ9S.net
replay

236:デフォルトの名無しさん
18/06/05 20:44:13.65 rxd5N2KO.net
>>229
工作機械の制御プログラムなので構造物が近いです
rebuildにしようと思います
ありがとうございました

237:デフォルトの名無しさん
18/06/05 21:36:57.01 0hgxeSu3.net
captureだと一般的すぎるのでsnapshotをご提案。

238:デフォルトの名無しさん
18/06/05 22:49:02.18 m8mVVRTq.net
もし工作機械というのが削る系なら、rebuildには超違和感。。。
組み立て系なら超納得だけど。

239:デフォルトの名無しさん
18/06/05 23:39:15.31 yC4OyvIK.net
"restore a snapshot" は割と使われる表現みたいね
あとはimport/export とかも思いついたけど、
captureよりはもうちょっと上の処理のイメージになっちゃうかな

240:デフォルトの名無しさん
18/06/06 00:06:11.59 QCe3vYvo.net
純粋なデータを保存するわけではなく、実物の加工品(加工途中?)をスキャンして再現を試みる…と言う話みたいだから、save/loadやexport/importは違和感があるかなあ
それだと100%同じものが復元されるイメージがある

241:デフォルトの名無しさん
18/06/06 07:59:52.74 AFggJmmf.net
snapshotみたいな名詞らしい語を処理名(関数名)にするのには躊躇いを感じる
動詞用法あるけど基本はtake a snapshotだしこれチェキるみたいなくだけた表現だよな
SnapshotクラスやStateHistoryクラスのreplayやrestoreメソッドなら好き

242:デフォルトの名無しさん
18/06/06 19:12:54.42 unmQcZLl.net
playback

243:デフォルトの名無しさん
18/07/04 22:31:14.31 gFgZc5FG.net
IKD

244:デフォルトの名無しさん
18/07/05 16:54:41.07 AeL6VB/V.net
IKD

245:デフォルトの名無しさん
18/07/31 18:16:10.08 BaQoKVST.net
毎日データを作成して保存しているのですが、x日間保存・残しておくという仕様です。(現状5日)
このx日をdefineで名前を付けておきたいのですが、この名前をお願いします。

246:デフォルトの名無しさん
18/07/31 18:34:43.95 C5jUYukD.net
TIME_TO_LIVE
URLリンク(e-words.jp)

247:デフォルトの名無しさん
18/07/31 18:38:08.53 C5jUYukD.net
DAYS_TO_LIVEの方がいいかも

248:デフォルトの名無しさん
18/07/31 18:54:31.67 BaQoKVST.net
なるほど、TTLというのがありましたね。
それで行きます。
どうもありがとうございました。

249:デフォルトの名無しさん
18/08/01 19:25:31.53 L56+Ekrg.net
expire

250:デフォルトの名無しさん
18/08/02 00:40:08.75 Jsv6wlPl.net
expireを使うならDAYS_TO_EXPIRYだな

251:デフォルトの名無しさん
18/08/11 11:27:51.21 D0St3L3h.net
スレ立てるまでもない質問のスレ見てて、ここでもたまに同じ話になるが
このスレタイや>1だと、クラス名と変数名以外の質問はできないと勘違いしちゃう人も多いのかね

252:デフォルトの名無しさん
18/08/11 18:28:01.97 edehoOie.net
できないぞ。仕様。

253:デフォルトの名無しさん
18/08/11 18:43:58.24 WNr/dTgn.net
メソッド名とかは? w
ってか常識で判断しろよ

254:デフォルトの名無しさん
18/08/11 18:45:00.14 D0St3L3h.net
SQLのテーブル名やら実行ファイル名なんかも
過去にはありましたけどね

255:デフォルトの名無しさん
18/08/11 21:00:34.49 xD5kHdtf.net
メソッド名・関数名は変数名の一種でしょ(高階関数脳)

256:デフォルトの名無しさん
18/08/11 21:22:19.89 LaePOOgq.net
識別子名じゃあ堅苦しいし

257:デフォルトの名無しさん
18/08/11 21:29:33.96 edehoOie.net
もう「名前」にしよう。提案。

258:デフォルトの名無しさん
18/08/11 22:07:46.94 +hhI+0rF.net
子供の名前とかペットの名前まで相談されるぞ

259:デフォルトの名無しさん
18/08/11 22:32:03.46 QfTJwHhj.net
>>254

スレタイを『クラス名・変数名「とか」に迷ったら~』ってすればええんちゃう

260:デフォルトの名無しさん
18/08/11 23:14:01.89 nSSr2OPO.net
このスレの前身スレである「ネーミング倶楽部」の復活来る!?

261:デフォルトの名無しさん
18/08/12 00:00:33.86 GWXqucOk.net
PG板なんだから「命名に迷ったら」で十分じゃん

262:デフォルトの名無しさん
18/08/12 09:55:15.16 2ilyV10f.net
昔は、板名を見ずに検索で飛んできて
頓珍漢な質問する人って結構いたなあと思いだした

263:デフォルトの名無しさん
18/08/14 08:05:50.65 c1VO1O/p.net
メソッド名について相談です。
c#ですが、
public static Func<SqlConnection> CreatSqlConnection{xxxx}(string connectionString)
みたいな、「インスタンスを作るメソッド」を作るメソッドの場合、{xxxx}には何をいれたら良いでしょうか?
また、もっとより良い名前があれば教えてください。

264:デフォルトの名無しさん
18/08/14 11:44:03.89 45jA2HfC.net
素直にこうすれば無理名前考えずに済むんじゃないのかなと...
public static SqlConnection CreateSqlConnection(string connectionString){ ... }
....
Func<SqlConnection > creator = CreateSqlConnection;

265:デフォルトの名無しさん
18/08/14 11:47:26.70 45jA2HfC.net
ごめんこうか...
Func<SqlConnection > creator = () => CreateSqlConnection("debu");

266:デフォルトの名無しさん
18/08/14 13:27:03.62 iUeERglu.net
getSqlConnectionSupplier
頭と末尾の動詞はニュアンスに応じてお好みで
変数名をフルスペルで書いたときこうなる感じ
Func<SqlConnection> sqlConnectionSupplier = getSqlConnectionSupplier("debu");
関数型の変数についての良い命名ガイドラインって無いのかな
SupplierはJava8から拝借した

267:デフォルトの名無しさん
18/08/14 15:17:53.59 c1VO1O/p.net
>>260 261
ありがとうございます。
例に出したものに限らず、
「インスタンスを作るメソッド」を作る(返す)メソッド郡を作っているので、何かしら定型的なものがあればと思っています。
>>262
ありがとうございます。
creator,maker等は思い付いたのですが、supplierってのもあるのですね。
勉強になります。

268:デフォルトの名無しさん
18/08/14 16:57:24.97 45jA2HfC.net
>>263
「Func<T>を返すメソッド」自体が抽象的で分かりづらい。
どうしてもGetFuncToCreateSqlConnectionみたいに長くなると思う
例外は
static class SqlConnectionHelper
{
  public static Func<SqlConnection> GetCreator(string connectionString) { ... }
  ...
}
みたいにメソッドが置かれた文脈が十分に明示的な場合だけ

しつこくて申し訳ないけど、そもそも本当に「Func<T>を返すメソッド」に
固執する必要があるのか再考した方が俺はいいんじゃないかと思うけどなあ。
ラムダ式で簡単にTを返すメソッドからFunc<T>を作れるんだから

269:デフォルトの名無しさん
18/08/14 20:15:21.22 I6V3xwhV.net
>>264
抽象的でわかりにくいとおまえが思うのは、おまえが質問者の状況を想像できてないから。
質問者がいいと言っているのだから、それでいいのだ。

270:デフォルトの名無しさん
18/08/14 20:23:17.89 I6V3xwhV.net
>>263
create factory predicate
○なにかをつくるなにかはやはりfactoryだろう。FactoryパターンとかFactoryメソッドとかいうしね。
○個人的に、Action/Funcには総称してpredicateと名付けることにしている。

271:デフォルトの名無しさん
18/08/14 20:43:35.35 45jA2HfC.net
>>265
それでいいと思うならスレの趣旨にそったレスをしろ馬鹿者

272:デフォルトの名無しさん
18/08/14 20:44:34.23 45jA2HfC.net
>>266
いやpredicateは全然違うからw

273:デフォルトの名無しさん
18/08/14 20:47:13.97 /EKv3YIo.net
昔、関数ポを返すのを書いたときは
GetFooFunctionだったかGetBarMethodだったか、そんな感じにしたなあ
今考えるとちょっと野暮ったい

274:デフォルトの名無しさん
18/08/14 20:57:39.85 45jA2HfC.net
仮に運よく>>264みたいに簡潔なメソッド名が使えるとしても、
var creator = SqlConnectionHelper.GetCreator("Hage");
こう書けるだけ。
これが、
Func<SqlConnection > creator = () => CreateSqlConnection("debu");
より簡潔でより読みやすいと言えるか、かなり微妙だと思うけどね。
むしろ後者の方が可読的と思うけどなあ

275:デフォルトの名無しさん
18/08/14 21:02:43.21 kXwDSKTz.net
>>264
提案ありがとう。
都度都度ラムダで作れるのはそうだけどConnectionは1つの例で、(disposeの有無に関わらず)他にもラップしたいのはいくつかあるんですよ。
今は「インスタンスを作るメソッド」を作る(返す)メソッドってテーマで色々やってるんで。
他皆様もありがとうございます。

276:デフォルトの名無しさん
18/08/15 01:42:50.33 tWimvAnq.net
>>268
どう違うのか言え。馬鹿者。

277:デフォルトの名無しさん
18/08/15 02:21:33.52 2FmXo3U+.net
殺伐としたスレにPredicateが!
public delegate string IntToStringAction(int i);

278:デフォルトの名無しさん
18/08/16 17:17:21.85 FfzoHzI3.net
predicateって1つ以上の引数を取ってbool型を返す関数(関数オブジェクト)じゃねーの?
関数名が断定する名称でさ、例えば、Equal(A, B) → bool

279:デフォルトの名無しさん
18/08/16 23:05:16.48 p8ZUZr7l.net
それであってるよ
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
専ら条件式を記述するときに使う代物で、一般に「何かを受け取って真か偽か判定する」関数をpredicateと呼ぶ
>>266みたいに何でもかんでもpredicateと名付けるのは論外
覚えたての言葉を使いたがるガキかと

280:デフォルトの名無しさん
18/08/17 05:57:44.08 kUuVSKQh.net
>>273
案をありがとう。
これだと、C#にすでにはActionって名前のデリゲートがあるから、そっちに意味を取られないかね?
これは各々の認識の話になるけれども。
だったらサフィックスをFuncにしろよって話だけど、
なんかね、、、カッコ悪いしね

281:デフォルトの名無しさん
18/08/17 07:26:31.99 V/i+u2Gb.net
>>276
C#にはPredicateというさらに別の意味のデリゲートもあって、Predicateと言いつつActionという名前が付いたFuncですよね!いい加減にしてください!
と言われたいだけのネタだったんだ…

282:デフォルトの名無しさん
18/08/17 07:28:20.40 V/i+u2Gb.net
お詫びに案を挙げますね
//取得
Func<SqlConnection> createSqlConnection = x.GetCreatingSqlConnection("debu");
// 実行
createSqlConnection();

283:デフォルトの名無しさん
18/08/17 13:08:13.08 7gyaHV45.net
>>274
C#とかJavaでそういうデリケート/インターフェイスが定義されてるとしても、「predicate」の本来の意味は「述部」だから。
C#の場合は、comparerとかの名前を先にインターフェイスとして使ってしまってるから、ヤケクソ的にpredicateを使ったのでは?w
単体では意味が広すぎると思う。

284:デフォルトの名無しさん
18/08/17 13:10:30.52 7gyaHV45.net
>>275
たまたま知ってるひとつの意味にこだわるとか、まさにバカガキ。

285:デフォルトの名無しさん
18/08/17 13:20:48.82 rrElr8rg.net
classの本来の意味が「部類・種類」だからと言ってenumに付けてまわったら紛らわしいことこの上ないじゃん
JavaやC#といったメジャーな言語で定義されてるもんを勝手に使うのは良くない
しかも今回はActionやFuncが登場する言語での話だし
たまたま知ってたじゃなくて>>280が無知なだけ

286:デフォルトの名無しさん
18/08/17 13:33:11.89 fY7CNqGl.net
>>279
少なくともプログラミングの世界のpredicateの普通の用法はこれw
URLリンク(en.wikipedia.org)(mathematical_logic)
仮に君の言う「述部」とやらの意味だったとして、
そんな意味の用語がプログラミングの世界で必要とされる余地が果たして存在するかねw

287:デフォルトの名無しさん
18/08/17 13:37:28.17 E8kXAg+Z.net
>>279
命名ってのは英和辞書で引いてみて意味があってりゃいいってもんじゃねえだろ。
例えば「モノを作るなにか」でもcreaterやfactory、maker、manufacturerなどなど似たような単語はいっぱいあるが、その中でも最も適切な単語を選ぶのが命名だ。
「述語=predicate」と言うたまたま知ってた1つの単語に固執してるのは君だろう
初めて英単語を覚えた中学生じゃあるまいし

288:デフォルトの名無しさん
18/08/17 13:54:48.34 FrC0luOi.net
関数名より仮引数なイメージあるわ

289:デフォルトの名無しさん
18/08/17 14:58:06.31 KaaDwp63.net
まあ業界用語はテキトーに決められてる奴もあるから元の意味ガーとか言ってもしょうがないわな
ネットワーク用語のpromiscuousなんて元の意味は人前でつかうのを憚られるし w

290:デフォルトの名無しさん
18/08/17 16:19:33.11 7gyaHV45.net
>>281
言語要素といっしょくたにする意味がわからん。
名前空間のどこかにある名前とかぶってはイカンとか現実的じゃないし。
>>282
それは「プログラミングの世界」じゃなくて、数理論理学や一階述語論理における用法。
>>283
じゃあ「述語」に相当する英語は?

291:デフォルトの名無しさん
18/08/17 16:20:20.21 7gyaHV45.net
>>285
abortとかね。w

292:デフォルトの名無しさん
18/08/17 16:25:58.31 FrC0luOi.net
>>286
>言語要素といっしょくたにする意味がわからん。
言語要素よりは、そりゃ回避優先度は高いだろうが
次元としては同じじゃないかなあ

293:デフォルトの名無しさん
18/08/17 16:27:08.26 FrC0luOi.net
すまん、>288の日本語がおかしい
誤:回避優先度は高いだろうが
正:回避優先度は低いだろうが

294:デフォルトの名無しさん
18/08/17 16:37:36.53 E8kXAg+Z.net
>>286
一連の処理の総称を言いたいならmethodやfuncと名付けるのが一般的だわな
ガキンチョはちょっと周りと違う言葉を使おうとしてトンチンカンなチョイスをするから困る

295:デフォルトの名無しさん
18/08/17 16:44:51.48 5lcaj0TK.net
そもそも質問者がC#を使ってるのに、そのC#で多用するPredicateを別の意味で再定義しようとしてる時点でアホやろ
そんなアホ新人がいたら試用期間で切るわ

296:デフォルトの名無しさん
18/08/17 17:12:26.42 fY7CNqGl.net
>>286
ここまで見苦しい奴も珍しいなw

297:デフォルトの名無しさん
18/08/17 18:35:11.36 V/i+u2Gb.net
predicateの名詞用法のうち最も代表的なものは「述語」だから広義に用いても間違いという訳ではないんだけど、英英辞典を引くと動詞の「断定する」や「命題の述部」というニュアンスも色濃く現れてきて無視できない
URLリンク(www.dictionary.com)
語源としてもその辺から由来し、広義の述語へと転じた経緯がある模様
特にプログラミングや論理学の分野でどう用いられているかを見れば答えは自ずと決まる

298:デフォルトの名無しさん
18/08/17 19:08:31.34 nnyWdGJK.net
C#(特にLINQ)を触り始めたばかりの初心者だとPredicateとラムダ式を混同してることが多いからその類じゃないかね?
Predicateを引数にとる各種メソッド群も、一定の規則を守ったラムダ式ならコンパイラが自動的に解釈・変換してくれるもんだから勘違いしがち

299:デフォルトの名無しさん
18/08/17 19:30:14.24 zD2h2oDf.net
>>294
何を言いたいのかよくわからん
この際、おまえがしてた、若しくは現在進行形でしている勘違いを
洗いざらい吐き出しちまえよ

300:デフォルトの名無しさん
18/08/17 19:33:30.25 nnyWdGJK.net
>>295
「FuncにもActionにも何でもかんでもPredicateと名付けてしまうのはこれら全てがラムダ式と同一のものだと勘違いしてるんじゃないの?」ってこと
俺じゃなくて今春の新米PGにいたんだわ

301:デフォルトの名無しさん
18/08/17 20:02:32.47 zD2h2oDf.net
>>296
ラムダ式と同一のものというのがよく分からんが
ラムダ式ならLambdaでええやん
それがなぜPredicateになるんや?

302:デフォルトの名無しさん
18/08/17 20:39:16.72 nnyWdGJK.net
>>297
同じ意味をもつ別名ぐらいに考えてたらしい
そこで謎の選択をした理由はそんなの本人にしかわからんがな
カッコいいとでも思ったんじゃね?

303:デフォルトの名無しさん
18/08/17 21:36:39.65 zD2h2oDf.net
なんや結局謎のままやんけw

304:デフォルトの名無しさん
18/08/17 22:29:26.14 V/i+u2Gb.net
この人はPredicateとDelegateを混同してるのではないだろうか

305:デフォルトの名無しさん
18/08/17 23:06:48.61 hTsqlHEP.net
>>266が発狂してスレ伸ばしてるのこれ?
>>300
かもねえ

306:デフォルトの名無しさん
18/08/17 23:27:59.94 QIXEpzAH.net
>>300
最後の3文字しかあってないじゃないかwww
そんなバカがいるわけが…いや、そんな、まさか、ねえ?

307:デフォルトの名無しさん
18/08/17 23:33:12.06 7gyaHV45.net
>>300
いいだしっぺ本人だが、混同はしていないつもり。
C#ではdelegateは言語機能だけど、あくまでpredicateは一般名詞。数理論理なんかを記述してるわけではないし。
lambdaは抽象的な機能とか無名関数とかをあらわす


308:印象。 >>293 英語は同じ単語を別の用途に使い回すことはよくあるからね。 あんまり気にしない。w



309:デフォルトの名無しさん
18/08/17 23:36:41.12 QIXEpzAH.net
まーた恥の上塗りが始まった

310:デフォルトの名無しさん
18/08/17 23:48:25.74 w9bXgbFB.net
>>303
このスレでも何度も書いたことだが、
英語という言語は日本語のように新しい概念に対して語彙を増やして対応する言語じゃない。
同じ言葉を文脈によってまったく別の意味に使い分ける傾向が強い言語だ。
だから、
>あくまでpredicateは一般名詞
これナンセンス。
だから何度も言ってるだろう。
プログラミングの分野では(数学と同じく)boolで評価する関数のことをpredicateを言うの。
いい加減恥を知った方がいいよ。

311:デフォルトの名無しさん
18/08/17 23:51:44.07 QIXEpzAH.net
しかし夏だねえ

312:デフォルトの名無しさん
18/08/17 23:53:05.85 9uI3JlhI.net
>>303
言語機能か一般名詞かの違いしかないと思ってるんならそれは混同してるってことだよ

313:デフォルトの名無しさん
18/08/18 00:08:59.00 LOkpLZfD.net
だいたいコードの中の普通の日本語でいう述語なんか出てこないだろうってw
お前はコードの中に、
(空は)青い
(地球ま)回る
とか書くのかとw
ダイクストラ先生の時代からコードってのはデータと手続きで出来てるんだよw
それは宣言型の言語だろうが同じこと

314:デフォルトの名無しさん
18/08/18 00:13:12.08 QJ6qXFdU.net
なんやまたどえらいアホが現れたなあw結構結構wwww

315:デフォルトの名無しさん
18/08/18 00:44:17.20 N7wT67Om.net
>>303
キミ、「述語」って言葉の意味すらよく分かってないんじゃない?

316:デフォルトの名無しさん
18/08/18 01:00:41.41 MgtGkUH1.net
混同というのはID:nnyWdGJKに対して言ったんだけどな
余計な飛び火をさせてしまった

317:デフォルトの名無しさん
18/08/18 01:06:13.96 MgtGkUH1.net
>>305
英語にも外来語は多いよね
新しい概念に対して語彙を増やさないというのが何を指してるのか詳しく知りたい
漢字がない分、同音異義語が多いという話なら分かる

318:デフォルトの名無しさん
18/08/18 01:10:28.56 MgtGkUH1.net
>>308
if (sky is blue) earth.evolute()
プログラミングで述語は書くと思うよ

319:デフォルトの名無しさん
18/08/18 01:13:07.29 CxOhf3ss.net
あらゆるメソッド名、クラス名にSentenceと名付けてしまうかのような暴挙

320:デフォルトの名無しさん
18/08/18 01:14:41.34 QJ6qXFdU.net
あらゆるメソッド名、クラス名にSentenceと名付けたらコンパイル通らんやんwwww
アホしかおらんのかここはwwww

321:デフォルトの名無しさん
18/08/18 01:16:34.23 tAHy4SpI.net
その理屈で言えば>>266もコンパイル通らんやろ…

322:デフォルトの名無しさん
18/08/18 01:18:38.83 QJ6qXFdU.net
>>316
スコープ内で一意なら普通にコンパイル通るわw
おまえプログラミングしたことあるんかwwwww

323:デフォルトの名無しさん
18/08/18 01:25:33.36 tAHy4SpI.net
>>317
その理屈で言えばSentenceも通るやろ
マジレスするとプレフィックスないしサフィックスの話やろ

324:デフォルトの名無しさん
18/08/18 01:27:40.92 QJ6qXFdU.net
>>318
どの理屈やねんwwww
言い訳すんなアホw

325:デフォルトの名無しさん
18/08/18 01:28:57.12 N7wT67Om.net
つーか何度も言ってるが、C#で多用されるLINQの引数型としてPredicateはあちらこちらで使われるんだから
それに別の意味を持たせて再定義してる時点で脳味噌スッカスカだろと

326:デフォルトの名無しさん
18/08/18 01:30:10.58 tAHy4SpI.net
>>319
スコープ内でSentenceが一意ならコンパイルが通ることも知らんのかいな(呆れ)
プログラミングしたことあるか?

327:デフォルトの名無しさん
18/08/18 01:44:39.95 X2Z3Uu8P.net
delegate(委任、委譲)とpredicate(断定)の区別すら出来ない子がいるとは…一般名詞とか言語仕様以前の問題だろう
中学生ぐらいで英語力が止まってるのか?

328:デフォルトの名無しさん
18/08/18 01:56:59.73 LOkpLZfD.net
>>312
何を指すも英語はそんな文脈に依存して意味が変わる単語だらけ
atomic, bit, function
日本語は英語より文脈に依存する表現を好まない傾向が強い
分割不可能性みたいに明示的な漢語を作り出すか、ビットのようにカタカナ表記にするか
(日本語でビットといえば普通文脈に関係なくそのビットしかない)関数のように音訳する

329:デフォルトの名無しさん
18/08/18 02:12:07.58 LOkpLZfD.net
電動ドライバーのビットはあるかw
でも日本語が同じ言葉より語彙を増やすことを好む言語なのはちょっと考えれば
大方同意するよね
スレ違いなのでこれで終わりで

330:デフォルトの名無しさん
18/08/18 02:14:44.60 LOkpLZfD.net
× 同じ言葉より語彙を増やすことを好む
〇 同じ言葉を使いまわすより語彙を増やすことを好む傾向が強い

331:デフォルトの名無しさん
18/08/18 02:58:17.88 hnx9JO2D.net
valueをgetするメソッド名に悩んでるのですが、一般的にはどんな名前になるんですかね?

332:デフォルトの名無しさん
18/08/18 02:59:09.12 hnx9JO2D.net
valueGetterでいいのかな?

333:デフォルトの名無しさん
18/08/18 04:05:49.01 CDhAkOpw.net
>>320
いうほど使わないが。
Func<T,bool>としか書かないからな。

334:デフォルトの名無しさん
18/08/18 05:31:12.42 g/WMhA69.net
>>326, >>327
変数のようにその値が意味する名称にする(例えば、string.length)、あるいはgetValueのように動詞始まりで書く
個人的には、状態を取得する関数は他の関数(手続き、メソッド)と完全に区別しているから、名詞にするよ
状態を表すbool型を返す場合は、trueを想定した命題にする特殊なルールがある(例えば、iterator.hasNext)
ValueGetterって名称の場合、関数は動詞始まりが一般的だから、(get)ValueGetterのように省略していると解釈され
意地悪を言っちゃうと、Valueを取得するGetterオブジェクトを返すって意味に取られかねない

335:デフォルトの名無しさん
18/08/18 06:39:02.57 0oOTxqO8.net
>329は解答として満点に近いと思うのでこれに賛成しておこう

336:デフォルトの名無しさん
18/08/18 07:44:29.19 MgtGkUH1.net
>>324
ありがとう把握した
個人的にはやまと言葉は1単語の広がりがとても広く
漢語はその豊富な表意文字と音素の恩恵から狭めって認識だわ
それと外来語学習者のバイアスがあって
学習者はコアとなる概念をそのまま理解できずに
母語の単語に置き換えて把握するから
例えば英語話者は日本語の核という言葉が
atomic, core, nucleus, kernelの4つに当てはまることを見て
使い回しの多い言語デスネーと感じる傾向があると思う
スレチなんで俺もこのくらいにしておきます

337:デフォルトの名無しさん
18/08/18 07:56:57.22 MgtGkUH1.net
>>326
言語とクラス名にも依るけど、その感じだとJavaかな
JavaならThreadLocalやOptionalのような変数のコンテナクラスにはget()というメソッド名が与えられてるから、それに倣うと自然な感じになると思う

338:デフォルトの名無しさん
18/08/18 08:21:05.22 0oOTxqO8.net
20年前ならともかく、
getだけでJava前提にするのは厳しいかなと思いますがw

339:デフォルトの名無しさん
18/08/18 12:28:24.34 MgtGkUH1.net
モダンな言語は大概プロパティがサポートされているから、getterメソッドを使う慣習があって、小文字で書くそこそこシェアのある言語ってことでJavaかなーと思ったんだけどな
Rubyも候補に入るのかな

340:デフォルトの名無しさん
18/08/18 12:46:29.75 uDYXPxxS.net
>>328
コンパイラが暗黙的にキャストしてくれるからって、それに頼り切って本来の引数型を見てみぬふりしちゃいかんだろう

341:デフォルトの名無しさん
18/08/18 13:03:31.24 CDhAkOpw.net
>>335
その本来がFuncだが。
URLリンク(docs.microsoft.com)

342:デフォルトの名無しさん
18/08/18 13:33:47.43 0oOTxqO8.net
>>334
プロパティあっても、アクセサ的なメソッドを作ることは珍しくないかなと

343:デフォルトの名無しさん
18/08/18 21:18:57.24 hnx9JO2D.net
ルッビーアックバール!

344:デフォルトの名無しさん
18/08/19 00:30:14.49 EuNb7t2q.net
>>334
C#でもありえーるでしょ。
リフレクション前提とか。
プロパティはメソッドと別扱いだから。

345:デフォルトの名無しさん
18/08/19 07:29:43.11 Owr7PcVA.net
>>339
小文字でと書いたのは、C#のようにメソッド名先頭を大文字とするのが主流の言語は
推測の第一候補にはならなかったっていう意味ね
もし>>332でJavaと推測・仮定したことがナンセンスだというツッコミを入れるなら
他の言語である可能性がゼロでないことを示しても論拠として弱い
Javaではない蓋然性の方が高いだろという主旨でないと

346:デフォルトの名無しさん
18/08/19 12:34:21.72 tEQmuEnO.net
1段落目だけでいいです

347:デフォルトの名無しさん
18/09/18 13:04:45.53 ub4FiyyP.net
今週のぱいじょ132話
URLリンク(paiza.jp)
『大事な変数名』だってよ

348:デフォルトの名無しさん
18/09/19 10:54:47.56 B2R8NLhN.net
変数名は大事だな

349:デフォルトの名無しさん
18/09/19 14:27:36.07 MoqoniL9.net
よーしパパ、ハンガリアンでバリバリコード書いちゃうぞ!

350:デフォルトの名無しさん
18/09/20 20:05:21.32 9QTub7MD.net
ハンガリアンは大事だな

351:デフォルトの名無しさん
18/09/20 20:50:07.90 l42nckct.net
変数名はだいじだな
ハンガリアン(に汚染されていたことの発覚)はおおごとだな

352:デフォルトの名無しさん
18/09/20 20:51:25.89 DBWB48iV.net
カッコさんもこれほど存在感のない使われ方するとは思ってもみなかったやろなw

353:デフォルトの名無しさん
18/09/21 22:58:36.14 zRb9Ordj.net
ハンガリアン悪くない
悪いのは型名をプレフィクスに使う事

354:デフォルトの名無しさん
18/09/21 23:17:13.00 MqKbhYRD.net
型名が何フィクサーやったらええんや?

355:デフォルトの名無しさん
18/09/21 23:30:33.48 0BdmXKlD.net
NYのフィクサーならカッコいいと思います

356:デフォルトの名無しさん
18/09/21 23:40:14.17 O7oYqnzQ.net
ハンガリアン悪くない
private変数の
m_
とか推奨

357:デフォルトの名無しさん
18/09/22 00:07:18.77 Elm8N2Dm.net
納期
DEAD_LINE
死ぬんか

358:デフォルトの名無しさん
18/09/22 01:02:58.20 mXZbGj0b.net
>>352
何が言いたいのかよく分からない
英語にケチつけてるなら、それ相応の板へどうぞとしか

359:デフォルトの名無しさん
18/09/22 09:01:46.06 4dEHSzz5.net
訳し方ひとつじゃないだろ
プログラマーのメンタルに悪い

360:デフォルトの名無しさん
18/09/22 09:41:14.17 i8+E3FCQ.net
こうですね、理解ります
DEAD_LINE
死の線
モノの死にやすい部分
直死の魔眼により視ることができ、切られたものは死ぬ

361:デフォルトの名無しさん
18/09/22 10:17:47.73 mXZbGj0b.net
>>354
一般的な日本人がそのまま読んでも意味が通じる
実に最適な選択だろ

362:デフォルトの名無しさん
18/09/22 11:07:39.01 4dEHSzz5.net
納期=死線
ちがう絶対ちがう遅れたっていいんだ誰も死なないんだ

363:デフォルトの名無しさん
18/09/22 11:23:11.52 TIOG2Ben.net
due date使えよ

364:デフォルトの名無しさん
18/09/22 11:26:12.67 i8+E3FCQ.net
最適解について考えるなら俺も due date を推したい
時刻もあり得る deadline と違って日付であることが明確
deadline は守るべき締め切りというニュアンスが乗りすぎてフラットでない感もある
ただアッパーケースで書いてるし、ザ・期日というべき値ならDUE_DATEよりDEAD_LINEのニュアンスが相応しい文脈なのかもと思ったり
due date という英語は難しいから避けた方がいい、なんて環境ならレベルが低すぎるからとっととおさらばしたい

365:デフォルトの名無しさん
18/09/22 11:33:19.06 i8+E3FCQ.net
いや納期だったか
じゃあ delivery date だな

366:デフォルトの名無しさん
18/09/22 12:34:11.88 TIOG2Ben.net
delivery dateだと、その日だけって感じにならん?
due dateならそれより前でも可ってわかるけど

367:デフォルトの名無しさん
18/09/22 13:49:40.09 kFAOP0FY.net
英辞郎で「納期」で検索した感じ、ニュアンス的には納品側の用語としてはdeadline、
発注側の用語としてはdue dateが適切のように感じるね
個人的にはそこまでこだわる必要はなく、普通にdeadlineでよいと思う

368:デフォルトの名無しさん
18/09/22 13:51:25.09 4dEHSzz5.net
俺のメンタルに悪いっつってんだろgじゃkじゃあjsふぁ

369:デフォルトの名無しさん
18/09/22 14:24:37.52 mXZbGj0b.net
日本語には「~です」って言葉をよく使うんだけど
生きづらそうだね

370:デフォルトの名無しさん
18/09/22 15:15:34.07 4dEHSzz5.net
それは直接的な意味ではないし回避するために毎回文章を考えるのが面倒なので仕方ないdeath

371:デフォルトの名無しさん
18/09/27 19:49:12.84 JSlkPqQs.net
自社スタンドアロンアプリでデータをCSVにエクスポートする機能があるので、
ExportXXX()みたいな関数名が付けられていたんだけど、
この機能を使い回して自社WEBサービス版でも一部利用しようということに
なったものの、こっちで使うときもExportでいいのかどうか
くだらないことに引っかかってる次第。
スタンドアロン←→WEBの間にユーザーは一切関与せず、どちらもまとめて
一つのシステムという扱いなので、Exportでは外に出して自由に使える
イメージが強くて違和感が。
気にしすぎですかね?

372:デフォルトの名無しさん
18/09/27 19:55:39.03 lMgw/m73.net
気にしすぎというか何言っとるのかわからん

373:デフォルトの名無しさん
18/09/27 20:14:19.43 7LpaKKmv.net
もはや気にしてもしょうがない
出来ているものの名前は変えなくていい
とはいえ違和感が強いならExportというネーミングが最初から微妙だった可能性を省みてもいいかも
システム外部へのエクスポートはCSV出力のひとつの役割で
当初はその側面しか見てなかったけど
本質を表してはいなかった可能性がある
例えば別案はWriteXXXToCSV

374:デフォルトの名無しさん
18/09/27 20:15:54.50 314u9gDI.net
Web版でExportXXXしたら何が起きるの?

375:デフォルトの名無しさん
18/09/27 20:40:57.03 sTtGwCQ3.net
何言ってるのか分からないねw
Exportっていうのは普通に考えれば「データを他所のアプリに対してexport」ってニュアンスなので、
もしCSVをそのアプリ自身でも読むのならちょっと違うとは思う。

376:デフォルトの名無しさん
18/09/27 21:05:18.71 JSlkPqQs.net
>>367
スタンドアロンというのが意味が違うんですかね。
Windowsにインストールしてるソフトがあり、それのことを書いてました。
旧来のそのソフトにWEBサービス版が加わり、そっちとデータの
やりとりが必要となったという流れです。
>>368
仰るとおりです。当初は外部に出してしまって好きに使ってもらう
ことしか考えてなかったのですが、WEB版にデータを渡すのに
一々新規でそのプログラムを作らないで、Export部分を使い回した方が
工数削減出来るだろうし、その後の保守も手間を省けるというところです。
ただ、この場合システム内部で完結するのでExportとは言わないかなあと。
既に開発スタートしてて、既存のExport部とは関係ないデータを吐き出すのに
MakeXXXXCSVみたいなのを作ってから、後でExport処理も使い回す際に
ネーミングに疑問が出てきました次第で。
>>369
WEB版にはExport機能はありません。
スタンドアロン運用で不便な点のみWEB版として追加してます。
>>370
すみません。
ニュアンスとしては同感でして、そこから今回の質問の流れとなりました。

とりあえずは、やはりExportのままだと本来の意味からするとちょっと
違う感じですよね。
もうちょっと考えてみます。どうもありがとうございました。

377:デフォルトの名無しさん
18/09/28 20:32:14.35 SyXcx5uH.net
>>366
エクスポートは取り出した結果を外部に公開するイメージだから、スタンドアロンとかwebとかは関係ないと思う。

378:デフォルトの名無しさん
18/09/29 01:06:55.25 QC2tzjvw.net
おまえのイメージも関係ないと思う

379:デフォルトの名無しさん
18/09/29 02:02:39.43 4/x0Bpme.net
>>372
そう、関係ないですよ。一行で書けば、
既にあるExport機能を内部で完結する形で流用するので関数名がExportだと意味が違ってくるけど変えた方がいいかな考えすぎ?
という主旨です。
開発内部からみれば一応二つのシステム間でExport,Importしてるのは間違いないですが。

380:デフォルトの名無しさん
18/09/29 12:46:33.16 x2fX+cFc.net
最初から通信などの内部処理用として用意するならserializeとかにすると思うけど、
既存の処理を使い回すならexportでも別にいいかなあって印象
自分で自由に出来るなら、出力部分のコードをserialize側に移して
export側ではserializeを呼び出すようにしちゃってもいいんだろうけど

381:デフォルトの名無しさん
18/10/06 01:13:06.07 JjdhAE/r.net
「システム・ハンガリアン記法」を嫌う人がいるようだけど、個人的には実際に長年使ってみて、
コーディング効率が上がっていると感じる。
ネット上でよく見かける反論に、「システム・ハンガリアン記法は、(代入などで型が異なれば)コンパイラ
がエラーを出してくれるのだから不要」というものがある。
しかし、システム・ハンガリアン記法を使っていれば、たとえば、代入のコードをコーディングしたい最中に
周囲の変数の変数名を見て、エラーが起きない組み合わせを探すと、実は、非常にわずかな組み合わせ
しか無いことが多い。
そして、そのわずかな組み合わせの中に必ず正しいコードがあるので、人間の作業は、
そのわずかな組み合わせの中から選ぶだけでよくなるので、思考の節約になってくれる。
もし、システム・ハンガリアンを使っていなければ、この思考の節約が働かないので、
本格的に考えないといけないことがあり、余計に時間がかかってしまうことがある。
正しいコードが次のようなものだったとする:
pXxxx = pYyy


382:y + ofsAaa; 周囲には、pXxx, pYyy, ofsAaa 位しか変数がないとすれば、頭を使わなくても、可能な組み合わせは、 上記のコードを含む少数のパターンしかないことがすぐに分かる。 そのうちから正しいコードを「選ぶ」事と、意味で考えることを二重に行うことで、早く正解のコードを 書くことが出来るようになる。 ところが、システム・ハンガリアン記法を使っていなければ、意味で考えることしか出来なくなり、 思考パターンを減らすことが出来ない。また、コンパイルしてみないと「検算」もも出来ない。



383:デフォルトの名無しさん
18/10/06 01:42:44.00 JjdhAE/r.net
さらに、文字列などを使っている時、
CString     strText;
const char   *pszText = (const char *)strText; // operator char *() 演算子による型変換
int        lenText = strText.GetLength();
などと、同じ Text という名前の文字列に対して、CString 文字列や、それを高速アクセスするための
文字列へのポインタ、文字列の長さ、の各々に対する変数名を機械的に付けられるのは重宝している。
さらに、よくあるのは、メンバ変数と全く同じ意味のローカル変数や仮引数がある状況。
この場合、毎回、新しい生を考え出すのは大変なので、メンバ変数には必ず先頭に m_ を
つけていると便利。今の場合、
m_strText   = strText;
m_lenText   = lenText;
のように美しくバランスするのがとても好きだ。
これだと、エラーが正しいコードであることがとても分かりやすい。
また、「m_」の接頭辞は、次のようなコンストラクタでも重宝する:
CPerson::CPerson( const CString &strName ) {
m_strName = strName;
}
さらに、引数が同じ文字列でも、0終端文字列の場合は、
CPerson::CPerson( const char *pszName ) {
m_strName = pszName;
}
とすればよいだけなので、とても美しい。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch