クラス名・変数名に迷 ..
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
可変長引数を受け取って配列に詰めて返す関数名はハッカーの間では何と呼ばれてますか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
97日前に更新/261 KB
担当:undef