クラス名・変数名に迷ったら書き込むスレ。Part26at TECH
クラス名・変数名に迷ったら書き込むスレ。Part26 - 暇つぶし2ch1:デフォルトの名無しさん
15/12/20 23:36:31.74 uXFKqVsm.net
クラス名、変数名のつけ方に悩んだら書き込むスレです。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part25
スレリンク(tech板)

2:デフォルトの名無しさん
15/12/21 08:18:00.95 b5mKB6Ep.net
RPGのキャラ名と同じで悩む

3:デフォルトの名無しさん
15/12/22 23:26:54.64 awHSqo+V.net
即死判定避け

4:デフォルトの名無しさん
15/12/23 20:58:56.25 3RKZT6AB.net
特殊変数ってなんですか?

5:デフォルトの名無しさん
15/12/23 21:08:51.17 w6yNQewc.net
ラッスンゴーレライ

6:デフォルトの名無しさん
15/12/24 20:26:43.43 3eLzbDJz.net
>>4
スペシャルバルー

7:デフォルトの名無しさん
15/12/27 11:17:08.24 VUJqwlMv.net
あるクラスと、その管理クラス。
イメージ的には以下のような感じで、似たようなペアが複数ある。
  //あんぱんクラス(管理される側)
  class Anpan : Foo
  {
    bool isTsubuAn;
  }
  //あんぱん管理クラス
  class AnpanMan : Bar
  {
    Anpan ampans[100];
  }
管理側クラスと被管理側クラスそれぞれに共通する項目をまとめてクラス化し、
そこから派生するという形にしたい。
基底クラス単独では使用せず、必ず派生させて使うとする。(仮想クラスとかそんなん)
この基底クラスの名前2つ、どうしたら良いだろうか?
現在は仮名として、Managed


8:Object と ObjectManager にしてるが、コレジャナイ感がすごい。



9:デフォルトの名無しさん
15/12/27 12:07:58.69 5WSpb67q.net
>>7
私なら継承する側(子)がそれを継承することによって「どうなるか」を考えて命名する。
継承される側(親)は子にとってどのような立場かでは命名しない。
(いわゆる哺乳類--犬のような関係では命名しないという事、できるだけね)
共通する項目とやらの実装によって実現する機能がただひとつなら、
その機能を表した名前にする。
たとえば栄養成分を表せるようにする機能しかないのなら Nutrition 基底クラス。

その機能が複数あるのなら、クラスを複数に分け、
それぞれにその機能を表した名前をつけて、
Anpan クラスらがそれら複数の親クラスを全てを継承する。
たとえば栄養成分を表せる機能の他に、美味しさの評価も表せる機能があるのなら、
Nutrition 基底クラスと Palatability 基底クラス。

10:デフォルトの名無しさん
15/12/27 12:51:08.65 wCrEF7A1.net
>>7
抽象的なものには抽象的な名前しか付けられないのは当たり前。
管理てw

11:デフォルトの名無しさん
15/12/27 13:46:58.97 VUJqwlMv.net
>>8
ありがとう
継承先まで考えないとダメか
>>9
抽象的なクラスにも、命名規約やスマートな命名というのは存在するものだと思ってた
世の中にはまだまだ知らないことが多いや

12:デフォルトの名無しさん
15/12/27 22:52:52.89 0bjKARAH.net
配列名を考えているのですが、この配列が
{1, 2, 3}
みたいな単純な番号の配列ならnumberArrでいいと思うのですが、これが
{{1,2}, {3, 4}, {5, 6}}
みたいにnumber自体が複数の番号を含む配列だった場合ってnumbersArrって複数形にするべきですかね?

13:デフォルトの名無しさん
15/12/27 23:16:08.40 yPJ+dg3G.net
int number = 0;
こんな変数名を付ける奴は馬鹿。

14:デフォルトの名無しさん
15/12/27 23:21:28.92 gk5qJ2/9.net
>>12
ただ書き安いものに変えただけで実際は数字じゃないから気にしないでくださいな

15:デフォルトの名無しさん
15/12/27 23:28:47.90 wEcqjPTL.net
>>12
例えに突っ込むバカ

16:デフォルトの名無しさん
15/12/27 23:30:50.99 Tz7ihpzs.net
頭おかしいんだろ

17:デフォルトの名無しさん
15/12/27 23:54:19.12 yPJ+dg3G.net
>>14
だったらお前が名前を提案してみろ馬鹿が。
例えって何だ馬鹿。
配列デアルとか配列の配列デアル、なんて情報だけから名前を付けられるのか馬鹿。

18:デフォルトの名無しさん
15/12/27 23:55:56.74 HbadJCwi.net
名前をつけろなんてどこにも書いてないんだが
マジでアスペじゃねえのこいつ

19:デフォルトの名無しさん
15/12/28 00:05:34.41 77meXpNW.net
>>17
馬鹿だろお前。
numbersArrってのは変数名じゃないのか馬鹿。

20:デフォルトの名無しさん
15/12/28 00:06:31.20 77meXpNW.net
>>17
お前、偉そうに他人に食って掛かるんだからちゃんと質問者に回答しろよ馬鹿。

21:デフォルトの名無しさん
15/12/28 00:08:42.10 77meXpNW.net
>>17の馬鹿がどうやって「名前を付けずに」質問者の回答に応えるか見物だな。

22:デフォルトの名無しさん
15/12/28 00:08:53.61 6Olxu19n.net
>>11
私なら、その変数が使われるソースを「読むとき」、もっとも知りたいけど、
でもぱっと見では分かりにくい、という情報を変数名に込めます。
(書いているときは自分で分かっているから、読むときなのがミソ)
私の場合それは「変数の中身」なので、その例で言えば、
{1,2, 3} は numbers、{{1, 2}, {3, 4}, {5, 6}} は numbers_set としますね。
まず、コンテナの形が配列だからといって arr は付けません。
そのような形の情報は型や使われ方を見れば一目瞭然なので、名前で表す必要性が薄いです。
名前を無駄に長くしてしまいかねません。
ソースを読むとき、知りたいのは変数の中身が何かという情報です。
何が入っているか分からなければソースを読んでも処理が理解できないです。
しかし、変数は関数に渡したり、別の変数と演算したりで、
ソース内で中身が直接見られる機会はそう多くありません。
なので、変数名によってできる限り中身が分かるようにします。
そこで、中に数が複数入っているものは numbers と複数形にし、
そのようなものが複数集まっているものは numbers_set とします。
配列構造だろうがツリー構造だろうが set です。
ちなみに、複数形が無い英単語でも私は s を付けます。
(アンダースコアは私の単なる好み)

23:デフォルトの名無しさん
15/12/28 00:46:20.93 xExjGHf3.net
> ちなみに、複数形が無い英単語でも私は s を付けます。
意図してこんなことする人いるんだ
datas とか出てくると正直げんなりするんだよな

24:デフォルトの名無しさん
15/12/28 00:48:08.25 Ncu4wo40.net
>>21
ありがとうございました

25:デフォルトの名無しさん
15/12/28 00:54:57.69 UNiAtUu1.net
>>22
お前の認識も間違ってるぞwww

26:デフォルトの名無しさん
15/12/28 00:56:19.41 uPjqRUVd.net
>>22
これは恥ずかしいな

27:デフォルトの名無しさん
15/12/28 01:24:02.90 K1IqNq7A.net
まあ 's は紛らわしいよね

28:デフォルトの名無しさん
15/12/28 01:26:26.68 jeNV6wTy.net
それは所有格

29:デフォルトの名無しさん
15/12/28 03:43:12.92 grUv96L2.net
>>20
連投必死だな・・・
Yes or Noだけでも答えられる質問だろこれ・・・

30:デフォルトの名無しさん
15/12/28 07:50:37.35 6JFYIsnx.net
>>28
そういうの精神勝利法って言うんだよ。
馬鹿じゃなかろか。

31:デフォルトの名無しさん
15/12/28 08:00:53.28 TdC3hUGh.net
datazだと暗黒面を感じる。

32:デフォルトの名無しさん
15/12/28 10:32:00.22 akpjdUHU.net
>>7
Foo がどんなメソッドを持つかによる。何も持たないのならObjectじゃね?
Bar は Holder でも集合的な名前でもなんでもいい。Manager でも Cluster でも

33:デフォルトの名無しさん
15/12/29 00:35:33.66 NmwzIy5H.net
>>29
突っ込みするなら質問をよく読んでから突っ込めw

34:デフォルトの名無しさん
15/12/29 00:42:45.28 mWFYZofI.net
>>32
馬鹿だろお前。
お前がな。

35:デフォルトの名無しさん
15/12/29 00:49:23.87 NmwzIy5H.net
>>33
> 複数形にするべきですかね?
に対して変数名ガーってバカだろう

36:デフォルトの名無しさん
15/12/29 01:02:47.57 mWFYZofI.net
>>34
お前がな。しかし酷い馬鹿だ。
こういう馬鹿はきっと、床屋で洗髪中に「痒いところはありますか?」
って聞かれて「はい」って答えるようなトンチキなんだろうな。
コミュニケーション障害っていうのはこういうのを言うんだね。

37:デフォルトの名無しさん
15/12/29 01:06:56.39 NmwzIy5H.net
>>35
苦し紛れの論点ずらしかw
その例えも頓珍漢な例えになってるっていうw

38:デフォルトの名無しさん
15/12/29 01:12:11.62 mWFYZofI.net
>>36
馬鹿に言ってもしょうがないが、上記のたとえと同じように、
質問者もYes/Noの回答なんか期待してない。
お前のような馬鹿はともかく、普通の人には何を聞きたいのかこれで十分伝わると考えて
くどくど書かずに簡潔に「複数形にするべきですかね? 」と聞いてるだけ。
その質問者の認識は正しい。
お前がバカなだけ。

39:デフォルトの名無しさん
15/12/29 01:19:57.38 NmwzIy5H.net
>>37
お前のその主張と>>12は繋がらないだろw
墓穴掘るの楽しいかw

40:デフォルトの名無しさん
15/12/29 08:43:55.87 F3CDSSP+.net
句読点使いまくるやつって頭おかしいのしかいないなほんと

41:デフォルトの名無しさん
15/12/29 10:47:12.11 vSlzKg1M.net
酷いアスペをみた

42:デフォルトの名無しさん
15/12/29 18:06:41.58 X/vzfUPw.net
名前に迷ったら設計失敗してるって事?

43:デフォルトの名無しさん
15/12/29 18:26:17.61 o7LmOYpV.net
>>21
> 配列構造だろうがツリー構造だろうが set です。
集合の要素じゃなくて集合自身を表す名前を付けろよ
自分で批難してるシステムハンガリアンと五十歩百歩やんけ

44:デフォルトの名無しさん
15/12/29 23:04:09.58 ZSlfY8DA.net
×社員set
○会社
って感じ?

45:デフォルトの名無しさん
15/12/30 02:01:17.05 S+6i8JyW.net
コントローラでURLを見てあるパラメタ値を丸め込む処理をかいた。
基本的には302でリダイレクトしたい。たまに301でりだいれくとしたいことがある。
そこでデフォではfalse、301のときはtrueをいれるローカル変数の名前を考えてくれ。

正直処理が微妙であとあと第三者からの修正に耐えうるコードじゃないような気がするので意図的に、
$redirect_status_is_301にしてみたのだが名前がやっぱりおかしい。
なんか収まりのいい名前ってあるかな?

46:デフォルトの名無しさん
15/12/30 03:38:49.01 wULW2+or.net
>>44
全然知らない分野だけど。
respect301
論理が反転しても良ければ
ignore301

47:デフォルトの名無しさん
15/12/30 13:00:43.72 jqEExdOl.net
>>44
boolじゃなくなっちゃうけど、素直に$redirect_statusで良くね?
$redirect_status=302で初期化しといて、必要に応じて$redirect_status=301とかにすれば

48:デフォルトの名無しさん
15/12/30 13:51:46.29 /sSHraFl.net
どっちのステータスコードを返すかを表す値、って意味なのか?
respond_301_but_302
とか?

49:デフォルトの名無しさん
15/12/30 16:56:57.32 Ov0jB7Yr.net
307とかこまけぇこたぁいいんだよってなら
redirect(bool temporary) / redirect(bool permanent)
>>46のように具体的な応答コードを定数なりで指定するやり方をよく見るけど

50:デフォルトの名無しさん
16/01/01 13:55:16.78 19QtGc7i.net
isBeautifulというbool変数を作るとして
この変数をA,Bという二人分用意したい場合どんな名前にしたらいいのかな
最後にAだの1だのみたいなのをつけるのはちょっとあれだし
わざわざリストとかで一括りにしちゃうのもなんだかなあという感じなんだが

51:デフォルトの名無しさん
16/01/01 14:17:31.83 yq6n8seg.net
UnkoFactory a , b ;
if( a.isBeautiful ) { ...
これじゃいかんのか?
名前考えるより先にやることがあるだろう

52:デフォルトの名無しさん
16/01/01 17:15:46.04 2cgD245G.net
>>49
普通にisABeautiful、isBBeautifulでいいでしょ。
どこに悩む必要がある

53:デフォルトの名無しさん
16/01/01 18:22:12.99 Se+add68.net
>>49
普通にisBeautifulA、isBeautifulBでいいでしょ。
どこに悩む必要がある

54:デフォルトの名無しさん
16/01/02 12:35:16.93 UletXOPR.net
完全なゼロっていう意味の日本語ある?
何倍してもゼロっていう
プログラム的には d == 0 がイコールになるような不動小数のd
小数点以下全部完全にゼロっていうニュアンスでゼロを表現したい

55:デフォルトの名無しさん
16/01/02 12:58:08.04 GEI8yUNi.net
>>53
逆に、完全じゃないゼロはどういうの?

56:デフォルトの名無しさん
16/01/02 13:13:04.54 vM8qOdmX.net
>>53
言いたいことは分からんでもないけどzeroでいいんじゃないの?
どうしてもというなら、「真の値」はtrue valueみたいだからTrueZeroで。

57:デフォルトの名無しさん
16/01/02 13:15:21.15 BLN0lEJK.net
>>54
単にゼロ、って言ったときは完全じゃないのも含むように聞こえるんですよね(個人的に)
カロリーゼロ、とかいう言葉もありますし
身長180って言ったとき「およそ」の意味をほぼ含んでしまうのと似てて
>>55
わがままボーイですみません
今回は日本語で欲しいんでつ

58:デフォルトの名無しさん
16/01/02 13:22:12.91 vM8qOdmX.net
あ、日本語かw
真の0でいいんじゃない?
っていうか、日本語の文章なら「ここでの0とは誤差を含まない整数の0を意味する」
とか書くだけじゃないの?

59:デフォルトの名無しさん
16/01/02 13:27:22.39 jYrWuYtn.net
>>57
ハイ頂きました!ごっつぁんです!
整数のゼロ、これ完璧ですおそらく!
完全なゼロ、ぴったりゼロ、よりニュアンスが直球で好ましいです
ありがとうございました

60:デフォルトの名無しさん
16/01/02 19:37:39.39 tKlWwVHT.net
水平方向の値と垂直方向の値をまとめて保持する型
ってなんて名前にしたら良いと思いますか?
拡大率とかも表すためPositionやCoordinateは合わない気がしまして…

61:デフォルトの名無しさん
16/01/02 19:41:55.87 blGu690e.net
普通はvectorにするかな
拡大というか変換はだいたいmatrix

62:デフォルトの名無しさん
16/01/02 19:42:58.69 1JJQaC4A.net
>>59
そんな曖昧な情報で名前付けるとか無理でしょ。
何に使うとかどういう意味を持つとかどんなメンバーを持つとかもうちょっと書くことあるんじゃないの?

63:デフォルトの名無しさん
16/01/02 19:51:27.65 tKlWwVHT.net
>>60
using 単位 = double;
struct ○○ {
単位 x;
単位 y;
}
○○: >>59で訊いているもの
こういったのを想定しています

64:デフォルトの名無しさん
16/01/02 19:51:57.53 tKlWwVHT.net
安価ミス、>>60じゃなくて>>61です

65:デフォルトの名無しさん
16/01/02 19:53:15.03 tKlWwVHT.net
>>60vectorだと方向+量ってニュアンスに取られないですかね?

66:デフォルトの名無しさん
16/01/02 20:25:09.18 1JJQaC4A.net
>>62
要するに、座標でも矩形のサイズでもベクトルでも拡大率でも何にでも使える
汎用的なXとYのペアってこと?
そういう型が良いのか悪いのかよく分からんけど(基本的にはあんまり良くないような...)
XYとかXYPairとか?

67:デフォルトの名無しさん
16/01/02 20:31:04.32 NepRfp5W.net
javaだと座標という意味でPointってのがある。
java.awt.Point
URLリンク(docs.oracle.com)

68:デフォルトの名無しさん
16/01/02 20:31:37.76 tKlWwVHT.net
そうです、汎用的な型です
そもそもこういう設計にしないほうが良いのでしょうか…
XについてもYについても処理内容が同じなので型として纏めてしまったほうが楽かと思ったのですが

69:デフォルトの名無しさん
16/01/02 21:02:37.82 tKlWwVHT.net
とりあえず、point_tという型にしてみます

70:デフォルトの名無しさん
16/01/02 21:05:52.26 blGu690e.net
いやだからそれはvectorのことだろ

71:デフォルトの名無しさん
16/01/02 23:57:58.76 2Gh2bCyH.net
Vectorだと確かに移動量という印象は少なからずあるが
汎用的な型というなら尚更Vectorかなあと思う。

72:デフォルトの名無しさん
16/01/03 00:10:11.76 7AgJNpuj.net
vectorはいかんでしょ
vector2, vector3, matrixなどが揃って準備されるならともかく
vector単体だとstd::vectorやjava.util.Vectorとモロにカブる

73:59
16/01/03 00:50:16.86 PVIm93rS.net
一応型の接尾辞に_tをつけるので名前被りは大丈夫なんですが、
汎用的なものにする場合はvectorの方が良いのでしょうか
自分の中でベクトルは方向+量ってイメージが強いもので

74:デフォルトの名無しさん
16/01/03 01:00:44.33 IG9BItze.net
pointもvectorもどっちもダメに決まってる。
そういう名前の型を拡大率として使ってたら混乱すること必至。
そういう型の機能は言葉で表現したって「XとY(のペア)」としか言いようがないんだから
そういう実態を素直に表す名前をつけるべきだと思うよ。

75:デフォルトの名無しさん
16/01/03 01:12:58.47 6IY7C3MM.net
>>59
HVValues

76:デフォルトの名無しさん
16/01/03 01:47:49.66 ttVQnoXX.net
5分考えて名前がつかないならそれは設計ミス
作り直したほうがいいよ

77:デフォルトの名無しさん
16/01/03 02:14:36.42 vUEI8syr.net
>>75
>>1読め

78:デフォルトの名無しさん
16/01/03 07:40:57.32 Q16dHZYf.net
引数がa,b,cというプリミティブな数値でメソッド内でd,e,fという変数に代入するようなのって
setvalueとsetvaluesどっちになるのかな。

79:デフォルトの名無しさん
16/01/03 09:32:45.93 PVIm93rS.net
>>73-76
ありがとうございました
再設計も視野に入れてみます…

80:デフォルトの名無しさん
16/01/03 09:52:33.51 6IY7C3MM.net
>>77
>>61

81:デフォルトの名無しさん
16/01/03 11:50:37.03 CHH3jX6m.net
>>77
set_d_e_f

82:デフォルトの名無しさん
16/01/03 12:53:45.29 uIg+2SWQ.net
>>77
その二択なら後者

83:デフォルトの名無しさん
16/01/08 23:51:37.61 7A9pQUPN.net
証明書と秘密鍵と公開鍵の総称は?
authentication informationはちょっとダサいなと

84:デフォルトの名無しさん
16/01/09 00:02:19.89 5ewwDSWG.net
credential

85:82
16/01/09 00:37:04.07 /BDqjX/g.net
うーん
確かに一般的にはcredentialで鍵を指す場合もあるとは思うのですが、
今AWSを扱っていて、AWSではcredential=証明書, key=鍵 と区別されているようなのです。
で、両方をまとめて入れるフォルダの名前や両方を一緒に扱う関数名などで悩んでいます。

86:デフォルトの名無しさん
16/01/09 00:57:56.40 cXr0X9gB.net
/etc/pki

87:デフォルトの名無しさん
16/01/09 01:53:14.93 5ewwDSWG.net
credentailsで鍵ってよりも、資格情報って意味で使ったんだけどな。
資格情報っていうと、(X.509)証明書(certificate)とその対応する秘密鍵(private key)。

88:デフォルトの名無しさん
16/01/09 02:00:35.70 5ewwDSWG.net
で、一般的に証明書はcertificateが使われてるんじゃねぇかな。
たいていX.509証明書のことだが。
URLリンク(msdn.microsoft.com)
URLリンク(docs.oracle.com)
windowsだってJavaもcertificateだし。

89:デフォルトの名無しさん
16/01/09 02:03:20.62 5ewwDSWG.net
広義として証明書は資格情報の1つだから、AWSではcredential=証明書としても
問題ないと思うが。めんどくせぇなww

90:デフォルトの名無しさん
16/01/09 02:11:21.57 5ewwDSWG.net
IDとパスワードのペアも資格情報だが、
Windowsの資格情報ダイアログ?
URLリンク(www.atmarkit.co.jp)
も英語の名前はcredentialsじゃねぇのか?
URLリンク(msdn.microsoft.com)

91:デフォルトの名無しさん
16/01/09 03:51:04.02 4v+EMD6b.net
Codec = COder/DECoderらしいから
Encrypt/Decrypt = Endecかな。
実際ググってみるとそれらしい用法が見つからないわけでもない。
と言う訳でEndecSetとかEndecInfoとか。

92:84
16/01/09 07:30:30.93 /BDqjX/g.net
すいません、勘違いしてました。
AWSでは、certificate=証明書、key=鍵、で、両方まとめてcredentialsと呼ぶみたいです。
なのでcredentialsで正しいですね。ありがとうございました。

93:デフォルトの名無しさん
16/01/13 13:34:33.00 U6qWkuuA.net
start に対して end なら
? に対して final となりますか?
英語の質問みたいですが。

94:デフォルトの名無しさん
16/01/13 13:52:49.12 FA4WzXB+.net
どういう時に使うfinalかによる

95:デフォルトの名無しさん
16/01/13 14:08:02.29 EXCF9uBq.net
first

96:デフォルトの名無しさん
16/01/13 16:31:54.45 uEfWXkZT.net
>>92 欲しい意味が、最初のということなら initial
途中のということなら temporal, intermediate, transitional とか
余談ながら、start に対しては stop、end に対しては begin、first に対しては last だと思う。

97:デフォルトの名無しさん
16/01/30 15:04:00.47 7zAnuu73.net
setterやgetterでもないのにsetやgetを頭にかくのはどうおもいます?
やってることは変数にセットをしてるのですがそれが引数によるものではありません
例えばsetterにはsetXXXとつけるという命名規則があったとして
こういうのもsetter扱いしていいのでしょうか?

98:デフォルトの名無しさん
16/01/30 15:07:55.37 VvvbELMN.net
それがsetterなら中でフィールドの値を変えてるメソッド全部set〇〇になるだろ

99:デフォルトの名無しさん
16/01/30 15:25:59.95 2/HlHMjK.net
ビジネスモデル上でその振る舞いに付けられた名前をそのまま書くだけ
それが仮に set value だったら中でなにしてようがメソッド名は setValue 以外にはありえない
コーディングレベルのくだらない命名規則に縛られる必要はない
逆にモデルでは set value となっているのにコーディング規約を優先して別の名前(例えば changeValue)にせよと主張するメンバーがいるなら
コーディング規約をビジネスモデルより優先させるために納得できる理由を公開しないとダメ

100:デフォルトの名無しさん
16/01/30 15:56:42.51 3I6z0tLu.net
引数無しだと代入する値の出処をメソッド名に書き含める事が多いかなぁ。

101:デフォルトの名無しさん
16/01/30 18:00:13.70 iHfGKIWM.net
>ビジネスモデル
そこはビジネス要らんだろ

102:デフォルトの名無しさん
16/01/30 18:54:09.23 lGgUibWd.net
ビジネスモデルって言いたいお年頃なんだろ

103:デフォルトの名無しさん
16/01/30 19:22:43.13 pm/bpSoz.net
持論で突っ走る奴が居ると、品質低下の一因になるんだよなあ。
ちゃんと規約守れや。

104:デフォルトの名無しさん
16/01/30 19:47:48.93 63EuC0b2.net
>>100
なに言ってんだ最重要と言っていいほど必要だろ
各ステークホルダー合意した命名を末端のコーダー如きが勝手に変えていいわけがない
どうしても変えたいなら関係者を集めて理由を説明して合意を得なければならない

105:デフォルトの名無しさん
16/01/30 19:50:14.38 63EuC0b2.net
>>102
規約そのものが低品質化を招いているなら従う理由はない
それがコーダーの間だけで決定された規約ならなおさら守る意味はない

106:デフォルトの名無しさん
16/01/30 20:04:12.59 xES4tsnw.net
ビジネスロジックとモデリングが混同してるんだ
名前付けのスレで許されないミス

107:デフォルトの名無しさん
16/01/30 20:19:04.19 63EuC0b2.net
ビジネスロジックとモデルは分離できない
モデルとコードは一対一で一致する
これが基本

108:デフォルトの名無しさん
16/01/30 20:29:55.90 ls0iH86j.net
分離できないからってくっつけるなw

109:デフォルトの名無しさん
16/01/30 20:31:44.85 ls0iH86j.net
ビジネスモデル(business model)とは、利益を生み出す製品やサービスに関する事業戦略と収益構造を示す用語であ~る。

110:デフォルトの名無しさん
16/01/30 21:45:29.91 63EuC0b2.net
というかモデリングが下手くそなやつほどビジネスで使う用語と下流で使われる用語が剥離していく
達人モデリストは顧客とも下流とも同じ用語を使って会話ができる
というかできるようにモデルを練り上げていく
ビジネスとモデリングは剥離するものだという認識を持っているなら自分が無能である事を早く自覚したほうがいい
顧客も下流も君の使い物にならないモデルに迷惑しているからね

111:デフォルトの名無しさん
16/01/30 21:51:27.10 ls0iH86j.net
それは言える。翻訳したらダメだね。

112:デフォルトの名無しさん
16/01/30 21:59:50.44 G1bZkggH.net
ビジネスモデルつったら収益を上げるためのモデルそのものやでw
何仕入れて何をどこで売ってどう決済させてっていう、会社経営の話やでw

113:デフォルトの名無しさん
16/01/30 22:05:27.43 63EuC0b2.net
それをモデリングするんだろ

114:デフォルトの名無しさん
16/01/30 22:10:02.75 ls0iH86j.net
いや、既存の定着した用語を違う概念で使うからおかしいって事だろ。

115:デフォルトの名無しさん
16/01/30 22:38:11.24 63EuC0b2.net
定着した概念なんてほとんど存在しないんだよ
何をやるにも常にカスタムされたモデルを作っていくしかない

116:デフォルトの名無しさん
16/01/31 02:28:34.11 wbBrgvcH.net
苦し紛れだなぁw

117:デフォルトの名無しさん
16/01/31 06:15:50.81 qWcHYD0J.net
ビジネスモデルを構築することをモデリングと呼ぶのは構わんが、およそこの板でいうモデリングとは別だな。
プログラムとは関係ない世界の話だから、用語が一対一になるわけがない。

118:デフォルトの名無しさん
16/01/31 08:14:48.51 Lk2teTuL.net
コンテキストも理解してない二流ばかりなのかここは

119:デフォルトの名無しさん
16/01/31 08:18:52.81 /mHEoggP.net
コンテキスト?し、しってるよ
右クリ禁止とかのあれだよね、うん・・・

120:デフォルトの名無しさん
16/01/31 08:20:49.10 Lk2teTuL.net
お前わざとやってるだろ
くだらない小学生みたいなみっともない真似はやめろ

121:デフォルトの名無しさん
16/01/31 08:52:03.95 Vno/qq2m.net
本日のNGID:Lk2teTuL

122:デフォルトの名無しさん
16/01/31 09:00:16.00 8ho3GqS4.net
対象か対象外かを複数の要素で判定する関数名てどんなんがよい?

123:デフォルトの名無しさん
16/01/31 09:04:45.04 tGXLUpNj.net
煽りにボケで返されて激おこな小学生w

124:デフォルトの名無しさん
16/01/31 11:07:16.42 Lk2teTuL.net
>>120
事実上の敗北宣言だな

125:デフォルトの名無しさん
16/01/31 11:09:46.95 0VTupv6x.net
>>121
「複数の要素」を強調する必要あるの?

126:デフォルトの名無しさん
16/01/31 12:01:25.40 NpOcZ181.net
>>121
そんなことはどうでもいい
何をどう判定するの?
その目的は?
着目するべきはそっち

127:デフォルトの名無しさん
16/02/08 07:19:54.57 CQ0imr8z.net
回答した上でケチつけるならわかるけど難癖だけつけて回答しないヤツってなんなんだろうな
こういうスレって必ずいるよねこういうクソムシみたいなの

128:デフォルトの名無しさん
16/02/08 07:34:31.55 SxLAi0bW.net
ブーメラン好きなのもな

129:デフォルトの名無しさん
16/02/08 10:46:20.06 fQVKkYTP.net
ブーメランが何かも知らないらしい

130:デフォルトの名無しさん
16/02/08 12:00:03.12 uAQYy5Bg.net
>>121
実装は関係ないかな。
その判定が持つ意味を名前にしたらいいよ。

131:デフォルトの名無しさん
16/02/08 16:36:01.63 8wZDAtqH.net
ランダム関数から受け取ったランダムな値どうすればいい
randomはランダムクラスのインスタンス名に使っちゃった

132:デフォルトの名無しさん
16/02/08 18:17:57.72 uAQYy5Bg.net
「受け取ったランダムな値」

133:デフォルトの名無しさん
16/02/08 19:05:19.56 il1BjxQM.net
r

134:デフォルトの名無しさん
16/02/08 20:18:04.36 GOaJKp1z.net
random_value

135:デフォルトの名無しさん
16/02/08 22:44:23.92 Wm3Oha5g.net
>>130
ある変数がランダムな値がほしいから受け取るんでしょ?
その変数が何を表すのか決まっていないの?

136:デフォルトの名無しさん
16/02/08 23:40:34.96 Y0ekGZiq.net
素敵なサムシングとかでいいよ
プログラム いも詩的な表現を認めるべきだ

137:デフォルトの名無しさん
16/02/09 01:42:30.42 8bzgDTVK.net
皆変数名付けるときって、
その用途や目的を名前にする?
それとも、その値やオブジェクト自体の性質を名前にする?

138:デフォルトの名無しさん
16/02/09 07:59:59.64 UwgeLdGn.net
>>136
後者だとすると、int1とかdouble2とかつけるの?

139:デフォルトの名無しさん
16/02/09 08:41:44.70 DkDaZ+yJ.net
>>137
それだとシステムハンガリアンになってしまうので、
例えば、型はどっちもintでも
前者:returnValue←目的が明確
後者:randomValue←性質が明確
後者はアプリケーションハンガリアンにって事になるのかな。

140:デフォルトの名無しさん
16/02/09 09:26:20.05 w2WbMkCd.net
>returnValue←目的が明確
には、
Q「その関数の戻り値は何?」
A「はい、戻り値です」
みたいな間抜けさを感じる

141:デフォルトの名無しさん
16/02/09 09:42:07.33 w2WbMkCd.net
>>138
「この変数は戻り値にするんだ」というシルシを付ける必要性を感じないけど、
どうしてもってんなら「戻り値には一貫して rc(とかrvとか何か短い接頭辞)を付ける」
ということにでもして、rcRandom とか命名しとけばいいんじゃないかな

142:デフォルトの名無しさん
16/02/09 12:14:12.08 J86avcNA.net
CaluculateUnko()
returnValue = 0
foreach(...)
returnValue += i
return returnValue
CaluculateUnko
unko = 0
...
CaluculateUnko
result = 0
....
う~ん真ん中かな
fowler先生はresultがお好きらしいが

143:デフォルトの名無しさん
16/02/11 09:07:30.44 51uirxbB.net
>>141
fowler先生に倣っている訳じゃないけど、オレもresultをよく使うな
メンバー変数と同じで関数内のローカル変数は
関数名->ローカル変数って感じでアクセス演算子があるように考えている
その例なら、calculateUnko->resultってな感じで
うんこ計算の結果だなって分かり易い
クラスが何をするのか明確な場合
Unkoクラスがcalculate()ってメンバー関数を持っていたとすると
ローカル変数にUnkoって付けれないから別の命名方法になってしまう
その点、resultなら一貫して使える
Unko->calculate->resultって感じで考えてね
組む前にルールを作っておけば良いね

144:デフォルトの名無しさん
16/02/13 14:52:21.08 8cicktaC.net
ブリブリ

145:デフォルトの名無しさん
16/02/13 20:25:37.89 FsylYHeL.net
ふと思ったんだが・・・
[オブジェクト名].[メソッド名] という書き方のプログラム言語において、
メソッド名の付け方として、そのオブジェクトを主語にした動詞を当てる、
という考え方があるよね。
しかし、それでいくとゲッターの主語って何なんだろうな。
target = enemy.getAttackTarget()

146:デフォルトの名無しさん
2016/02/13(土


147:) 20:51:04.66 ID:VLo29AwR.net



148:デフォルトの名無しさん
16/02/13 20:58:33.71 SEwPFy4e.net
メソッドは基本的に命令形。
オブジェクトはその命令形の文では通常文面に現れない隠れた主語(要するに命令される対象)
である場合が多いと思うけど、ゲッター/セッターの場合は命令の対象はプログラムで
オブジェクトは取得や設定の対象を表していると考えるべきなんじゃないのかね。
要するにその例を英語に対応させると
Get attack target from the enemy(, dear my program) !
って感じ?

149:デフォルトの名無しさん
16/02/13 22:13:47.86 FsylYHeL.net
>>145
その理屈だと、enemy に対して何かを get せよと命じているのなら、
その結果で何かを所有することになるのは enemy 自身だから、
その何かが戻り値としてこちらに返ってくるのはおかしいよ。
むしろ、enemy がリストを持っていて、
それに何かが新しい要素として追加される感じだ。
enemy に対して give me とか tell me と命令してるのなら、
それが返ってくるのは分かるが。

>>146
つまり、命令する対象について一貫性がないということね。
プログラムであったりオブジェクトであったり。
それなら分かる。
理屈は分かるけど、なんかモヤモヤするな。

まぁ、どうでもいいと言えばどうでもいい些末な事だから、
これ以上は深く追求しないでおくよ。
2人ともありがと。

150:デフォルトの名無しさん
16/02/13 22:57:16.65 EMjDXdMV.net
getter/setterはメッセージではなくオブジェクトの属性だよ
命令じゃなくてハンガリアンの一種だ

151:デフォルトの名無しさん
16/02/13 23:15:09.59 5RbRdfcr.net
何かに対する命令なのだとしたら計算機に対する命令だと思う
命令の内容がオブジェクトに対する命令になっていると、意味上の主語になるという認識
enemy.Die();
tell computer to let enemy die
enemy.GetAttackTarget();
tell computer to get attack target of enemy

152:デフォルトの名無しさん
16/02/13 23:51:01.09 VLo29AwR.net
メモリやストレージから何かを持ってこい(持ってきたモノを返せ)
この()の中が暗黙に省略されてるんだろうな
CaluculateUnkoメソッドを見て
計算をしろという命令だから計算をするんだろう
しかし計算結果を返せとは書いてないから計算をするだけで返り値はないはずだ
と考えるプログラマは少数派だ
何かを取ってこいというメソッド名とメソッドのシグネチャ(戻りの型)を見れば
ああこれは何かを取ってきて返すメソッドなんだなとわかる
逆にこれがVoidだったら取ってきて内部に保持するのかなと思うかもしれないな

153:デフォルトの名無しさん
16/02/14 19:32:25.29 rc/qOTMD.net
>>148
だね
プロパティ持っていない言語だと関数でGetterとSetterを実装するわけだけど
他の関数との差別化をする為に敢えてGetやSetを付けないってこともあるね
enemy.TargetToAttack()とか、enemy.Target()とか
この場合、enemyのTargetって読めばいい

154:デフォルトの名無しさん
16/02/14 19:50:30.30 71W/Axt9.net
昔から言われてるけどそもそも最初にその辺を明確にしなかったアホが悪い
getterとsetterひっくり返ってるやつとかほんと気持ち悪い

155:デフォルトの名無しさん
16/02/15 05:58:16.57 Y2R/v65U.net
>>152
getter(int)
int setter()
てことか?
クラスが変数の値をget
クラスが変数にsetって思ってるんじゃね?

156:デフォルトの名無しさん
16/02/15 08:59:39.03 CoPBLH5e.net
そんなのあるんか
みたことなかった

157:デフォルトの名無しさん
16/02/15 09:49:53.19 fo9bZXsh.net
これはさすがに見たことないな

158:デフォルトの名無しさん
16/02/16 08:27:38.38 55V2OvFf.net
そう言うアホな職場でなくて本当によかった

159:デフォルトの名無しさん
16/02/16 17:58:23.74 b0fHFSg3.net
プロフェッショナルな現場では
Hoge hoge = foo.EchoHoge();
foo.ChangeHoge(hoge);
この書き方が好まれるね <


160:デフォルトの名無しさん
16/02/16 23:56:23.58 bGf55uSQ.net
ゲッタをFoo()、セッタをFoo(x)にするのが好きです。
オススメはしませんけど。

161:デフォルトの名無しさん
16/02/17 06:53:01.54 RPnYlR/v.net
install+initialize+start=deployですか?

162:デフォルトの名無しさん
16/02/17 06:55:44.87 ERNpErt9.net
blueback

163:デフォルトの名無しさん
16/02/18 06:37:07.78 bLvFeMpB.net
xxx(123, 20)としたら123の20%の値を返す関数はどうしたらいいですか?

164:デフォルトの名無しさん
16/02/18 07:24:28.89 +dFL+sBf.net
ああしたらいいです

165:デフォルトの名無しさん
16/02/19 03:35:24.86 E/z1CaIk.net
その程度の計算式で、かつ単純に計算結果を出すだけなら、
素直に (123*0.2) とでも書いたほうが分かりやすいと思う。
税金やら利益やらを求める関数なら別だけどね

166:デフォルトの名無しさん
16/02/19 06:49:45.80 UoTVqCBs.net
>>161
基本的には >>163 だけど、なにかわけあってそうせざるを得ないなら、そのまんま percent( ) でいいんじゃね?

167:デフォルトの名無しさん
16/02/19 17:58:17.20 1lUaZ+Ou.net
>>163-164
簡単な計算ですが入出力が整数型なので型キャストの手間を惜しんで関数化することにしました
percentで問題なさそうです。ありがとうございました

168:デフォルトの名無しさん
16/02/19 18:04:34.89 I8opp71u.net
よくないだろ

169:デフォルトの名無しさん
16/02/19 18:17:07.22 E/z1CaIk.net
自分もよく、2行くらいで住むやつを関数化したりするから
人のことはあんまり言えない

170:デフォルトの名無しさん
16/02/19 18:26:44.87 d7xGYMnr.net
行数じゃなく出現回数が2回以上になったり使い回せそうならもう関数化してる

171:デフォルトの名無しさん
16/02/19 18:37:10.15 kkBXxxPl.net
ただ数学的に計算したいのか?
例えば所得税額を求めたいとかならそれなりの名前をつけるべきじゃないか?

172:デフォルトの名無しさん
16/02/19 18:37:25.02 ihr5FFJ3.net
コメントの代わりにメソッドを書くという事はあるね
1行でも意図が不明瞭なら明瞭な名前のメソッドにしたほうが見易い
当然として意図が明瞭ならメソッドにするのは後回しだ

173:デフォルトの名無しさん
16/02/19 18:48:16.32 E/z1CaIk.net
標準ライブラリ関数みたいに、意図を含めらんない場合も多いよねぇ

174:デフォルトの名無しさん
16/02/19 18:56:21.43 V63XPKdS.net
そういうのはそのままでいい
使う側でビジネス上意味のある名前でラップすればいい

175:デフォルトの名無しさん
16/02/26 02:54:51.19 GV2TZ5LX.net
「データシートを開く」という関数名を OpenSeet()としています。
追加機能で「過去(昨日から過去一ヶ月間)に記入し忘れていたデータシートを開く」という関数が必要となりました。
この関数名をお願いします。

176:デフォルトの名無しさん
16/02/26 03:06:26.39 4hFyrq56.net
OpenSheetOmittedToRecord

177:デフォルトの名無しさん
16/02/26 07:15:29.83 PCB0D50w.net
OpenIncompletePastSheet

178:デフォルトの名無しさん
16/02/26 09:29:35.46 M9/6SaSd.net
OpenEmptySeet

179:デフォルトの名無しさん
16/02/26 16:57:51.85 GV2TZ5LX.net
>>174-176
ありがとうございます。どれも参考になりました。

180:デフォルトの名無しさん
16/03/01 23:40:13.57 eUlvy8a8.net
単に「過去のデータシートを開く」ことがその関数の機能なんだとしたら、
「記入し忘れ」とか、そんな言葉を入れない方がいいと思う。
OpenHistorySheetとか

181:デフォルトの名無しさん
16/03/02 09:32:45.64 I9Z0Lvrz.net
記入し忘れていないのは開かないんだろ

182:デフォルトの名無しさん
16/03/02 13:55:10.11 U8gNKAYq.net
つか、記入し忘れるなよ

てのはともかく、なんか設計をリファクタリングしたくなる案件

183:デフォルトの名無しさん
16/03/02 14:15:29.41 g40oqbYL.net
historysheetって意味がおかしい

184:デフォルトの名無しさん
16/03/02 17:18:43.32 O9A5cfyu.net
>>180
記入途中で操作を放棄されたら設計もク(ここで書き込み放棄

185:デフォルトの名無しさん
16/03/04 18:32:17.14 oFqD6l4V.net
履歴ではなく過去に入力した別の情報なら、historyではないか。pastの方がいいな。

186:デフォルトの名無しさん
16/03/04 18:43:17.69 JDwO95i7.net
・記入しようともしてない
・途中で記入を放棄した
どちらもあり得るわけで、
つまり記入が完成(complete)してないのだから、
OpenUncompletedSheetsがいいと思います。つか複数形だよな。

187:デフォルトの名無しさん
16/03/04 20:08:25.20 0uXJtrdR.net
Incompleteとどっちがいいのかなと思って
URLリンク(thegrammarexchange.infopop.cc)
見たが、やり残しがあるんならUncompletedでよさそう

188:デフォルトの名無しさん
16/03/04 22:29:43.14 oFqD6l4V.net
正常に完了している過去のデータシートを参照することはないのかな。
ないとしても、とりあえず過去のデータシートを開く部分は切り出しといた方がいいな。

189:デフォルトの名無しさん
16/03/21 00:44:19.40 KQkKBKcO.net
設計工程があれば、命名に迷うことなどほとんどない。

190:デフォルトの名無しさん
16/03/21 00:59:21.13 x3G04NP+.net
それはすごい

191:デフォルトの名無しさん
16/03/21 01:05:48.48 Y+CQ6vla.net
名前とかあまり気にする方じゃないのでほとんど迷わない

192:デフォルトの名無しさん
16/03/21 01:52:33.37 u1jn1EMe.net
だったら設計書作る段階で迷うんだろうが

193:デフォルトの名無しさん
16/03/21 11:39:06.38 Q2tTgw28.net
ドメインエキスパートと議論して名前を引き出すだけ
こちらが勝手に名前を考える必要は無い
すでに名前はあるのだから

194:デフォルトの名無しさん
16/03/21 14:08:21.28 1Injx5U4.net
変数名とかそんなんいちいち相談すんの?
自分がその立場だったら迷わないの?

195:デフォルトの名無しさん
16/03/21 14:33:57.22 Q2tTgw28.net
そうだよ
そもそもビジネスに関係無い言葉なんてコードに現れない

196:デフォルトの名無しさん
16/03/22 00:12:48.03 dJvZYtfq.net
ウソつけ、お前のコードなんかhageとかusugeとかばかりだろ

197:デフォルトの名無しさん
16/03/22 00:13:46.52 StsLEOpD.net
ビジネスモデルの人だろw

198:デフォルトの名無しさん
16/03/22 15:09:09.39 6KPFBZ6M.net
オブジェクト指向だとあまり迷わないだろ。
迷うのはクラス設計がおかしいんじゃないか?

199:デフォルトの名無しさん
16/03/22 15:32:47.88 NtsRzX3M.net
ドヤ顔してるところ悪いが、それを理解どころか想像すらできない頭がすごいな

200:デフォルトの名無しさん
16/03/22 22:28:49.70 UN51cu0Y.net
というかビジネス上存在しない概念を作ろうとするから名前がわからないなんて事になるんだよ
ドメインエキスパートとの対話を重ねてドメインモデルを適切に抽出する
それだけでクラス名もメソッド名も何もかもが確固として定る
逆に言えば名前で悩んでるって事はドメインモデルの抽出に失敗しているってこと
名前が決まらないなら設計からやり直せってのはそういう意味ね

201:デフォルトの名無しさん
16/03/22 22:36:39.69 Es8MF1jL.net
請け負いビジネス限定の話だね。

202:デフォルトの名無しさん
16/03/22 22:43:07.67 dJvZYtfq.net
ビジネス上名前のついてない概念や事象なんていくらでもあるのにね
むしろ殆ど名前がないと言ってもいいくらい
この人はどこの世界に住んでいるのだろうか?

203:デフォルトの名無しさん
16/03/22 22:48:42.98 UN51cu0Y.net
>>199
むしろ新しいビジネスに強い
ドメインモデルの構築を通してそのビジネスを深く正確に分析できる
改善点も容易に発見できるし拡張も容易い
>>200
それはモデラーが手を抜いてるだけ

204:デフォルトの名無しさん
16/03/22 22:57:48.84 dJvZYtfq.net
>>201
つまりドメインモデルの構築に際して深く命名に悩んでいるんじゃないか
どうしてウソつくの?

205:デフォルトの名無しさん
16/03/22 23:02:18.04 Es8MF1jL.net
そう、この人は新しい概念を創造・定義するという視点が欠けてる。
「研究」というものを知ってるのか。

206:デフォルトの名無しさん
16/03/22 23:05:31.79 WjKYcifB.net
この人何言っても無駄でしょ
つーかこのスレに何しに来てんのよ

207:デフォルトの名無しさん
16/03/22 23:22:27.28 UN51cu0Y.net
やれやれ
ど素人しかいないのかここは

208:デフォルトの名無しさん
16/03/23 00:19:15.27 I2lzCjKa.net
この一連の流れに名前を付けてください

209:デフォルトの名無しさん
16/03/23 00:33:05.10 fpM1ZpsA.net
NeverCrossingArgument

210:デフォルトの名無しさん
16/03/23 00:33:31.62 U+mfgt1q.net
ショーンKくずれ

211:デフォルトの名無しさん
16/03/23 07:13:33.46 feV3EELl.net
語彙が乏しいやつらなんだろうな。

212:デフォルトの名無しさん
16/03/23 07:14:27.80 feV3EELl.net
どうやって言葉で会話しているのか不思議だわ。

213:デフォルトの名無しさん
16/03/23 14:33:46.66 ip94bAwI.net
その理解力で人と会話できているとは思えませんね

214:デフォルトの名無しさん
16/03/24 00:20:10.04 Rsn4b0UM.net
何かに例えるとか、擬人化してしまうとかいくらでもあるだろ。

215:デフォルトの名無しさん
16/03/24 01:37:39.87 Q63x5G+R.net
誰と会話してるんです?

216:デフォルトの名無しさん
16/03/24 05:09:23.79 UGB9JfN9.net
walls

217:デフォルトの名無しさん
16/03/24 12:36:15.07 X7xUAPCX.net
デバッグ手法のひとつとして、
「淫乱テディベアに語りかける」というのがあったね

218:デフォルトの名無しさん
16/03/24 15:08:51.64 aFiY6vgp.net
淫乱を付けるなw

219:デフォルトの名無しさん
16/03/25 15:02:41.12 Ej/BIb4o.net
手バックの手法?

220:デフォルトの名無しさん
16/04/06 23:24:22.38 SBdxQZ05.net
日付を調整する関数の名前でいいのないですか
inputが日付で平日ならそのまま、土日祝日なら次の平日を返す関数
inputが日付で平日ならそのまま、土日祝日なら前の平日を返す関数
平日ならそのままっていうニュアンスがいれづらい…

221:デフォルトの名無しさん
16/04/06 23:30:48.34 04zWF3AE.net
>>218
そもそもその関数はよくない。
平日かどうか判定する関数と、次の平日、前の平日を求める関数は、別の関数にすべき。

222:デフォルトの名無しさん
16/04/06 23:48:45.77 Rshrw1nx.net
前日の翌営業日
翌日の前営業日
を訳せばいいかも

223:デフォルトの名無しさん
16/04/06 23:51:19.69 Rshrw1nx.net
>>219
それは違うと思う
例えば月末払いだけど、休日なら翌営業日みたいなのいっぱいあるじゃん

224:デフォルトの名無しさん
16/04/07 00:00:43.18 jAeadzdP.net
よそで使わないならいいけど十分汎用性ありそうだしわけても損はないとおもうが

225:デフォルトの名無しさん
16/04/07 00:10:18.37 aGcTjS1o.net
こういうのはステップバイステップで考えよう
先ずは最も適切と思われる名前を日本語で決める
次にそれをそのままコードに書くんだ
簡単だろ

226:デフォルトの名無しさん
16/04/07 00:20:28.94 cIX55k3q.net
>>218
ExcelにはWORKDAY()という関数があるな
>inputが日付で平日ならそのまま、土日祝日なら次の平日を返す関数
=WORKDAY(input, +1)
>inputが日付で平日ならそのまま、土日祝日なら前の平日を返す関数
=WORKDAY(input, -1)

227:デフォルトの名無しさん
16/04/07 00:30:26.74 bJ8hF4FM.net
翌営業日と前営業日を組み合わせて使う方がシンプルじゃね?

228:デフォルトの名無しさん
16/04/07 00:33:17.16 cIX55k3q.net
ミスってる気がする
>>220の考えでいけば
WORKDAY(input-1, +1)
WORKDAY(input+1, -1)
かな

229:デフォルトの名無しさん
16/04/07 00:35:40.34 XWAdlud5.net
>>219
おっしゃるとおりでis_businessdayとadd_dayにしてあるんですが、>>221のような用途で頻繁に使うので関数としてまとめてしまいたいんですよね

230:デフォルトの名無しさん
16/04/07 07:24:25.59 cMwaSKeB.net
ならworkdayでいいだろ
+1/-1は分かりにくいからnext_workdayにするか列挙値にすべきだけど

231:デフォルトの名無しさん
16/04/07 08:54:30.90 m/gfZuFN.net
isWorkday()とnextWorkday()を作って、
nextWorkday(yesterday)と使えば?
nextWorkday内部でisWorkdayを呼ぶとか。

232:デフォルトの名無しさん
16/04/07 09:26:48.28 r1JxjqMx.net
NextWorkdayOfPreviousDay
NextWorkdayOfPreviousWorkday
どっちも可

233:デフォルトの名無しさん
16/04/07 09:31:12.58 l/IcW8J2.net
どっちもクソッタレすぎんだろなんだそりゃ

234:デフォルトの名無しさん
16/04/07 10:34:14.65 r1JxjqMx.net
>>231
すばらしい「命名」案、よろしく

235:デフォルトの名無しさん
16/04/07 14:13:07.95 vaOim5IM.net
逆切れする前にそれ訳してみろよ

236:デフォルトの名無しさん
16/04/07 22:00:31.37 5mQTJZzR.net
FindNextWorkDayFrom(date)
指定した日付以降の最も近いWorkDayを検索
FindPrevWorkDayFrom(date)
指定した日付以前の最も近いWorkDayを検索
共に基準となる日付を含むからその日が日曜祭日なら次(前)を検索する
こんな感じかな?
正直なところ、>>229が分かり易いと思う

237:デフォルトの名無しさん
16/04/07 23:20:39.90 bJ8hF4FM.net
AsIfOnWeekdaysReturnsTheWeekdayOfTheFollowingIfSaturdaysSundaysAndHolidays

238:デフォルトの名無しさん
16/04/08 01:05:24.66 zB1D6Ii9.net
可変長引数を受け取って配列に詰めて返す関数名はハッカーの間では何と呼ばれてますか?

239:デフォルトの名無しさん
16/04/08 04:02:08.97 gk2oHlfy.net
>>236
MakeArray

240:デフォルトの名無しさん
16/04/08 13:35:57.08 bnzfTMXc.net
Pack

241:デフォルトの名無しさん
16/04/08 14:19:00.47 IaVwN+0C.net
言語によっては可変長引数がそもそも配列でしたってやつもあるからな

242:デフォルトの名無しさん
16/04/08 21:42:03.30 P+N84sF8.net
IBecauseThereIsAlsoAGuyIVariableLengthArgumentWasOriginallyArrangedByLanguage

243:デフォルトの名無しさん
16/04/09 23:04:34.73 8imgO17J.net
あるルールに則って記述された文字列を解釈し
HTMLタグを含む文字列に変換するプログラムを作っています。
順次処理していく中で、「現在xxxタグの内側にいるか」という判断をするのですが
タグの種類ごとにこのフラグを表す列挙型と、このフラグを格納する変数の名前をお願いします。

適当ですが、コードはこんな感じにする予定です。
enum class 列挙型名
{
 TABLE_TAG=1, P_TAG=2, DIV_TAG=4,
}

244:デフォルトの名無しさん
16/04/09 23:11:31.45 VUvkdYpi.net
TagName currentTag;

245:デフォルトの名無しさん
16/04/09 23:22:46.97 8imgO17J.net
ありがとうございます
実際に使うときは currentTag & TagName::TABLE みたいな感じですかね
「内部に居るか」というところにばかり意識してたせいで、すごくスッキリしました

246:デフォルトの名無しさん
16/04/10 00:13:43.54 H/1qtGwu.net
タグはあくまで<から>までのことで
正式な用語を使いたいならelementじゃねぇか?

247:デフォルトの名無しさん
16/04/10 00:33:04.32 R2GJbW+a.net
>正式な用語
ほー。知らんかったぜ

248:デフォルトの名無しさん
16/04/12 01:37:58.25 yDxmjFGS.net
>>244
パースしてる段階では、タグはあってもエレメントはないんじゃね?
正式な用語は知らないけど。

249:デフォルトの名無しさん
16/04/17 14:33:19.26 axDJp0PD.net
年を表す整数型の変数と、月を表す整数型の変数の2つのみを内部に持つ構造体があります。
この構造体の名前としてどのようなものが相応しいでしょうか。
ここに日を表す整数型の変数も加われば Date と名付けるところですが、
あいにくと年、月だけで良いのです。

250:デフォルトの名無しさん
16/04/17 15:01:28.22 JjiAKXsf.net
struct 年月

251:デフォルトの名無しさん
16/04/17 15:20:18.10 vPnt6ON3.net
YearMonthDateStruct

252:デフォルトの名無しさん
16/04/17 15:29:20.09 JUdcx65W.net
>>247
month


253: of date qualified month unique month



254:デフォルトの名無しさん
16/04/17 15:31:40.25 Mh2vDnct.net
そのままandでつないじまえよそんなもん

255:デフォルトの名無しさん
16/04/17 15:32:55.32 nwYll3yZ.net
ほかに紛らわしい名前がなくて
> あいにくと年、月だけで良いのです。
という理由だけなら Date

256:デフォルトの名無しさん
16/04/17 15:34:38.31 JjiAKXsf.net
ドキュメントにはどうせ年月って書いてあるんだろう
だったら年月が最も正確な名前だよ
年月って書いてないなら書いてある単語をそのまま使いなさい
プログラマが無意味に翻訳して設計者の意図を歪めたらダメ

257:デフォルトの名無しさん
16/04/17 16:07:42.61 axDJp0PD.net
ありがとうございました。
Dateにします。

258:デフォルトの名無しさん
16/04/21 12:01:43.88 1tW+tZJE.net
iOS用のツイッタークライアントアプリつくってるんですけど、
1つのツイート情報(投稿テキスト、投稿画像、投稿したユーザー名など)を保持するクラスの名前は何がいいと思いますか?
ふつうにTweetクラスとかでいいですかね?

259:デフォルトの名無しさん
16/04/21 14:13:32.33 QiEWg8a2.net
Twitterと用語合わせるとにはStatusじゃなかったけ?

260:デフォルトの名無しさん
16/04/21 14:35:22.37 EopcTvEt.net
日本語で

261:デフォルトの名無しさん
16/04/21 15:57:50.15 CeQQrfiu.net
twitter公開API参考に見てみたらStatusになってるんじゃなかったっけ?
かな?

262:デフォルトの名無しさん
16/04/21 17:02:41.28 QiEWg8a2.net
正解

263:デフォルトの名無しさん
16/04/21 17:24:57.92 CeQQrfiu.net
>>259
ご褒美よろ

264:デフォルトの名無しさん
16/04/24 01:53:41.14 bi4aOyNo.net
アンケートやクイズの回答を集計するプログラムです。
ある設問の答えが「1.Suica」「2.リンゴ」「3.バナナ」だとして、
「1.Suica」が、全10回答中で9回答だったとします。
このとき、以下の変数名をお願いします

(a)その設問について、用意されている答えの数。この例で言えば3。
(b)全体の回答数。この例で言えば10。
(c)ある回答に対して、そう答えた数。この例で言えば9。
(d)上記(c)を求める際に、何番の答えについて言及しているのかを表すユニークな数字または文字列。
  この例で言えば「1」、または文字列なら例えば「ANSWER_SUICA」のようなコード。

265:デフォルトの名無しさん
16/04/24 02:14:34.95 auQVBXDS.net
>>261 まずどんな名前で迷ってるのか書いてよ。

266:デフォルトの名無しさん
16/04/24 02:34:39.17 bi4aOyNo.net
仮の名前では、順に answerSize、answerTotal、numAnswers、answerNo になってて
我ながらひどい

267:デフォルトの名無しさん
16/04/24 02:41:03.66 nqxMGJv4.net
choice, resposes, chosen, referenceToChoice
我ながらなんか浮いてる気がする

268:デフォルトの名無しさん
16/04/24 05:47:14.48 JdReb2F6.net
Suicaが9/10ってことはそのアンケート(クイズ)は回答者がSuicaと答えることを最初から期待というか想定して作られているのかな?
それとも偶然?
前者なら「想定された答え」
後者なら「最も頻出した答え」
をそれぞれ英語にした奴が良さそうだけど

269:デフォルトの名無しさん
16/04/24 08:34:37.08 bi4aOyNo.net
>>264
ああ、「答え」じゃなくて「選択肢」という着目点なのか
英語よく分からんのだけど、choiceだけでそういう感じの意味になるものなのかな?
>>265
わかりにくくてごめん
どちらでもないです

270:デフォルトの名無しさん
16/04/24 11:46:46.02 RNhCJQSk.net
まず日本語でいいから適切な識別子を考えて挙げてみてよ

271:デフォルトの名無しさん
16/04/24 12:26:54.16 bi4aOyNo.net
261と263じゃダメ?

272:デフォルトの名無しさん
16/04/24 14:43:06.00 mpYj2Do+.net
(a) choiceCount, (b) totalAnswerCount, (c) answerCount, (d) choiceIndex
用意されている「答え」は回答者が決めるまでは回答じゃないから別の言葉にした

273:デフォルトの名無しさん
16/04/24 14:48:33.28 UKiBgwvV.net
>>267
それができたら>>263 のような酷いものにはならないと思う・・
それぞれ一言で説明するならどうするか考えてみるとか
例えば↓のような感じ
(a) 選択肢の数
(b) 回答の数
(c) その選択肢が選ばれた回答の数
(e) 選択肢の番号(選択肢のID)
どうせ自分だけしかソースコード見ないものなら
変数名は長くてもあとから見てわかる方が良いので
日本語でも良いよ
(上のをそのまま英語にしてもそんなに長くならないと思うけど)

274:デフォルトの名無しさん
16/04/24 16:36:14.48 ixYgtVFc.net
変数を使わずに毎回
(a)設問[n].選択肢.length
(b)設問[n].解答.length
(c)設問[n].選択肢[m].length
のように取り出す

275:デフォルトの名無しさん
16/04/24 18:45:12.90 ZMST/FTc.net
ウンコーダー乙

276:デフォルトの名無しさん
16/04/25 21:35:44.65 9k2vKGXZ.net
報告が遅れたけど
numChoices、totalAnswers、numChosenAnswers、choiceIDにした。
みんなありがとう
>>269
言われてみれば確かにそうだ
>>270
日本語いいよね、ちょっと憧れる。
憧れるだけで、実際に日本名をつける勇気はないけど…
>>271
正直そういうのもアリだったんだけど、DBが絡んでくる関係で見送った。

277:デフォルトの名無しさん
16/04/25 23:41:05.35 PqEeTEEM.net
日本語の可読性は驚くほど高いよね
顧客が使う用語~設計書で使う用語~コードに書く用語が混乱しないって素晴らしい
コンパイラが正式に国際化対応してるのだから日本語を使うべきだよ

278:デフォルトの名無しさん
16/04/25 23:57:45.84 9k2vKGXZ.net
だがこの場合に使ったら
回答と解答でごっちゃになる未来しか見えない

279:デフォルトの名無しさん
16/04/26 14:17:22.88 ZSimnd6R.net
>>274
下手に日本語を使うと正確な表現をしないといけなくなるデメリットがある。
このメソッド名、変数名の名前は日本語として変ですね、なんてことを議論することになる。
欧米人はいい加減だから、適当な名前でも寛容するが、日本人はそうはいかない。

280:デフォルトの名無しさん
16/04/26 14:32:26.25 gGelNJu8.net
そんな人は英語なら適当でも許容するって訳でもあるまい

281:デフォルトの名無しさん
16/04/26 14:39:11.98 ZSimnd6R.net
>>277
現実にプログラミング言語の標準ライブラリは、言葉足らずの変な英語のオンパレードだが?

282:デフォルトの名無しさん
16/04/26 14:43:17.47 yXN9Cp4R.net
法律読んだ事ある?
なんでこんなわかりづらい書き方してんのかなって思った事ない?
それでもまだ解釈の余地があったりする。

283:デフォルトの名無しさん
16/04/26 14:51:03.07 gGelNJu8.net
「そんな人」って書いてるじゃん。
え?これすら意味が通らないから日本語はダメだよって話?

284:デフォルトの名無しさん
16/04/26 15:32:21.99 ZSimnd6R.net
>>280
そんな人ってどんな人だよ。
相手には理解が難しい表現で自分だって話しているじゃないか?

285:デフォルトの名無しさん
16/04/26 15:35:28.59 ZSimnd6R.net
日本人は日本語にうるさいが、英語圏の人間は英語の間違いには寛容。
英語圏ではいちいち、英語の間違いを指摘してたら、きりがない。

286:デフォルトの名無しさん
16/04/26 15:54:26.24 gGelNJu8.net
色んな現場に行ってると、そこで使われる用語(日本語)が統一されてなかったりするのはザラだけど、
あなたみたいに日本人は~英語圏の人間は~なんて一括りにして結論づけ、日本語はダメダメという人(「そんな人」=あなたのことだ)なら、
英語で関数メソッド名を適当に付けても細かく異論を挟んだりするんじゃないかな?
ということなんだけど、どうでもいいよ。君と仕事してる訳じゃないし。

287:デフォルトの名無しさん
16/04/26 16:10:13.00 ZSimnd6R.net
>>283 のようなになんで自分に言われていると思い込むかな。
最近、SNSと2chの区別が付かない人間が増えた気がする。

288:デフォルトの名無しさん
16/04/26 16:19:17.71 gGelNJu8.net
>>278
>>281
ここでアンカーを俺に打ち込んどいて何を言い出してるのかな。
アンカーとIDで会話がなり立ってると思ったけど、SNSとか言い出しちゃってるんだからどうしようもないな。
たしかにあなたには日本語も通じないわ。

289:デフォルトの名無しさん
16/04/26 16:45:47.05 ZSimnd6R.net
また自分に言われていると思ってるw
2ch初心者か。

290:デフォルトの名無しさん
16/04/26 17:46:16.11 CSyNQe5A.net
懐かしいなこの一方的な勝利宣言

291:デフォルトの名無しさん
16/04/26 17:47:46.38 gGelNJu8.net
その論法だと、むしろ俺の方がアンカー打ってないんだよなあ。
いつお前を相手にしたと思っていた?といつでも言えることになるわ。

292:デフォルトの名無しさん
16/04/26 17:49:56.75 ZSimnd6R.net
言ってることが矛盾してる。

293:デフォルトの名無しさん
16/04/26 17:59:16.74 v6PhffQO.net
矛盾してるって言うのは簡単だよね、うんわかるよ

294:デフォルトの名無しさん
16/04/26 18:06:43.15 ZSimnd6R.net
2chなんて適当に書いて、適当にレスするところだぞ。
わざとウソ書いたり、わざと変なこと言ってみたりする輩も多い。
2chはそういうところ。
学生、初心者、無職ばっかりなんだから、仕方ない。

295:デフォルトの名無しさん
16/04/26 18:07:46.36 LGdk9fYg.net
解釈が分かれるとか曖昧さがあるって言う人は識別子を自然言語から切り離す事に失敗しているんだよね
アメリカ人はわかってるから自然言語として見てちょっとおかしくてもモデルと識別子が正確にマップされているなら気にしない

296:デフォルトの名無しさん
16/04/26 18:17:01.94 ZSimnd6R.net
>>292
だから日本は成功している。
日本語と日本語みたいな識別子で混乱しなくて済んでいるのだから。
プログラムでも日本語推奨なんて言ってるのは、実務、経験が足りないだけ。
日本語でやっても、日本語風の識別子と日本語のマッピングには多少の作業、定義ドキュメントが必要になる。

297:デフォルトの名無しさん
16/04/26 18:21:43.77 ZSimnd6R.net
ちなみに英語だって、ロジカル、フィジカルと用語を分けていて、英語でも別物として扱っている。
日本は初めから別物なので、用語の区別がはっきりしていて、無用な混乱が起きない。

298:デフォルトの名無しさん
16/04/26 18:26:20.68 ZSimnd6R.net
結局、ドキュメンテーションの仕事をしない人間は、中途半端な日本語がかえって説明時に扱いにくい用語になることに気づかない。
テストコードを日本語にしろと言う人間がいるか、テスト結果の報告では、説明不足、情報不足でたいしたメリットはない。

299:デフォルトの名無しさん
16/04/26 18:30:57.99 vXyYwgDg.net
なんでここでロジカルとかフィジカルとかという話になるのか想像もつかん
> ロジカル、フィジカルと用語を分けていて、英語でも別物として扱っている
それは、何をどういうふうに分けてるの?

300:デフォルトの名無しさん
16/04/26 18:53:00.76 /rb4y06j.net
2ちゃんで句読点打ちまくるやつは大抵アレだから
ちょっとでもその気配感じたらスルーするということを覚えろ

301:デフォルトの名無しさん
16/04/26 19:08:36.29 KyGt67/n.net
不吉な臭いの発生源がおるな

302:デフォルトの名無しさん
16/04/26 21:11:57.40 W7z9JXIi.net
識別子は日本語でも英語でもいいけど内容はUMLで説明してください

303:デフォルトの名無しさん
16/04/26 21:33:23.01 LJB+utxb.net
メンバやクラスの説明を全てUMLで記述したら
COBOL全盛期さながらの厖大な量のフローチャートが出来上がるわけだが

304:デフォルトの名無しさん
16/04/26 21:44:32.29 W7z9JXIi.net
個人的にフローチャートはドメインイベントとかユースケースレベルのコマンドを単位に書くからそこまで爆発的に増えないけど

305:デフォルトの名無しさん
16/04/26 23:00:51.85 ZSimnd6R.net
いまどきUMLはないわ。
UMLの大半の図は失敗だった。

306:デフォルトの名無しさん
16/04/26 23:06:17.71 ZSimnd6R.net
>>296
おまえは設計書もコメントも書かないのか?
ロジカル、フィジカルは論理、物理だろ。
物理名だけで仕事をするのか?

307:デフォルトの名無しさん
16/04/26 23:10:35.98 LJB+utxb.net
>>301
その個別のコマンドの説明どうすんのかという話だよ
全部UMLで書くんだろ?

308:デフォルトの名無しさん
16/04/26 23:11:38.88 ZSimnd6R.net
まあそもそも物理名に迷ったときのスレで、論理名が決まっているのに迷うのは、本人の語彙に問題があるだけ。
それか変な物をひとくくりにしようとしているから、命名が難しくなる。
要するに設計がおかしい。

309:デフォルトの名無しさん
16/04/26 23:55:34.73 Mtfnl+Bq.net
>>303
質問に質問で返すマヌケw

310:デフォルトの名無しさん
16/04/27 01:49:51.63 DIeRo8dz.net
ボクは他人の悪口しか言えないの。

311:デフォルトの名無しさん
16/04/27 08:46:50.65 Qfg6RrFc.net
物理名と論理名が分かれてる時点でモデリングが破綻してる
同じ概念に別の名前をつけるなよ

312:デフォルトの名無しさん
16/04/27 10:05:26.47 oKFywJW0.net
しかしタヌキをムジナと呼ぶ人もあれば
サルをエテと呼ぶ人もある
でもそのせいでモデリングは破綻しないかw

313:デフォルトの名無しさん
16/04/27 11:59:38.79 +cERYc9k.net
文字列をtextとするかstringとするか定期

314:デフォルトの名無しさん
16/04/27 18:39:28.59 Qfg6RrFc.net
殿をエテ呼ばわりとは不敬なやつめ切腹じゃ!
このように識別子の混同は時に人命を左右します
間違いがないように1つの概念には1つの識別子を割り当てましょう

315:デフォルトの名無しさん
16/04/27 19:09:23.05 KbkM9snj.net
だから日本語で書けっていってるだろ
よめねえのはこいつらみたいなバカだけだからよ

316:デフォルトの名無しさん
16/04/28 09:40:18.60 c/7AsRbP.net
IsXXXX()
HasXXXXX()
みたいな関数は多いですが、存在確認は
ExistXXXX()
なのが多いと思いますが、これだけ疑問形じゃないので違和感あります。
どうしたら良いですか?

317:デフォルトの名無しさん
16/04/28 09:50:28.26 0YjJiZ00.net
>>313
疑問文という認識を変えたほうがいいんじゃないかね?
obj.IsXXXX() が英語として自然な言明に見えるようにしていると考えれば obj.Exits() が自然。
英文で if の後ろに疑問文なんて書かないからね。

318:デフォルトの名無しさん
16/04/28 09:53:31.23 wc4ljUlt.net
英語を勉強してください

319:デフォルトの名無しさん
16/04/29 20:23:58.65 AWs6LkoN.net
関数名に主語を入れたくなるときとか
ちょっと悩むよね

320:デフォルトの名無しさん
16/04/30 13:51:59.43 WILOMmUT.net
>>316
主語がいる関数名なんてあるかよ。
目的語なら分かるが。

321:デフォルトの名無しさん
16/04/30 14:09:26.61 kBEc2ffr.net
bool Foo::Exists()という関数で、例えばこれを非オブジェクト指向で書くと、
主語としてFooを出すのが素直じゃない?

322:デフォルトの名無しさん
16/04/30 14:22:58.16 WILOMmUT.net
>>318
「Fooが存在する」という名の関数か?
FooとExistだけで命名しようとするからおかしくなる。
その bool Foo::Exists() だって細かいこと言えば、変な名前だよ。

323:デフォルトの名無しさん
16/04/30 14:29:54.38 WILOMmUT.net
アメリカ人のいい加減さが分かる。

324:デフォルトの名無しさん
16/04/30 14:33:13.90 lGZUcRoI.net
>>319 「細かいこと」をくわしく

325:デフォルトの名無しさん
16/04/30 14:59:42.47 WILOMmUT.net
>>321
プロパティをメソッドとして実装してるから違和感がある。

326:デフォルトの名無しさん
16/04/30 15:17:02.56 kBEc2ffr.net
ああ、状態を返すような関数そのものに否定的なのか
その考え方自体は分からんでもない

327:デフォルトの名無しさん
16/04/30 16:25:01.76 WILOMmUT.net
関数名だったら和製英語風にExistCheckFoo()かCheckExistFoo()でいいんじゃない。

328:デフォルトの名無しさん
16/04/30 16:27:42.56 T6vNQ9r+.net
こないだの日本語ダメダメくんでしょ?
和製英語とか言わず、純粋に英語で頼むよ。

329:デフォルトの名無しさん
16/04/30 16:31:12.19 PNZBHOdI.net
>>324
それで言うならCheckFooExistにするかな

330:デフォルトの名無しさん
16/04/30 16:58:02.53 f7aH8+B9.net
つーか >>313 は hasXXX は受け入れてるんだから existsXXX も受け入れろよ、とは思うな
hasXXX だって疑問形ではないんだし

331:デフォルトの名無しさん
16/04/30 16:59:26.96 kBEc2ffr.net
existを名詞か形容詞にしたいなそれ

332:デフォルトの名無しさん
16/04/30 17:02:40.65 ZYtSxRdz.net
真偽でcheckとか使うやつはマジで最悪
チェックしてどうすんの?チェックして終わりですか?ん?

333:デフォルトの名無しさん
16/04/30 17:03:09.57 WILOMmUT.net
>>327
どうでもいいけど、疑問形ではないぞ。

334:デフォルトの名無しさん
16/04/30 17:03:41.48 WILOMmUT.net
>>329
関数だって言ってるだろ。

335:デフォルトの名無しさん
16/04/30 17:06:55.20 kBEc2ffr.net
>>327
この場合は、持っているという意味のhaveじゃなくて
完了形のhaveを疑問形にした、という認識だろう

336:デフォルトの名無しさん
16/04/30 17:07:04.94 PNZBHOdI.net
>>327
ところがイギリス英語では
do you have ~を
have you ~って言うからな

337:デフォルトの名無しさん
16/04/30 17:22:34.77 WILOMmUT.net
>>333
そんなの許容範囲だろ。
動詞の過去形を全部~edにしても通じる。
というよりアホなアメリカ人は実際にこういうふうに言うと思う。

338:デフォルトの名無しさん
16/04/30 18:51:00.94 n7hI6rwd.net
unko.Xxx.Do(xxx => xxx.Fack());
IXxx Xxx { get { return _xxx ?? NullXxx.Value; } }
これが正解な
if(unko.hasXxx) { ...
とかダサすぎて見てらんない

339:デフォルトの名無しさん
16/04/30 20:00:51.29 WILOMmUT.net
オナニーならご自由に。

340:デフォルトの名無しさん
16/04/30 20:21:55.04 n7hI6rwd.net
条件分岐は馬鹿の使うものなんだよなあ

341:デフォルトの名無しさん
16/04/30 23:39:14.08 q5h6kmnB.net
Checkはvoid型で偽なら例外ぶんなげる。

342:デフォルトの名無しさん
16/04/30 23:42:13.18 n7hI6rwd.net
例外投げるなら
assert
require
ensure
やろ

343:デフォルトの名無しさん
16/05/01 09:11:08.43 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw

The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


344:デフォルトの名無しさん
16/05/03 14:56:28.30 Ke9bfrqP.net
数値 = 関数名(確率);
関数は、whileか何かをおこない、確率が真になり続けた回数分のカウントを記録する。
その回数が戻る。
例:引数が0.45の場合、45%でwhileかなにが実行される。
この場合、関数からは55%の確率で0が返り、24.75%の確率で1が返り、20.25%の確率で2以上が返ることになる。

1:関数の適切な英語の名前を教えてください。(もしくは数学的名称を教えてください)
2:関数の適切な日本語の名前を教えてください。
3:上記の関数を、数学的記法で書くとどうなるか教えてください。

345:デフォルトの名無しさん
16/05/03 15:05:24.75 pcOhaWKy.net
質問です。
エディタやファイラにはよく、偶数行と奇数行とで文字色や背景色を変える機能がありますよね。
これをクラス名にしたいのですが、英語(あるいは日本語でも)ではどのような呼び方が一般的でしょうか。

>>341
ダブルアップとか連続成功数とか、そういう感じかしらね

346:デフォルトの名無しさん
16/05/03 18:22:12.18 skS2OG8T.net
>>342
ZebraLines
ZebraStripes
[ Zebra Stripes|lines excel ] で画像検索してみれ

347:デフォルトの名無しさん
16/05/03 18:54:34.07 mqpOF0td.net
行を表す描画モデルにEvenRowStyleとOddRowStyleを加えるだけでしょ

348:デフォルトの名無しさん
16/05/03 19:08:54.27 x698zMNJ.net
>>343
その表現は知らんかった。
なるほど。
しかし、質問者のいう機能をクラスにするってのはちょっと違和感あるね。

349:デフォルトの名無しさん
16/05/03 19:37:31.46 skS2OG8T.net
>>344,345 確かにそうだ

350:342
16/05/03 22:08:12.37 pcOhaWKy.net
ありがとう。
Zebra Stripesという表現があるんですね。
ちなみに、Unityのエディタ拡張としてクラス化してました。

351:デフォルトの名無しさん
16/05/30 11:05:28.49 PtD8OXpj.net
javaだとboolで動詞からはじめる場合は三単現にしろなんていわれますが
他の言語はオープンソースなどを見ているとついていないものがほとんどのように見受けられます
(慣習的に使われているものはsつきが多いようですが)
文法上はsつかないとおかしくねってなるのでネイティブ圏の人は気にするのかと思ってたのですが
別に明確な英文じゃないし、なくても変数かメソッドかの区別さえつけば割とどうでもいいんですかねこれ

352:デフォルトの名無しさん
16/05/30 21:24:10.84 K+n0hpg6.net
>>348
大事なことはソースの読者を意識すること。
主に誰がソースを読むのか、誰に読んでほしいかを考えて、
できる限りその人(ら)が読みやすいように書くこと。
(もちろん、自分自身のみ、ということもある)
あなたのソースを主に読む人にとって、
三単現にした方が読みやすいだろうと予想したなら、絶対にそうすべき。
三単現にしない方が読みやすいだろうと予想したなら、絶対にそうすべき。
読者はそんな事気にしないだろうと予想したなら、あなたも気にするな。
そうやって、読者を最優先に意識した書き方のルールを他人ではなく書き手が決める。
皆がやってるから、本に書かれてたから、じゃないんだよ。
もちろん、その皆とあなたのソースの読者が重なっているなら真似すればいいけどね。

ちなみに、ネイティブが主な読者なら、ここで質問するのはどうかと思う。
StackOverflowにでも訊いた方がいい。
かなり恥ずかしい拙い英語でも、たいていは紳士的に答えてくれる。

353:デフォルトの名無しさん
16/06/03 10:39:21.65 /xnNbwal.net
Aからの距離を返す関数名は何にする?GetIndex?
引数は 'A' <= 'Z' で確定
char a = 'B';
func(a); // 1が返る
int func(char a)
{
return a - 'A';
}
A = 0
B = 1;
Z = 25

354:デフォルトの名無しさん
16/06/03 11:37:39.85 aKIJ7KQZ.net
GetOffsetFromAとか?
あとToAlphabeticOrderとか?

355:デフォルトの名無しさん
16/06/03 12:27:49.74 GY90+sB3.net
>>350
distanceFromA
"distance"はC++標準ライブラリで2点のイテレータ(ポインタ)の距離を求める関数名から
URLリンク(cpprefjp.github.io)

356:デフォルトの名無しさん
16/06/04 09:30:19.10 iDs7a7Tk.net
>>351-3522
ありがとう!

357:デフォルトの名無しさん
16/06/04 09:48:11.79 IwWQQgjS.net
>>351-352ね

358:デフォルトの名無しさん
16/06/04 11:54:46.10 HhRyFvd+.net
thanks in advance ってやつか

359:デフォルトの名無しさん
16/06/04 14:58:50.59 LkNHIPjr.net
違う違うw

360:デフォルトの名無しさん
16/06/05 01:52:00.22 6G4RxP+T.net
動詞、あるいは動詞と同じつづりの単語を、
目的語として変数名や関数名に組み込みたい。
このとき、どう命名するのが誤解が少なくスマートでしょうか。
例えば「Set関数(set function)」という言葉があるとして
これを保持する変数があったとすると、そのままだと setFunction になりますが
しましこれだと「関数をセットする」という意味に見えます。
同様に、「Set関数を取得する」も素直に書くと GetSetFunction となり、ワケが分かりません。
変数と関数では命名が異なることも多いでしょうから、
そのあたりで対応することは可能でしょうけど、あまりしっくりきません

361:デフォルトの名無しさん
16/06/05 08:23:59.98 XRNn81gU.net
>>357
そもそもSet関数という言い方がおかしいだろw

362:デフォルトの名無しさん
16/06/05 08:25:58.11 XRNn81gU.net
>>357
関数名にファクションという言葉は普通、つけない。

363:デフォルトの名無しさん
16/06/05 08:28:19.83 GsmfrrQQ.net
関数の名前にFunctionと付けてるわけじゃなく関数のポインタを保持する変数の名前の方じゃないか多分

364:デフォルトの名無しさん
16/06/05 08:30:49.82 4pXfFBXo.net
>>357
>>357の言うSet, Getの動作がわからないとなんとも
Set関数を取得するってのもポインタ取得するだけでいいのかとか
取得って言ってるけど実は呼び出しなのかとか
>>359
論点では突っ込まないで揚げ足を取るバカ

365:デフォルトの名無しさん
16/06/05 08:31:01.93 TM3QCo+d.net
>>359
ゲッターに gettarHogehage()
セッターに setterHogehage()
という名前を片っ端から付ける頭のおかしい奴もいるぞ。

366:デフォルトの名無しさん
16/06/05 08:32:28.03 TM3QCo+d.net
gettar → getter

367:デフォルトの名無しさん
16/06/05 08:35:21.09 GsmfrrQQ.net
Set関数という言葉の方を何とかしたくなるな

368:デフォルトの名無しさん
16/06/05 08:40:03.37 XRNn81gU.net
何をセットする関数なのかが自分で分からないところが超初心者っぽいよな。

369:357
16/06/05 09:34:14.37 6G4RxP+T.net
すみません、言葉が足りていませんでした。
「Set」というのは、あくまで問題が発生しやすい一例と考えてください。
また、この「Set」は自分が作った名前ではなく
既存のシステムに存在する予約語だったり、プロダクトごとの固有名詞を想定しています。
例えばSQLにはSET句という言葉が登場します。

370:デフォルトの名無しさん
16/06/05 09:40:12.69 6G4RxP+T.net
>>361
あくまで一例ではあるのですが
Cなら関数ポインタ、言語によっては関数そのもの…という感じでしょうか。
>>364
ほんと同感です

371:デフォルトの名無しさん
16/06/05 10:14:16.50 rqrEGD9X.net
別にGetSetFunctionでいいよ
例外作られた方がかえって意味不明になるわ
GetだのSetだのというのはハンガリアンみたいなもんなんだから英語的に自然かどうかなんてどうでもいい

372:デフォルトの名無しさん
16/06/05 10:55:05.77 4dJDj7dU.net
最悪の名前

373:デフォルトの名無しさん
16/06/05 10:59:41.44 4pXfFBXo.net
>>369
最良の名前頼んだ

374:デフォルトの名無しさん
16/06/05 12:38:14.99 yu++c++x.net
>>366
申し訳ないけどやっぱり何を言ってるのかよくわからないわ。
そもそもここは具体的な命名を人に聞くスレだから抽象論じゃなくて
具体的な例を挙げないと。

375:デフォルトの名無しさん
16/06/05 16:38:54.70 FUwALgQ9.net
要するに自分が何をやっているのか分からないから、説明もできないし、妥当な名前も思い浮かばない。

376:デフォルトの名無しさん
16/06/05 18:26:29.87 6G4RxP+T.net
失礼しました。
例にも挙げたSQLですが、レコードの更新をする際に使うUPDATE構文の中に
具体的な更新情報を設定する「SET句」というものが存在します。
・カラム名と値のペアを引数として、目的のSET句を生成する関数
・既にあるUPDATE文を引数として、SET句の部分を抽出する関数
・生成�


377:るいは抽出したSET句を保持する変数 をお願いします。



378:デフォルトの名無しさん
16/06/05 18:54:23.96 M+LzYe5A.net
Create(Generate)SetClauseとか
ExtractSetClauseとか
そこらへんでいいんじゃねぇか。

379:デフォルトの名無しさん
16/06/05 18:55:31.51 M+LzYe5A.net
最後の変数名は普通にSetClauseで。

380:デフォルトの名無しさん
16/06/05 18:59:52.85 B97j6xLf.net
設計に口出すのは禁止とされているが、そんな関数ほんとに必要なん?
set a = 'foo', b = 'bar', c = 'baz'
を作るのを考えたときにせいぜい、文字列のjoinくらいが欲しいだけでは?
逆の作業のためにsplitがあれば、カンマで分割、=で分割ができて嬉しい

381:デフォルトの名無しさん
16/06/05 19:05:55.74 w2YPqJX3.net
SQLでSETはstatementじゃね?

382:デフォルトの名無しさん
16/06/05 19:40:59.04 6G4RxP+T.net
ありがとうございます。
動詞+動詞になったり、変数名が動詞始まりになりますが、
あんまり気にしてても仕方ないですかね
>>376
基本的にはそんな感じなんですが、
他の条件で何種類か分岐したり、NULL判定やらエスケープやらも入れるので
関数化できたら楽かなと

383:デフォルトの名無しさん
16/06/05 19:58:22.99 M+LzYe5A.net
CreateSetClauseで文法的に動詞+動詞にならんだろ。
細かい文法忘れたけど。

384:デフォルトの名無しさん
16/06/05 20:02:26.84 M+LzYe5A.net
URLリンク(www.sqlite.org)
で、An UPDATE statement is used to modify a subset of the values stored
とかあるけど、この主語のUPDATEは動詞だと思ってるの?君は?

385:デフォルトの名無しさん
16/06/05 20:38:20.30 M+LzYe5A.net
つか、命名するときは厳密な英語じゃないからな。冠詞とか省いてるし。
気にし過ぎ。

386:デフォルトの名無しさん
16/06/05 21:47:30.90 pxS74riA.net
主語はUPDATE statementだと思うがw

387:デフォルトの名無しさん
16/06/05 22:18:45.26 M+LzYe5A.net
そんなの当たり前だろ。
主語にあるUPDATE
ってこう書けばよかった?

388:デフォルトの名無しさん
16/06/05 23:48:44.91 pxS74riA.net
恥ずかしいなオイw

389:デフォルトの名無しさん
16/06/06 00:14:49.75 v8u4+dYW.net
そもそも設計がおかしいわw

390:デフォルトの名無しさん
16/06/06 00:16:52.24 v8u4+dYW.net
>>373
おまえ、それジョークだろ?
なんでそんな分かりにくいものを作るんだよ。

391:デフォルトの名無しさん
16/06/06 01:45:33.56 q+Q7JAO1.net
必死だなw

392:デフォルトの名無しさん
16/06/06 17:00:05.35 tNI5q6bB.net
getset嫌いな人って別のクラスの何かをセットしたりゲットする場合名前どうしてんの?
パブリックなもん作るなハゲとかそういう屁理屈みたいなのはなしで純粋に聞きたい

393:デフォルトの名無しさん
16/06/06 17:43:58.32 KUhWm8XZ.net
プロパティ使う

394:デフォルトの名無しさん
16/06/06 17:51:52.01 NqTKzMF7.net
コンストラクト時に全部渡す
getはまだしもsetはほんとに使い道ないと思う
どんなときに使うの?

395:デフォルトの名無しさん
16/06/06 18:26:22.45 Eud6fEMT.net
そういうのなしでわざわざ書いてあるのに脳みそ腐ってんじゃねえのかこいつら

396:デフォルトの名無しさん
16/06/06 19:37:20.28 q+Q7JAO1.net
get/setは不自由なJava豆のために使われたことから広まったと思う。
Windows-cppグループにはCOMが有ったため不自由していなかった。
そのため今でもColor c = hoge->color();/*getter*/あるいはhoge->color(c);/*setter*/のようにする。
もしもJavaでset/getが予約語だったらどうだろう。
そんな言語は許されるだろうか。
メソッド名で機能性が変わるJava豆は許されて良いものだろうか。
いいや許せん!

397:デフォルトの名無しさん
16/06/06 19:40:30.08 q+Q7JAO1.net
ココにJavaを許さない会設立を宣言する!

398:デフォルトの名無しさん
16/06/06 20:06:44.69 7c0ylB5d.net
c = color-func(&a, b)
はいこれ getter setter どっち?
設計が悪いで終了っすか?

399:デフォルトの名無しさん
16/06/06 20:29:18.76 /AibCiaw.net
ゲッターセッターが「書きにくい」ことに不満を持つのも
「書きやすい」言語を求めるのも初心者によくある間違い

400:sage
16/06/06 22:38:20.45 Kcx2FrR6.net
URLリンク(www.youtube.com)

401:デフォルトの名無しさん
16/06/06 22:51:52.32 htemWdUU.net
>>388
嫌いじゃあないが、element.textContent のようにgetter/setterを組み合わせたプロパティは考えられるな

402:デフォルトの名無しさん
16/06/06 23:21:27.05 htemWdUU.net
Map.prototype.size は getter だったかな

403:デフォルトの名無しさん
16/06/07 04:43:16.23 swev/JrE.net
ステートフリープログラミング!

404:デフォルトの名無しさん
16/06/13 17:31:19.02 vDvNi0IR.net
個人間でのメッセージシステムを作っているのですが、
相手側はどのように表現すればよいでしょうか?
codicではmessage_partnerと出ましたが・・・少し微妙です

405:デフォルトの名無しさん
16/06/13 18:15:02.16 AMr8YAbC.net
TheOtherとか?
P2PのP(Peer)にも通信相手の意味があるみたいだけどちょっと
誤解を招く可能性があるような気がしないでもないね。

406:デフォルトの名無しさん
16/06/13 18:47:32.03 48MOFUcT.net
ここ1年ほど、スクリプトは全部漢字で名前付けるようにした。
すごぶる調子いい。

407:デフォルトの名無しさん
16/06/13 18:48:57.95 48MOFUcT.net
もちろん社内用スクリプトと自分用スクリプトだけだけど。

408:デフォルトの名無しさん
16/06/13 18:52:28.98 FgO5cI1c.net
DDDやってると自然と識別子が日本語になる

409:デフォルトの名無しさん
16/06/13 19:22:14.15 hXDTf0KG.net
RemoteEndPoint
.NETのパクリ。

410:デフォルトの名無しさん
16/06/13 20:31:59.23 1ahkFkzd.net
それなら単にremoteとかremote nodeとかremote siteとかでいいんじゃないか
プログラムでエンドポイントと言われるとTCPの接続先をイメージしてしまう
remote.endpoint で相手のIPアドレスやポートが返ってくるみたいな

411:デフォルトの名無しさん
16/06/13 21:30:27.67 lgEcYsTe.net
だよね
destinationとかシンプルにtoでいいよ

412:デフォルトの名無しさん
16/06/13 21:33:06.20 Ihgwvj7F.net
子アイテムを追加削除出来るグループとそうじゃないグループを区別したいんだが
revisableGroupでいいかな?
editableだと自分が変更可能みたいだし
parentもあんま使いたくなくて悩んでます><

413:デフォルトの名無しさん
16/06/13 21:38:44.69 1ahkFkzd.net
mutableかmodificable

414:デフォルトの名無しさん
16/06/13 21:59:02.51 Ihgwvj7F.net
>>409
有り難うございます
英語苦手だわ~;;

415:デフォルトの名無しさん
16/06/17 11:12:46.03 PuKdxxvH.net
C#Linq拡張
IEnumerable<IEnumerable<T>> foo(this IEnumerable<T> source, int count) {
IEnumerable<T> top = source.Take(count);
IEnumerable<T> others = source.Skip(count);
while(top.Count() > 0) {
yield return top;
top = others.Take(count);
others = others.Skip(count);
}
}
このメソッド適切な名前を付けてください
使い方の例はこんな感じ
// 1000要素ずつファイルに書き込む
int n = 0;
foreach(var i in source.foo(1000)) {
WriteToFile((n++).ToString()+".txt", i);
}

416:デフォルトの名無しさん
16/06/17 12:09:06.07 EHxWLoiP.net
divideIntoChunksOf
divideBy

417:デフォルトの名無しさん
16/06/17 15:00:38.23 UPHAo8lR.net
>>411
IxのBufferと同じものだな
スレ違いだけどその実装だと区切る回数が増えるほどパフォーマンスが落ちるぞ

418:デフォルトの名無しさん
16/06/17 20:05:02.82 TYrRBfVh.net
書けない?

419:デフォルトの名無しさん
16/08/03 20:17:51.13 +fx8B3Le.net
「nヶ月前」を意味し、 この n を格納する Int 型変数の名前は何にしたらいいと思う?

420:デフォルトの名無しさん
16/08/03 21:12:35.73 U2nwZ26D.net
monthsBefore

421:デフォルトの名無しさん
16/08/03 21:15:05.12 wuBisWbe.net
月数(months)でいいんじゃないの?
変数名にそこまで具体的な意味を込める必要は恐らくないと思うんだけど。

422:デフォルトの名無しさん
16/08/03 21:41:48.90 8jvqYkZx.net
months_passed

423:デフォルトの名無しさん
16/08/03 22:00:54.75 o77xN4AH.net
Ruby on Railsのmonths_agoメソッドだと
def months_ago(months)
で変数(引数)名はmonthsになってるね

424:デフォルトの名無しさん
16/08/03 22:09:50.68 +fx8B3Le.net
みんなありがとう。
nヶ月後を表す変数と区別したいから monthsBefore にするよ。
>>419
Ruby は使ったことないんだけど、それはメソッドの定義で、months は仮引数なの?
その状況なら months で十分なのは分かる。

425:デフォルトの名無しさん
16/08/03 22:10:42.90 Y2FRm/z5.net
それはメソッド名で役割を明確にしてるからだろ
言及されてないからわからんが変数で表したいだけならmonthsだけじゃ不明瞭

426:デフォルトの名無しさん
16/08/05 13:07:51.82 FVU7PUl1.net
期間は2つのポイントがあるから導き出せるってことだよね
ポイントを変数に入れてその差異を出すじゃあ駄目なの?
前か後かは符号で分かるし
この話はスレ違いか

427:デフォルトの名無しさん
16/08/05 13:32:48.54 LWhq4u9q.net
たかが数文字書いとけば済むのに
こういう読み手に無駄な作業増やしたがるやつってなんなんだろうな

428:デフォルトの名無しさん
16/08/05 13:54:05.27 P4D3CPGd.net
無駄に説明的な名前だとかえって分かりづらくなる場合もあるから
一概にどっちが正しいとは言えないと思うよ。
特にこの例みたいに、日本語や英語ですら何て表現してよいか迷うような概念の場合。
一般的には説明的な方が好ましいのは確かだけどね。

429:デフォルトの名無しさん
16/08/05 18:52:22.12 OgtmDK03.net
例えばその変数に3って入ってるとして、
その3をどう使うのか説明してくれれば、
もうちょっとマシな提案できると思うよ

430:デフォルトの名無しさん
16/08/05 18:58:27.11 3d173yzJ.net
>>419のように変数が一つしかないのなら months で良いと思う
>>420のようにnヶ月後と区別するなら、
var previous, after;
var previousNumber, afterNumber;
var previousMonths, afterMonths;
どの変数名を採用するか、は他にある変数名に依存するかと

431:デフォルトの名無しさん
16/08/06 10:46:53.32 ywdq7rGj.net
文字列を引数として、列挙型を返す関数の名前をお願いします。
enum Fruits
{
  ORANGE, BANANA, GRAPE, MELON, DURIAN,ACORN
}

似たような関数が複数あるため、できるだけ統一した命名にしたいと考えています。

432:427
16/08/06 10:54:41.22 ywdq7rGj.net
すみません、送信ミスりました。
上記のような列挙型があるとして、
適当な文字列(例えば"みかん" "Orange" "いよかん" など)を与えると、
それに対応した列挙型の値(この場合はORANGE)を返してくるというものです。
今のところGetFruit()やConvertFruit()が候補にあるのですが
どちらもなんか違うような気がしています。
よろしくお願いします

433:デフォルトの名無しさん
16/08/06 11:35:38.76 CIMwAPv1.net
返ってきた値をどう利用するの?
GetIndex?

434:デフォルトの名無しさん
16/08/06 11:38:47.07 dqPdKOk8.net
ParseFruit
GetFruitFromString

435:デフォルトの名無しさん
16/08/06 12:22:29.34 NUwSQmRP.net
classify

436:デフォルトの名無しさん
16/08/06 12:29:13.43 dhAdgMp9.net
>>428
普通にToFruitsでいいんじゃないの?
string以外の型からFruitsへの返還関数もあってかつオーバーロードも使えないなら
StringToFruits
もしenumに静的メソッドを定義できるならFruits.FromStringとかFruits.Parseもあり

437:デフォルトの名無しさん
16/08/06 13:38:14.02 HwGfpDVr.net
>>428
getFruitID

438:427
16/08/06 20:13:49.16 ywdq7rGj.net
>>429-433
ありがとうございます。
ParseFruit()にしようと思います。
>>429
表示を変えたり、データベースに突っ込む前の下準備だったりと色々です。
使うたびに正規表現でマッチさせても、そこまで速度が変わるわけではないんですけれども。
>>432
頭に動詞を持ってこないタイプの命名、すっかり忘れてました。
変換(型変換?)を多用するときに特に有効そうですね。

439:デフォルトの名無しさん
16/08/06 22:56:10.17 wynReyk0.net
>>429
「戻り値の使い方」を関数名に込めると、
その関数と今の呼び出し元の関数との間の関係が必要以上に深くなる。
その関数を他の場所や目的で使いにくくする可能性が増すからお勧めしない。
そういう意味で言ってるんじゃなかったらゴメン。

440:デフォルトの名無しさん
16/08/07 00:46:48.79 2lgjqB6s.net
考えすぎやねんw

441:デフォルトの名無しさん
16/08/07 04:00:39.31 BOC7lX8O.net
つーかこれ型名Fruitじゃないの?一般的に

442:デフォルトの名無しさん
16/08/07 08:53:56.95 zBYc/KkC.net
>>435
indexとして利用するのかとりあえずORANGEならいいのかで変わってくるような
構造体Fruitがあったとして
Fruit[ORANGE]ならFruitに含まれる情報はオレンジの情報って感じでindex使うかなと思って

443:デフォルトの名無しさん
16/08/07 11:25:19.07 RaDiNtb+.net
なんか後から盛り上がってるんであえて黙ってたことを書いちゃうけど、
質問者はParseFruitで納得してるけどこれ日本語訳すると「Fruitsを解読する」。
実際の処理は「文字列を解読してFruitsに変換する」だから実は処理と名前が正反対なんだよね。

444:デフォルトの名無しさん
16/08/07 13:40:19.23 2lgjqB6s.net
だから考えすぎやねんw
Fruitの名前をParseするんだからParseFruitで全く問題ないわw

445:デフォルトの名無しさん
16/08/07 13:46:21.43 zBYc/KkC.net
>>440
「おれんじとりんごとぶどう」これを
「おれんじ」「りんご」「ぶどう」こうするのがParse

446:デフォルトの名無しさん
16/08/07 13:49:12.87 2lgjqB6s.net
>>441
考えすぎてオレオレ定義になってもうとるわw

447:デフォルトの名無しさん
16/08/07 13:54:06.00 zBYc/KkC.net
>>442
質問者が示したのは構文が無いだろ? <


448:デフォルトの名無しさん
16/08/07 13:59:31.38 9x/mUqeF.net
DURIANはともかくMELONとACORN(どんぐり?)は果物なのかどうか問題

449:デフォルトの名無しさん
16/08/07 14:33:50.73 4ZSsrl0W.net
>>440
いやいや悪いけどお前さんの考えが足りないだけ。
「Fruitsの名前」は文字列であってFruitsじゃないでしょ。
"日本語の文"を"A Japanese sentense sentence" 変換する作業は「日本語を翻訳」であって
「英語を翻訳」ではない。
「英語に翻訳」なら正しいけど、ParseFruitsは「FruitsをParse」であって「FruitsにParse」じゃない。

450:デフォルトの名無しさん
16/08/07 14:46:52.12 2lgjqB6s.net
>>445
だからFruitをParseであってるやろw頭おかしいんかお前w
お前と ID:zBYc/KkC は考えると問題に無関係の因子を持ちこんで
余計に混乱させるタイプの脳を持っとるようやからなんも考えん方がよっぽどマシやでw

451:デフォルトの名無しさん
16/08/07 14:50:11.80 4ZSsrl0W.net
>>446
なんか頭悪そうだけど、"Fruitsの名前"がFrutsiそのものであるならそもそも変換いらないじゃん。
馬鹿じゃないの。

452:デフォルトの名無しさん
16/08/07 15:52:33.40 zBYc/KkC.net
>>446
主語動詞etcに分解する事をParse
そっちが言ってるのはオレンジをORANGEにする事をParseな
プログラム以前に国語と英語を

453:デフォルトの名無しさん
16/08/07 16:38:45.95 xBB6TA9C.net
うむ parse だと続きがありそうな気になる

454:デフォルトの名無しさん
16/08/07 16:53:02.13 4ZSsrl0W.net
ちょっとググった感じだとParseIntoFruitsなら少なくとも間違いではない感じ。
intoじゃなくてtoでもいいような気もするけどその辺は自信ないな。

455:デフォルトの名無しさん
16/08/07 17:05:38.96 JROb1E9W.net
GetEnumFruits でw

456:デフォルトの名無しさん
16/08/07 17:34:34.23 EccYH2Vl.net
例を挙げるならこんなところか
function parseJSON (json) { return JSON.parse(json); }
var fruits = parseJSON ('["ORANGE","BANANA","GRAPE","MELON","DURIAN","ACORN"]');
ここで関数名を parseFruits にする人はいない
フルーツだけしか列挙出来ない文字列フォーマットなら convertToFruits や parseFruitsString が考えられるが、ちょっと考えにくいな
列挙型に変換可能な文字列フォーマットならフルーツ特化というわけでもないと思うが

457:デフォルトの名無しさん
16/08/07 18:27:55.44 2lgjqB6s.net
>>452
「いない」やないわ
お前が「今は」それは少し違うと考えとるだけや
お前も脳に仕事させへん方が良いタイプやなw

458:デフォルトの名無しさん
16/08/07 18:46:55.94 zBYc/KkC.net
>>453
いつ本題で反論するんかなぁ

459:デフォルトの名無しさん
16/08/07 21:01:25.91 efJ0aVBs.net
もうreplaceでいいよめんどくさいから

460:デフォルトの名無しさん
16/08/08 11:13:52.57 GluBStzJ.net
クラスを定義する時に
class 商品情報Class{
 ...
}
みたいに、末尾にClassとかクラスなどの文字を入れるべきでしょうか?
利用する言語は主にC#です。

461:デフォルトの名無しさん
16/08/08 11:49:08.90 liPHE8bT.net
俺なら後々競合したら嫌だし
C_プロジェクト名_商品情報
ってやるな

462:デフォルトの名無しさん
16/08/08 12:04:30.00 5Stpz6MP.net
いやいや、名前空間ってないの??
>>456
C#というか.NETの標準クラスの名前にそんな「Class」って接尾辞ついてるか????????????
そんなものあわせりゃいいだけだろ。


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