2ちゃんねる★スマホ版★■掲示板に戻る■全部1-最新50
レス数が900を超えています。1000を超えると表\示できなくなるよ。

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

1 :
2016/10/16(日) 08:01:30.20 ID:NOg6ZxxU
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part26
http://echo.2ch.net/test/read.cgi/tech/1450622191/
2 :
2016/10/16(日) 08:02:17.55 ID:NOg6ZxxU
スレたてて気づいたけど、
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。
こんなルールがあったとはな
3 :
2016/10/16(日) 08:31:47.00 ID:MMtmJt+k
別に返信はいらんけど。

>set / getがダメという意見にはまったく賛成できない。
>言語も熟練度も越えたアクセサの命名規則だろ。
>素人でも理解できる。


命名規則はいらない。皿に盛り付ける事でもなんでも全部setって言わん。盛り付けの名称は盛り付け。
しかも素人ってなに?誰?そしてその素人はアクセサの命名規則に詳しいの?


この前騒いでたのはお前か?など、論点に関係ない事をまくし立てたのち、
「その例はアクセサじゃない。アホらしい帰る」


と言う流れ。
全く関係ないが、善意でわざわざ君の質問にレスしてやると、この前の件だかに関して俺は一つもレスしてません。
やけに拘ってるところを見ると、あのくだらない喧嘩の当事者の一人かな?
確かあの喧嘩も日本語や論理のやりとりがおかしかったよな。
4 :
2016/10/16(日) 11:34:54.41 ID:m7EkH73x
>>990
>正直、企画連中が使う言葉なんてコロコロ変わるからそれに合わせて命名なんかやってらんない

>初期段階では「割引券」機能と言ってたくせに、実装が一通り終わってから「会議で正式名称は『RaCoupon』に決まりました!」なんてさ

モデルは常に進化する
割引券であるうちはクラス名も割引券が正しい
モデルが変化してRaCouponになったらコードに反映させてクラス名をRaCouponに変えるのが正しい
最初にクラス名をDiscountTicketに翻訳してモデルが変化してもそのままDiscountTicketを使い続けるのがモデルを無視した最悪のパターン
5 :
2016/10/16(日) 11:58:17.40 ID:8D32iC3X
>>4
名称(仮)

正式名part1
↓ 部長が「語感が悪いから変えろ」ってさ
正式名part2
↓ごめん、商標引っかかってたわ…part1に戻すわ
正式名part1
↓やっぱ部長が嫌がって1と2の折衷案になった
正式名part3

ってなことが昔あったな
文系の人達なんて、そこまで体型立てて考えた上で言葉を使わないから合わせてたら仕事にならないぞ
6 :
2016/10/16(日) 12:16:20.63 ID:m7EkH73x
>>5
それでもだよ
名前がコロコロ変わるのには同情するが名前とエンティティの関係を崩すよりはだいぶマシだ
7 :
2016/10/16(日) 12:19:51.33 ID:aZSoSj+a
>>5
毎回きちんと連絡くれるならまだいい方
マスターアップ直前になって「あ、その名前変わったんですよー」なんてケースもある
8 :
2016/10/16(日) 12:22:31.05 ID:8D32iC3X
>>6
その名前関係自体、企画の中で崩れてるからどうしようもねえよ
酷いときは人によって言ってることが違う
ある企画の人は割引券、ある企画の人はクーポンって呼んでる
9 :
2016/10/16(日) 12:30:02.78 ID:m7EkH73x
>>7-8
それはドメインエキスパートとのコミュニケーションが不足してるだけ
10 :
2016/10/16(日) 12:32:00.48 ID:8D32iC3X
>>9
コミュ以前に文系連中はそこまでしっかり考えてないんだって
あいつら、『ニュアンスがなんとなく伝われば万事オッケー』の考え方で会話するから統一しようなんて試み自体が馬鹿げてる
11 :
2016/10/16(日) 12:41:43.78 ID:61G64M2R
>>6
名前変更如きで追加工数は認められないから、名前が変わるたびにサービス残業で直すことになるけど大丈夫か
ってか仕事したことある?
12 :
2016/10/16(日) 12:47:00.16 ID:MMtmJt+k
商品名と開発名は別物だろうに
13 :
2016/10/16(日) 12:50:15.44 ID:m7EkH73x
>>10
だからコミュニケーションが足りてないんだって
モデリングはステークホルダーが一体となって行うものだ
ドメインエキスパートがモデルにない言葉を使ったらこちらからその言葉の意味はなんですか?と問いかけなきゃならない
ミーティングでもレビューでも喫煙所でも酒の場でもいい
割引券でモデリングしているのにドメインエキスパートがクーポンという言葉を使ったならクーポンとはなんですか?とその場で問いかけてクーポンをモデリングしなければならない
もしかしたらドメインエキスパートの間では割引券とクーポンの間には微妙な違いがあるかもしれないしそうならばモデルにもその違いを反映させなければならない
結果として割引券とクーポンが同じものだったとしてもそれがハッキリするだけでその試みには価値がある
あなたたちと私たちが共同で取り組んでいるこのドメインに置いては割引券とクーポンは同じエンティティを指し示しているようです
私たちはすでに割引券という名前でモデルを作っているのであなたたちも割引券で合わせてもらえませんかと交渉することができる
交渉が決裂しても彼らが使っているクーポンという言葉は割引券のエイリアスだから私たちは割引券で合わせよう彼らがクーポンといったら割引券のことと考えていいよと次善策を取ることができる(ここは悲しいが力関係があるから仕方ない)
いうまでもないが彼らとのコミュニケーションにDiscountTicketという新しいエイリアスを持ち出すのは最悪だ
私たちが割引券とクーポンの違いに悩んだように彼らもDiscountTicketという言葉の意味に惑わされることになってしまう
14 :
2016/10/16(日) 12:52:45.04 ID:8D32iC3X
>>13
その理屈ならクーポンのエイリアスがDiscountTicketってことで解決だな
長文の割に実にバカバカしい
15 :
2016/10/16(日) 12:53:09.73 ID:m7EkH73x
>>11
モデルがしっかりしていないからそうなる
モデルがしっかりしていれば名前の変更は容易い
名前の変更だけで残業が必要なら自分の仕事を見直した方がいい
16 :
2016/10/16(日) 12:54:00.30 ID:RhRg/hma
バカにバカって言っても多分伝わらないよw
17 :
2016/10/16(日) 12:56:03.16 ID:RSdG5rFg
↓なぜならば!
18 :
2016/10/16(日) 12:57:41.50 ID:61G64M2R
>>15
ソースが一文字でも変更されたら、その時点でその実装機能のステートは「動作確認済み」から「未検証」に変更されるのよ
つまり品管に回して動作確認を再度依頼しないといけない

もう一回聞くけど、ほんとに仕事したことある?
趣味でプログラミングやったことしかない学生の妄言にしか見えないんだけど
19 :
2016/10/16(日) 13:00:42.08 ID:m7EkH73x
>>14
混乱を加速させるだけのエイリアスを増やすのは愚かだ
ドメインエキスパートはエンジニアが作ったエイリアスなんて知らない
ミーティングなどの場でエンジニアだけに通じるエイリアスを使えばドメインエキスパートが困惑しコミュニケーション不全が発生する
そうなるとこのエイリアスはドメインエキスパートも知っているとかこのエイリアスはエンジニアしか知らないとか○○さんには通じるだろうとかつまらないことに労力をかけて会話を進めなければならない
割引券とクーポンとDiscountTicketだけでも相当な混乱が(最初のうちは気が付かないほど静かに)発生する
同じことを繰り返すうちにプロジェクトは取り返しのつかないほどに混乱することになる
20 :
2016/10/16(日) 13:05:26.24 ID:8D32iC3X
>>19
正式名称がコロコロ変わる時点で、元々エイリアスなんてもんは山ほどあるのよ

名前が違う程度で混乱を起こす人はそもそも仕事できない
21 :
2016/10/16(日) 13:06:09.84 ID:m7EkH73x
>>18
それが品管の仕事だよ
必要な時に必要なことをする
22 :
2016/10/16(日) 13:10:06.38 ID:61G64M2R
>>21
「仕様が変わったわけでもないのになんで呼び名が変わったぐらいで再検証??」
と理由書の提出を求められるだけ

もう一回聞くけど、仕事したことある?
YESかNOで済む質問を何故答えられないの?
23 :
2016/10/16(日) 13:13:59.92 ID:m7EkH73x
>>20
エイリアスが複数あっても良い条件を満たすならそれでもいいんだろうな
エイリアスと認識していた名前が本当にただのエイリアスであると確証があるのか確かめたのか?
ドメインエキスパートが日常的に使っているエイリアスとエンジニアが勝手に作り出したエイリアスを皆が区別できているか?
エイリアスを削減する努力をした上でどうしても解消できなかったか?
すでに沢山あるエイリアスにあえてエイリアスを追加する皆が納得する理由と合意はあるか?
24 :
2016/10/16(日) 13:17:49.45 ID:m7EkH73x
>>22
だから仕様が変わったんだよ
割引券からRaCouponに変更になりました
仕事は当然してるよ
そこにこだわる君は少し滑稽だけど
25 :
2016/10/16(日) 13:20:16.40 ID:8D32iC3X
>>23
むしろ、企画内でエイリアスが溢れてる状況下で開発が合わせなきゃいけない理由がない

最初から言ってるが、開発セクション内で統一が取れてりゃそれで良いのよ
毎日のように変わる企画の言うことなんかいちいち真に受けてたら仕事が全く進まない
26 :
2016/10/16(日) 13:22:12.22 ID:61G64M2R
>>24
呼び名が変わった程度で仕様変更は認められないだろうね
品管回すのだってタダじゃないんだから、一笑に付されて泣く泣くコミットを取り消すことになるわ
27 :
2016/10/16(日) 13:25:47.36 ID:m7EkH73x
>>25
その結果が企画の意図とかけ離れた製品に繋がるんだけどね
まあそれでもいいならいいんだろう
別に皆が良い仕事をする必要もない
別に熱意もないしアルバイトのように適当に作業を潰して給料をもらえればそれでいいよという生き方を他人が頭ごなしに否定はできないからね
28 :
2016/10/16(日) 13:25:55.02 ID:Uhg/CTUB
何の話をしてるのかよくわからんけどその辺にしといたら?

俺は命名の話じゃなくても関連する話題であれば容認すべきって立場だけど、
その俺にしてもあんまり実のある話をしているように思えんなあ。

しかし、俺がその手の話をしてると執拗に>>1のテンプレの
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。

で絡んでくる奴が今日は静かなところを見ると、この下らない論争の
当事者になってるんだろうなきっとw
29 :
2016/10/16(日) 13:34:27.11 ID:8D32iC3X
>>27
クラスの命名規則が仕様書の日本語と違う程度で仕様とかけ離れたものを作ってしまうなら、それこそアルバイト以下の能力だよ
アンタのことさ

そもそも今の世に溢れてる優れた製品は99.9%以上、そうやって作られたもんだろ
どこの開発も日本語でクラス名や変数を名付けてなんかいない
実にバカバカしい
30 :
2016/10/16(日) 13:45:58.90 ID:RhRg/hma
しかし、バカの出す結論はいつもここに至る
「俺以外の全員がバカ、世界のみんながバカ」
31 :
2016/10/16(日) 13:54:20.73 ID:MMtmJt+k
そもそもなんで企画名がコード名に影響を及ぼすのか分からんのだが
農林100号は後付の商品名がコシヒカリ。
開発名は商品名に関わらす農林100号。
32 :
2016/10/16(日) 14:06:31.49 ID:eEuHW07G
という事にしておいた方が楽って事なんだろうな
33 :
2016/10/16(日) 14:10:49.43 ID:MMtmJt+k
すべてがおわたw
34 :
2016/10/16(日) 14:11:01.21 ID:MMtmJt+k
ゴバク
35 :
2016/10/16(日) 14:11:36.69 ID:2jDknijp
>>31
企画名と統一してソース内もunicodeで
class コシヒカリ
と名付けるべきだと喚くキチガイが昨日から暴れてる
36 :
2016/10/16(日) 14:20:47.85 ID:MMtmJt+k
米 = new 農林100号;
米->商品名設定("コシヒカリ"); //setアクセサ

普通、識別子は終始変わらないものにする。
プログラム始めたばかりなのか分からないが、
class コシヒカリ;
は駄目な理由を説明するのも面倒なほど駄目。
37 :
2016/10/16(日) 14:34:28.15 ID:m7EkH73x
>>29
作れる程度で満足するならこだわらなくていいよ
その積み重ねが今の日本のIT資産になっているわけだがね
38 :
2016/10/16(日) 14:36:05.60 ID:2jDknijp
>>37
バイト未満の無能くんが日本を語る図
39 :
2016/10/16(日) 14:39:32.79 ID:m7EkH73x
>>35
正確にはモデルと統一しろだな
class コシヒカリはコシヒカリがモデル上クラスとして適切なら正しい名前だ
あるインスタンスの商品名がコシヒカリというモデルなら適切なクラス名ではない
40 :
2016/10/16(日) 14:41:09.62 ID:MMtmJt+k
誰か早く彼に突っ込んでやってくれ
41 :
2016/10/16(日) 14:45:00.79 ID:pbM/LnBL
>>40
あれほどアホだと突っ込む気も起きんよ…
プログラミング覚えて2〜3年程度の意識高い系高校生ぐらいだろ、これ
実務とかけ離れすぎてる
42 :
2016/10/16(日) 14:46:31.68 ID:m7EkH73x
>>38
基本的に話題と関係ない罵倒は反論できませんでした参りましたと宣言しているようなものだよ
以後はこの手の敗北宣言にはレスしません
43 :
2016/10/16(日) 14:51:04.97 ID:8D32iC3X
>>37
日本の有象無象の優秀な製品を作る開発企業よりも俺の考え方が正しいって?
自惚れも甚だしいわ

具体的に、統一することで仕様との乖離を回避できた事例を教えてくれ
言えないならアンタの妄想でしかない
44 :
2016/10/16(日) 14:51:58.91 ID:MMtmJt+k
いいですか。
企画で変更している以上それは商品名であるし、
コードの名称が事後的に変動する仕組みならば、事前の段階で不適切なんですよ。

誰もクラスの事を名指しで言ってるわけではないのです。
45 :
2016/10/16(日) 14:54:27.29 ID:Nb/GIoSo
開発中にコード内のクラス名を変更する奴がいたら大混乱するわ
自分一人で開発するならまだしも、プログラマが複数人いる事を忘れてないかね
ガンジーも助走つけてぶん殴るレベル
46 :
2016/10/16(日) 15:06:04.54 ID:Uhg/CTUB
何の話をしてるのかよくわからんけど、

(1) コードの識別子は固有名詞やジャーゴンを逐語的にそのまま使うべきか

(2) そもそもコードの識別子に固有名詞やジャゴンを使う必要があるのか

争ってる双方がこの2つを混同してる気がするね。

(2)はケースバイケース。
(1)は基本的にはYesだと思う。そうでないと意思疎通の齟齬の原因になったり、
数か月後数年後コードを見た時に不要な混乱の原因になる。

ただ、逐語的と言っても無理に日本語を使わずともローマ字で十分だとは思うが。
47 :
2016/10/16(日) 15:07:04.14 ID:6wCeCqLa
ローマ字はちょっと…
48 :
2016/10/16(日) 15:08:49.88 ID:MMtmJt+k
ローマ字はあり得ない
49 :
2016/10/16(日) 15:09:05.65 ID:X/qyWoKu
テンプレも読めないゴミは2ちゃんやんなボケ
50 :
2016/10/16(日) 15:09:24.73 ID:MT9uvcEn
クラス名が変わることがないと言っている人はプログラム経験ないなりすましだろうね
割引券からRaCouponほどのあからさまな例はともかく
開発が進むとモデルへの理解が深まるのが当たり前(深まらない場合はチーム全員が何も考えてないバイト状態なのでそれはそれで危険)
理解が深まると既存のモデル(とそれに1:1で対応するコード)を理解した形に変更しなければならない
変更の結果としてクラスやメソッドは追加されたり削除されたり移動したりする
変更の前の名前が変更後の意味を適切に表現していない場合も多々ある
その時に適切な名前に変えなければ待っているのは数週間後の破滅だ
51 :
2016/10/16(日) 15:12:56.10 ID:MMtmJt+k
>>50
一度もそんな話はしてないんだよね。どこのレス拾ってるのか知らんけど。
52 :
2016/10/16(日) 16:34:11.87 ID:BII1s/gs
とりあえずあなたたち、スレのルールに則って進行してちょうだい。
ずいぶん前にそういうルールになってるのよ。

頭良さそうな人たちだから分かってくれるわよね?
53 :
デフォルトの名無しさん
2016/10/16(日) 23:20:59.96 ID:DXmiytAw
命名に悩むようなら設計がおかしいと思った方がいい。
54 :
2016/10/20(木) 11:38:05.61 ID:ki2Wlvx2
音楽のジャンル別のリストを作るとして
pop_music, rock_musicの形式かmusic_pop, music_rockかどっちがいいと思う?
55 :
2016/10/20(木) 11:42:41.14 ID:kgXtyPBI
また同じようなものを持って来たなw
わざとやってるだろw
56 :
2016/10/20(木) 11:44:27.86 ID:h1aMlyOK
>>54
同じ話を繰り返すのは痴呆症の始まり
57 :
2016/10/20(木) 11:49:01.85 ID:2NY6CQjy
スレチ話が長すぎると、結局どうだったのかってのは正直覚えてないなw
58 :
2016/10/20(木) 11:57:02.09 ID:aGg7Z+yH
>>54
音楽って前提なんだからmusicっていらなくね?
59 :
デフォルトの名無しさん
2016/10/20(木) 12:35:04.87 ID:rW6H9Rm1
>>58
上位にmusicと名前があるならな。
60 :
2016/10/20(木) 13:01:07.77 ID:qgmQJqVw
>>54
んなもんを変数名に持つのがキチガイの所業
https://www.shoutcast.com/
map genre = new map
genre["Alternative"] = new list
61 :
2016/10/20(木) 20:04:18.55 ID:tJ82kCoW
ミュージック以外のロックやポップを扱ってない限りmusicはいらないんじゃね
62 :
2016/10/20(木) 20:29:36.19 ID:8pLXigSN
>>61
言語やライブラリにもよるけど pop はなんか被りそうな予感
63 :
2016/10/20(木) 21:08:17.73 ID:OxU8SSxE
音楽のジャンル別のリストはpop_music、ジャンル別の音楽のリストはmusic_popだろ普通
64 :
2016/10/20(木) 21:30:15.58 ID:tJ82kCoW
そもそもpopはPopularMusicの略なんだけどね
65 :
デフォルトの名無しさん
2016/10/20(木) 21:41:07.38 ID:94lpIvX8
>>62
popはコンピュータ用語だからな。

よくない名前なのは間違いない。
66 :
2016/10/20(木) 23:42:01.97 ID:f0mtZhOK
music->pop();

……たしかに。
67 :
2016/10/21(金) 01:02:04.64 ID:UfF9tz22
つまりPopularを使えと・・・・
68 :
2016/10/21(金) 10:33:32.23 ID:iG+BtZtO
>>60
素人さんか?
69 :
2016/10/21(金) 12:53:55.86 ID:RUPp7NOt
>>68
俺も >>54 みたいな内容をハードコーディングするかぁ?
って思うけど...
70 :
2016/10/21(金) 13:00:07.56 ID:11+hJAWs
ジャンルを変数名で持つのは違うと思うわ
トランスとかノイズとか軍歌とかボカロとか、ジャンルが増えるたびにコード修正が要るじゃん
71 :
2016/10/21(金) 16:59:48.07 ID:iG+BtZtO
>>69
ポップスだけのサブセットを取得するときにどう書く?
72 :
2016/10/21(金) 18:46:47.31 ID:RUPp7NOt
>>71
サブセットとかの定義がよくわからんからハードコーディングした例を書いてくれ
73 :
2016/10/21(金) 19:14:17.49 ID:RKLPrzgH
>>71
プログラム側からポップスを意識しなきゃいけない状況って何だよ
普通はユーザ側がなんらかの方法で指定する文字列の一つにすぎないだろ
74 :
2016/10/21(金) 19:35:43.81 ID:SHIfRlxP
>>72
pops = musicRepository.GetPops();

>>73
お前のアプリではそうなんだろうな
でもビジネスではその限りではない
それゆえに素人なんだよ君は
75 :
2016/10/21(金) 19:40:29.32 ID:Mt9nP5cS
素人ねぇw
76 :
2016/10/21(金) 19:46:39.64 ID:RUPp7NOt
>>74
pops = musicRepository["Pops"];
77 :
2016/10/21(金) 20:06:10.59 ID:8CqsAvi1
>>74
musicRepository.get('pops');
78 :
2016/10/21(金) 20:17:11.06 ID:XVEXLa6Z
list.filter(m => m.genre == 'pops')
79 :
2016/10/21(金) 21:47:50.54 ID:usEI0+le
下の上くらいのレベルの人が勘違いして見下してる感じ?
80 :
デフォルトの名無しさん
2016/10/21(金) 21:58:45.79 ID:WlBi8OA2
>>76
popsて変数名はなんなんwアホかw
81 :
2016/10/21(金) 22:30:34.34 ID:Hy0WD3wE
ローカル変数ならpopsでmusicとか省略しても全然問題ないと思うな。
musicよりジャンルに注目してるなら。
82 :
2016/10/21(金) 22:33:38.69 ID:vcl3xMBv
ローカル変数なら処理内容が分かりさえすればそれこそpとかでも一向に構わん
だが外に出す変数は命名規則厳守 守らん奴は腹を斬れ
83 :
2016/10/21(金) 22:36:49.05 ID:oqbYdZzo
>>80
>>74 に言えよ...
84 :
2016/10/21(金) 22:37:39.24 ID:Cqu0mmbT
GetPopsくん伝説のはじまりである…
85 :
2016/10/21(金) 22:37:42.74 ID:nbLPSbrD
>>74
それ、例えば「プルダウン式でジャンルを選択して該当する音楽一覧を表示する」処理とかどうする気?
ジャンルの数だけswitch文書いたりするなよ…
86 :
2016/10/21(金) 22:48:26.15 ID:Cqu0mmbT
>>85
てめぇGetPopsくんディスってんのか?
musicRepository.GetAnison()とか
musicRepository.GetClassic()とか
musicRepository.GetJazz()とか
musicRepository.GetTechno()とか
こーいうのを当然駆使するんだぜ?
ラクショーで分岐だぜ?
87 :
2016/10/21(金) 23:10:05.72 ID:vcl3xMBv
>>86
OH KUSO
88 :
2016/10/21(金) 23:27:49.63 ID:SHIfRlxP
>>76-78
ジョークにしても笑えないぞ
まさかガチの素人さんだったか?
89 :
2016/10/21(金) 23:33:21.23 ID:SHIfRlxP
>>85
それは
musicRepository.Find(m => m.Genre == selectedGenre)
だろ
入力が可変ならパラメタライズする
決め打ちで取得するなら無様なリテラル文字列など使わずパラメータを隠蔽する
基本中の基本だよ
90 :
2016/10/21(金) 23:35:59.71 ID:SHIfRlxP
もしかしてハードコード版を使うってとこから脊髄反射で逆にパラメタライズ版は使わないって誤認しちゃったのかな?
頭固いねぇ
91 :
2016/10/21(金) 23:36:44.52 ID:Cqu0mmbT
お前がpops言うからみんなリテラルで書いてくれてんだよw
どこに着目してんだお前一人だけ周回遅れやめろw
92 :
2016/10/21(金) 23:39:31.47 ID:115GHNA9
線形探索とか一番ないわ
93 :
2016/10/21(金) 23:40:59.85 ID:SHIfRlxP
>>92
線形探索ってどこから出てきたん?
94 :
2016/10/21(金) 23:42:03.35 ID:gbFOKPXv
>>93
Findの中身を書いてみ
95 :
2016/10/21(金) 23:46:12.52 ID:SHIfRlxP
>>94
return Music.Where(expression);
96 :
2016/10/21(金) 23:47:53.74 ID:gbFOKPXv
>>95
次はWhereの中身
97 :
2016/10/21(金) 23:48:45.91 ID:SHIfRlxP
こっちのほうがいいか?
return Music.Where(predicate);
98 :
2016/10/21(金) 23:51:49.18 ID:SHIfRlxP
>>96
そこから先はフレームワークの仕事だ
すぐには書けないよ
99 :
2016/10/21(金) 23:53:19.16 ID:vcl3xMBv
Linq使うならなおのことGet***は愚行だろ
せっかく自由にジャンルを新規追加できるようにデータを保持してるのに、新規追加のたびにGet***メソッドが爆誕するのは本末転倒

一部のジャンルのみGet***が実装されてるってのも気色悪いし
100 :
2016/10/21(金) 23:59:09.23 ID:SHIfRlxP
>>99
なんか勘違いしてるがハードコード版をいちいち追加する必要はないぞ
俺そんなこと言ったっけ?
要件で必要になった有用なクエリをカプセル化するんだよ
今の文脈ではGetPopsがそれに該当すると仮定している
101 :
2016/10/22(土) 00:01:26.99 ID:DAj343hD
>>100
だからそれが気色悪い
自分一人でシコシコ作ってる分にはそれで良いかもしれないが、チームで作る場合には
一部だけしか実装されてないgetとか吐き気がするわ
102 :
2016/10/22(土) 00:07:27.80 ID:IweOgR7T
取得時に必ず実行したい処理(ログの掃き出しとかキャッシュの作成とか)を追加しようと思ったときに
Get系のメソッドが複数あると全部に手を加えなきゃいけなくなるから乱立は避けるべきやで
103 :
2016/10/22(土) 00:13:54.97 ID:e4+LVHZw
GetPopsくんはお前らより周回遅れだから放置してもええんやで
無理に相手しなくても
104 :
2016/10/22(土) 00:55:11.05 ID:tiqhYV+3
>>101
最後は感情論になっちゃうんだ
105 :
2016/10/22(土) 01:00:34.32 ID:jx4+pi2S
>>102
そういうのはAOPなどの工夫で解決するべき問題
手で書くなんて時間の無駄はやめること
Getだろうがなんだろうがメソッドがいくつあっても手間にはならない
106 :
2016/10/22(土) 01:14:48.18 ID:ms5m8DIE
>>104
感情論じゃあないだろう…
規則性が崩れた実装は混乱の元になる

やっぱりこの子まだまだ経験ないな
107 :
2016/10/22(土) 01:21:45.68 ID:iQvw8haZ
いい加減、スレタイとテンプレ読めない奴は命名規則・設計スレでも立ててそっちでやれ
108 :
2016/10/22(土) 01:22:14.23 ID:nW+Ca5Fr
>>106
優れた規則性を持っているでしょ?
必要十分なコード書けってだけの話
君のように気に入らないから必要なコードを書かない訳でもないし
使いもしないコードを書く訳でもない
無駄なコードもコードの不足も実装を大いに混乱させるものだよ
君はそろそろ入門書を卒業して実社会でコードに触れるべきだ
109 :
2016/10/22(土) 01:27:33.06 ID:aPWQrVEE
>>108
もうとっくに10年以上働いてるわけだが

社員A「演歌取得メソッドどこにある? え?ないの?」
社員B「軍歌取得メソッドどこにある? え?ないの?」
社員C「民謡取得メソッドどこにある? え?ないの?」
社員D「演歌取得メソッドどこにある? え?ないの?(実はAが作ったので存在する)」

こんなやり取りを延々と続ける気か?
110 :
2016/10/22(土) 01:35:05.87 ID:ms5m8DIE
>>108
Get***は無駄なコードだよ
汎用性の高いFindがあるなら他は蛇足でしかない
カプセル化するにしてもジャンルを引数で指定してリストを返す取得メソッドが限度だな
111 :
2016/10/22(土) 02:03:39.73 ID:OXRjJseY
>>109
それは管理能力が欠如してるだけ
10年ね

>>110
無駄なものもあれば必要なものもある
パラメタライズされたメソッドを使うか明示的なメソッドによるパラメータの削除を使うか
どちらが常に正しいということはない
112 :
2016/10/22(土) 02:10:12.20 ID:e4+LVHZw
> 明示的なメソッドによるパラメータの削除を使う

ホビープログラマかな?
113 :
2016/10/22(土) 02:12:26.69 ID:WU36rjz+
お前ん中ではそうなんだろうな、ってこういう場面で使うんだろうねw
連想配列で済むものをいちいちGetXXX用意するっていかにもダメグラマが考えそうな設計だねw
114 :
2016/10/22(土) 02:16:18.96 ID:aPWQrVEE
>>111
本来必要のない部分で無駄な管理を発生させてる時点でお粗末な仕事よ

繰り返すけど、お前さんのそのやり方はサンプルプログラムに毛が生えたようなもんをシコシコと一人で作ってる学生の間でしか通用しない
115 :
2016/10/22(土) 02:16:49.75 ID:WU36rjz+
これ繰り返しになるけど、いつもテンプレをコピペして直接命名の話題ではないがそれに関連する
真面目な議論をぶっ壊そうとする馬鹿がこのくっだらないヨタ話に参加してるのは間違いないけど、
どの面下げてやってるんだろうな
116 :
2016/10/22(土) 02:23:40.15 ID:OXRjJseY
>>113
OOPを学ぶことを勧める

>>114
何度も言っているが必要かどうかは場合による
明示的なメソッドにする価値がない場合もあるし明示的なメソッドにしなかったことによって無駄な管理が増えることもある
プログラマにとってバランス感覚は重要なセンスだ
そしてバランスを取ることを最初から放棄することが最も愚かな選択であることは言うまでもない
117 :
2016/10/22(土) 02:30:22.79 ID:/AjGkbek
>>116
明示的なメソッドにするなら最初から全種類明示的なものを用意しなきゃダメだよ

>>109の例で言えば、社員Aのときは「明示的にしなくても良い」と判断してFindを使って演歌取得を実装したが、
社員Dの頃には「演歌取得を頻繁にやるから明示的に用意しよう」と言ってGetEnkaを作るなどと
開発が進むにつれて事情が変わることは珍しくない

このとき、同じ演歌取得なのにFindで取得している箇所とGetEnkaで取得してる箇所が混在することになるか、
Aが実装した箇所を探し回ってGetEnkaに書き換える修正作業が入ることになる
とてもじゃないが綺麗なプロジェクトとは言い難い
118 :
2016/10/22(土) 02:34:22.94 ID:WU36rjz+
OOPw
噴飯ものとはこのことかw

モノホンのダメグラマだなw
119 :
2016/10/22(土) 02:47:14.01 ID:eh8upSc0
新卒社員に最初の研修で叩き込むレベルのことすら理解できてない若造が
プログラマを語っちゃってんだからギャグにしか見えんな
120 :
2016/10/22(土) 05:05:48.36 ID:nST3ahFj
連想配列でも別に良いっちゃ良いんだけど(もちろん状況によるが)
IDE先生が補完してくれるかどうかが一番の課題よね

変数名やクラス名を付けるときって、
IDEの機能に引っ張られるってこと、結構多いんじゃない?
121 :
2016/10/22(土) 05:34:57.07 ID:NzADNRlY
最近質問が少なすぎて、一つの質問で(無意味に)100レス引っ張る傾向がある
122 :
2016/10/22(土) 07:44:36.75 ID:DYgWbh/+
リテラル文字列使うセンスは理解できん
123 :
2016/10/22(土) 08:22:44.12 ID:LhJjURpJ
>>122
その通り

dao.find("ROCK");
これは論外
即解雇

dao.find(MUSIC_GENRE.ROCK);
よくあるパターンだけど長いし読みにくい
職場文化的にオブジェクトの定義と定数の定義が離れる傾向にありコードの凝集度も低いためオブジェクト指向的には悪手
入力補完を何回もしなければならない
間違っちゃいないがスマートじゃない

dao.findRock();
スッキリしていて読みやすく柔軟
振る舞いが全てクラスに凝集しているオブジェクト指向的良設計
入力補完の回数も少なくてすむ
クールな人はこれを選ぶ
124 :
2016/10/22(土) 08:23:25.65 ID:hBp8S2CN
>>120
テキストエディタなら文字列リテラルも補完してくれるけど、IDEは補完してくれないものなのか
125 :
2016/10/22(土) 08:36:42.19 ID:DYgWbh/+
>>123
音楽のジャンルだったら俺なら列挙型だな
例えば人の性別程度なら下の書き方にするかもね
126 :
2016/10/22(土) 09:16:07.42 ID:gU77zXKz
>>123
foobar2000みたいにジャンルをユーザーが自由に設定できるような場合はどうするの?

http://www.foobar2000.org/images/img/freedb.png
127 :
2016/10/22(土) 10:17:13.07 ID:Me0jAF9q
リテラルに拘ってるやつがレベル低いとおもうけどなw
GetPops同等のメソッド量産せずに、っていう例でしかないだろ>>76

>>126
ふつうはそう作るよな
ソフトウェア側からは単にユーザの入力文字列としか認識しない
pops = musicRepository.GetPops();
こんなのが出てくる余地はない
出るとしたら
list = musicRepository.Get(inputstr);
この形式しかありえない
128 :
2016/10/22(土) 10:34:42.47 ID:WDS1fqif
>>126-127
なんど同じことを聞くんだ
バカなのか?
129 :
2016/10/22(土) 10:36:19.57 ID:WDS1fqif
>>127
君の狭い世界ではそうなんだろうな
130 :
2016/10/22(土) 10:45:57.22 ID:s+2RjA6Z
言い負かそうとせずにこれ以上は平行線だから終わりってならないのが不思議
131 :
2016/10/22(土) 10:51:00.38 ID:/a8S//3o
>>122
サンプルコードと言うことすら理解できないんだな w
132 :
2016/10/22(土) 10:53:20.14 ID:NzADNRlY
1
133 :
2016/10/22(土) 10:58:37.57 ID:/a8S//3o
>>125
ジャンル増減する度にコードに手を入れるの?
法令とか規格で決まっててほとんど変更されないような選択肢なら列挙もあるかもしれないけど
134 :
2016/10/22(土) 11:23:09.18 ID:DYgWbh/+
>>133
たかが音楽のジャンル程度なら俺は列挙型だな
自由にユーザーが追加できるようにするならリテラル文字列にするしかないけど
135 :
2016/10/22(土) 11:26:00.78 ID:XrOB7U1S
昨日から何度か例に出てる音楽再生アプリだったら特定ジャンルのみ抽出する処理を固定で書く価値は確かにあまりないだろう
しかし例えば音楽ダウンロード販売サイトオーナーの顧客の要望により期間限定でポップスキャンペーン用の特設サイトを新規画面で素早く作りたいといった場合には特定ジャンルの抽出処理を定義済みクエリとして使い回す価値は大きい
こういった様々な状況を想定できず音楽再生アプリでは必要ないから全てが同じように必要ないんだ音楽再生アプリで使うのと同じ形式しかありえないんだと思い込んでしまう浅はかさが素人感を醸し出している
業務でプログラムを書いたことがある人間ならこのような視野の狭い思い込みなどしない
136 :
2016/10/22(土) 12:27:05.54 ID:4bv8Zxei
>>135
もういい加減こんなアホな話やめて欲しいし、そもそも何の話をしてるのかも
いまいちよくわからんが、

(1) よく使う「特定ジャンルの抽出処理」はメソッドとして用意すべき
(2) 個々のジャンル全てについて対応する抽出メソッドを用意すべき

恐らく(1)を否定する人はいない。
否定されてるのは(2)
こんなの絵に描いたようなダメな奴がやりそうなことだ。
137 :
2016/10/22(土) 12:37:03.46 ID:W/E63lh4
>>136
状況を理解できてないぞ
(1)を否定するバカが少なからず居て粘着しているんだ
138 :
2016/10/22(土) 12:39:53.81 ID:4bv8Zxei
いやいないと思うけど。

まあ「べき」は言い過ぎだった。
よく使う処理をショートカットするメソッドが「あってもいい」。
そもそもメソッドとはそういうものだし。
139 :
2016/10/22(土) 12:41:26.84 ID:NzADNRlY
どうでもいい
140 :
2016/10/22(土) 12:44:34.83 ID:nST3ahFj
>>124
お前は何を言ってるんだと言いたいところだが
その辺は全て補完機能の性能によるとしか言えんじゃろ
141 :
2016/10/22(土) 13:24:10.25 ID:s+2RjA6Z
どうでもいい(どうでもよくない)
142 :
2016/10/22(土) 13:35:00.80 ID:hBp8S2CN
>>140
・補完機能の優秀なIDEに乗り換える
・pluginで補完機能を拡張する
・IDE開発者に追加機能要望を出す

対策はたくさんあるのに何もせず、今使っているIDEにコードを最適化するのは勿体ないという話
143 :
2016/10/22(土) 14:19:07.11 ID:JI+4c/sU
>>138
使っても良いではなく使うべき
定義済みの部分集合の要件が変わった時に安全に対処できる
144 :
2016/10/22(土) 14:40:57.39 ID:k8mamnQ3
どうでも良いけどfindRockとかfindPopも命名としては悪い
findSMAP(歌手)とかfind80s(年代)とかジャンル以外による検索を追加したときに、検索キーが異なるfind×××がゴチャ混ぜで大量に並ぶことになる

「ジャンルがRock」であることが分かる命名にすべき
145 :
2016/10/22(土) 15:16:25.99 ID:nST3ahFj
>>142
それもそうだな。
しかし、連想配列の文字リテラルまで補完できるってのは普通に知らんかった。
言語によるのかしらね。
146 :
2016/10/22(土) 15:32:40.56 ID:9XGd15T1
IDEで保管できてもリテラル使って辞書にアクセスとかやめてくれ
自殺者が普通にいるこの業界でそれは殺人行為に等しい
147 :
2016/10/22(土) 15:39:36.54 ID:nST3ahFj
>>146
ローカルでしか使わんならそれでもいいけど
そうじゃないなら定数を使って欲しいところね

というわけで適切な定数名を考えよう(スレ的な意味で
148 :
2016/10/22(土) 17:03:27.92 ID:/a8S//3o
>>146-147
動的に増やしたい時はどうするんだ?
149 :
2016/10/22(土) 17:09:30.19 ID:nST3ahFj
動的に増やしたい場合で、
ソースにリテラルを直接書くことって、あんまり無さそう

もちろん "ID-0042" のような自動生成される文字列はあるにしても
前半だけでも定数化するとかの手段は模索したいなあ
150 :
2016/10/22(土) 17:11:57.64 ID:VPAELI2D
この手の話を聞くたびに、後々増える可能性があるものはxmlでもcsvでも構わないから外部ファイルに出しとけよと思う
内部処理はfind(string category)でええわ

追加するたびにコード修正&再ビルドが必要な作りはメンテ性最悪
151 :
2016/10/22(土) 17:13:30.29 ID:hmjQA6vV
ほんと、たったそれだけのことなのにな
なぜかメソッドのシグネチャじゃなくて
呼び出し例のリテラル部分にひっかかってる子がいるけど
152 :
2016/10/22(土) 18:12:39.08 ID:PmLwi55w
>>149
まだ言ってるのか、どんだけ周回遅れよ w

> 動的に増やしたい場合で、
> ソースにリテラルを直接書くことって、あんまり無さそう
>>127
153 :
2016/10/22(土) 18:23:40.26 ID:rJrHw2K4
>>150
複雑な業務システムだとオレオレ定義ファイルが複雑化、巨大化してコードよりメンテナンス性が悪くなる
そんなものをメンテナンスするぐらいならハードコードしたほうがまだマシ
モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
154 :
2016/10/22(土) 18:23:56.20 ID:lAgDZlKo
>>150
ステップ数でお給料が増減する文明圏の人たちになんてことを
155 :
2016/10/22(土) 18:37:34.74 ID:VPAELI2D
>>153
商用なら音楽データの管理なんかそれこそRDBに置くべき案件

ましてや巨大なプロジェクトなら列挙型なんか論外中の論外だわ
156 :
2016/10/22(土) 18:43:34.46 ID:/a8S//3o
>>153
> モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
例えばなに?
157 :
2016/10/22(土) 18:44:10.43 ID:rJrHw2K4
>>155
当たり前だろ
今そんな話はしてない
158 :
2016/10/22(土) 18:45:08.68 ID:rJrHw2K4
>>156
class , interface
基本だろ?
159 :
2016/10/22(土) 18:47:55.55 ID:VPAELI2D
>>157
RDBに置くのにオレオレ定義とかハードコーディングとかアホなのか
所詮カテゴリなんてマスターデータの一種だろ
そんなものをいちいちハードコードするな
160 :
2016/10/22(土) 18:48:50.40 ID:IpUTRyqC
>>152
それはコードが無駄に長くなるだけ
161 :
2016/10/22(土) 18:54:59.13 ID:IpUTRyqC
>>74
getElementsByTagName, getElementsByClassName, getElementById 派

>>76-77
querySelectorAll 派

こんな感じ
応用力が高いのは後者、パフォーマンスが高いのは前者
162 :
2016/10/22(土) 18:59:54.45 ID:iLkbIGXh
>>161
それすらないんだよね前者は
彼が主張してんのが
getElementsByGenreだったらそうだろうけど
getElementsPopsだからね

ここには巨大な隔たりがある
型と値の違いがある
163 :
2016/10/22(土) 19:00:02.31 ID:gYvFPuft
マイクロ秒単位でシビアな応答速度が求められるものならまだしも、たかが音楽管理ツールにパフォーマンスを求めたって仕方あるまいて
マシンパワーの1%も使ってないだろう
164 :
2016/10/22(土) 19:03:01.93 ID:gYvFPuft
>>162
ByGenreなら大いにアリだな
getPopsはどう考えても頭おかしい
key-valueで言うところのvalueに紐付けてメソッドを作るとかギャグだわ
165 :
2016/10/22(土) 19:03:46.45 ID:rJrHw2K4
>>159
だから今そんな話してないだろ
増え続けるRDBへのクエリをどう管理するかって話で>>150はファイルで管理をすると言っているがそんなことをするぐらいならハードコードしろと言っている
マスターデータをハードコードとかどっから出てきたんだよ
166 :
2016/10/22(土) 19:05:51.49 ID:x4x3zU66
>>165
マスターの管理は小規模なら外部ファイル、商用ならRDBにしろって話なんだが

RDBを外部ファイルで管理って頭沸いてんの?
167 :
2016/10/22(土) 19:09:18.63 ID:IpUTRyqC
>>162
自分は汎用性と拡張性しか考えてなかった

例えば、>>161で特定の属性名を持つ要素ノード群を得るAPIを拡張したいとする
前者は getElementsByAttributeName を追加し、後者は querySelectorAll で属性セレクタを扱えるように拡張する
特価型APIを増やしていくか、汎用性の高いAPIを一つだけ用意するか、の違い
168 :
2016/10/22(土) 19:10:09.83 ID:IpUTRyqC
特価型→特化型
169 :
2016/10/22(土) 19:10:17.82 ID:rJrHw2K4
>>164
もしかして根本的なところから理解してないのか?
ここでいうGetPopsのPopsとはgenre=="Pops"のmusicのことじゃないぞ
もっとドメインレイヤよりの定義を持った集合にPopsという名前をつけたものだ
最も単純なシステムではたまたま両者は一致するというだけで現実のシステムではそんなに単純ではない
170 :
2016/10/22(土) 19:10:57.24 ID:rJrHw2K4
>>166
だめだ全く理解してない
171 :
2016/10/22(土) 19:14:14.98 ID:2RMhh+15
>>169
getpops本人まだいたのかよ
よくあんなアホらしいもんを思いついたもんだな
うちのアルバイトでももうちょいまともなもん作るぞ
172 :
2016/10/22(土) 19:15:38.57 ID:wVjPdD/+
>>169
>>89を読み直してこい
173 :
2016/10/22(土) 19:16:45.35 ID:yvrzDyTu
↓以下、ゲッポ君の「俺意外全員がバカ、世界のみんなが間違ってる」の主張をお楽しみください
174 :
2016/10/22(土) 19:19:25.85 ID:rJrHw2K4
>>172
いつの話してんだ
話題は常に変化するもの
流れを呼んでこい
175 :
2016/10/22(土) 19:20:25.73 ID:wVjPdD/+
>>174
それお前の中で変化してるだけじゃねーの
176 :
2016/10/22(土) 19:22:51.88 ID:rJrHw2K4
>>173
世界は言い過ぎだけどこのスレ程度のレベルじゃ冗談抜きにその通りだと思うよ
177 :
2016/10/22(土) 19:23:36.80 ID:eh8upSc0
さすがに頭おかしい
178 :
2016/10/22(土) 19:29:20.29 ID:eh8upSc0
特別何かをするわけでもないただのエイリアスを無闇に増やすな

なんて新入社員研修で教えてることなんだが、なんでこんなことでグダグダといつまでも騒いでんだよ
179 :
2016/10/22(土) 19:29:22.73 ID:rJrHw2K4
>>177
だって君ら書き込みみればわかるけどズブのアマチュアだろ?
オレはいちおう金もらってシステム開発してるからね
180 :
2016/10/22(土) 19:30:25.32 ID:eh8upSc0
>>179
22で入社してもう今年で37なんだが
181 :
2016/10/22(土) 19:33:12.94 ID:rJrHw2K4
>>180
まあそういう人もいるよな
メゲズに頑張ってくれ先輩
182 :
2016/10/22(土) 19:33:59.10 ID:wVjPdD/+
>>179
そんな珍しくもなんともないもんで自分が特別だと思いこんでたわけか
バイトを始めた学生か何かか?
183 :
2016/10/22(土) 19:37:48.27 ID:eh8upSc0
>>181
メゲるも何も、呆れしか感じんぞ

改めて見てやるが、getPopsの中身の処理を書いてみな
184 :
2016/10/22(土) 19:40:01.84 ID:lAgDZlKo
職業プログラマが何かの箔になると思ってる子をいじめるのはそれぐらいにしなさい
185 :
2016/10/22(土) 19:46:56.14 ID:rJrHw2K4
>>183
return Music.Where(popsPredicate);

述語は要件と顧客の気分次第で不定な
186 :
2016/10/22(土) 19:48:14.90 ID:eh8upSc0
>>185
なるほど
findないしそれに該当する汎用アクセサは?
187 :
2016/10/22(土) 19:54:00.26 ID:rJrHw2K4
>>186
Music
188 :
2016/10/22(土) 19:55:53.56 ID:eh8upSc0
>>187
うん??
Musicはメンバ等ではなくグローバルに置いてるのか?
ってことはgetPopsもグローバル?
189 :
2016/10/22(土) 20:01:05.09 ID:rJrHw2K4
>>188
return Music;
って書けばお気に召すのかな?
こっちはちっぽけなスマホで打ってるんだ
察してくれ
190 :
2016/10/22(土) 20:05:28.90 ID:4bv8Zxei
何でもいいけどいい加減もう止めたらどうだろう。

有意義な議論なら俺個人はどんどんやってほしいけど、
今のこれはあまりに下らなすぎる。
191 :
2016/10/22(土) 20:06:13.44 ID:eh8upSc0
>>189
それにしてもだなあ。。。
カプセル化の何の意味もない構造に頭痛がして来たが、それはひとまず置いておくにしても
要するにgetPopsはただのエイリアス、ラッパーだろう?

getPopsが作られる前、またはそれを知らないメンバが実装した箇所ではfindが使われてる可能性がある
同じものを取って来るのに2種類以上の取得方法があるのは好ましくない
192 :
2016/10/22(土) 20:09:05.84 ID:nST3ahFj
ごめん>152の言ってる意味が分からない。
自分が周回遅れなのは間違いないんだけれども。

もちろん>127を参照しろということは分かるんだが
127のどこが、ソース中に書かれる文字列をキーとして使う処理の例や説明なの?
193 :
2016/10/22(土) 20:16:35.71 ID:/a8S//3o
>>158
リビルド不要?
最近の言語は class や interface とやらでリビルドせずに enum の要素増やしたり GetEnka( ) を追加できるのか?
194 :
2016/10/22(土) 20:20:59.15 ID:/a8S//3o
>>192
マジで言ってるならもう少し頑張った方がいいと思う
少なくとも >>127 にはリテラル文字列はないだろ
195 :
2016/10/22(土) 20:22:12.22 ID:rJrHw2K4
>>191
カプセル化は十分だよ
たったこれだけのクラスインターフェースからクラスの実装詳細やデータ層の構造までわかるのかい?

始まりはともかく今はもうGetPopsはただのエイリアス・ラッパーではない
ドメインで定義されたなんらかの有用なサブセットを取得するGetPopsと名付けられたメソッドだ
なんらかの有用なサブセットとはドメインの用語でつまりポップスのことだがポップスは単にGenre=="pops"を満たすmusicということではない
また今後ドメインの深化に追従してメソッド名が変わるかもしれないが今はまだGetPopsでよい
GetPopsを使う場面で汎用メソッドを使う事は確かに害悪でプログラマは反省しなければならない
しかしメソッドのみを使い同じ述語をあちこちにばらまくのもまた害悪だ
幸いにも開発環境やアナライザは日々賢くなっている
重複したコードをメソッドに一本化する作業はそれほど手間はかからない
気合を入れて一度やってしまえばその後の述語の変更は一回で済む
しかし述語をあちこちにばらまいたまま放置すれば述語の変更のたびに面倒な作業を強いられる
196 :
2016/10/22(土) 20:25:01.74 ID:IpUTRyqC
要するに、単なるラッパーであるgetpopsを提唱したらフルボッコに論破されたから
意味を差し替えて俺は正しいと言い張ってるわけね
197 :
2016/10/22(土) 20:31:33.39 ID:rJrHw2K4
>>193
enumはポリモーフィックなクラスファミリに置き換えられるし置き換えるべきだ
クラスファミリーにクラスを追加するのに全体のリビルドは必要ない
GetEnkaが必要になったとして追加するクラスを賢く選択すればリビルドの必要もなくシステムを拡張できる(なにも馬鹿正直に既存のリポジトリに追加する必要はない)
既存のクラスにどうしても追加したい場合は部分的なリビルドが必要になるが全体をリビルドする必要はない
198 :
2016/10/22(土) 20:32:37.44 ID:rJrHw2K4
>>196
実にシステム開発的な流れだろう?
199 :
2016/10/22(土) 20:34:43.03 ID:IpUTRyqC
>>198
そういうのはただの屁理屈と言う
200 :
2016/10/22(土) 20:39:11.57 ID:rJrHw2K4
>>199
というかこの流れもある程度予測してGetPopsを最初にメソッド化したと言っていい
201 :
2016/10/22(土) 20:40:15.05 ID:nST3ahFj
>>194
大真面目に頑張った結果なんだが
お前さんの言うとおり、まさに「>127にリテラルはない」としか読めない。

そもそも>149のどこを否定してるの?
202 :
2016/10/22(土) 20:41:14.01 ID:eh8upSc0
>>195
そりゃ十数年も新人教育やってりゃ大体の構造は手に取るように分かるさ
先程の例ではMusicインスタンスを直接外部に渡してしまうのがまずい
どうしてもgetPopsを作るなら「汎用アクセサは用意しない」という回答が正解だったんだが

しかし、抽象的な表現で逃げるのは君の良くない癖だな
たまにそういう子も入ってくるけど
203 :
2016/10/22(土) 20:43:22.25 ID:IpUTRyqC
>>200
中身のコードを書いてみせた時点で想定しきれてないな

まるで中学生の屁理屈じゃあないか
ホントに働いたことがあるのかどうかも疑わしい
204 :
2016/10/22(土) 20:45:42.06 ID:rJrHw2K4
>>202
お前が書けと言ったんだろうが〜
というか汎用メソッドをパブリックにした覚えもないしMusicがミュータブルであると言った覚えもないな
これでいいかおっさん?
205 :
2016/10/22(土) 20:48:06.11 ID:eh8upSc0
>>204
俺は「汎用アクセサは?」としか聞いてないが

後付けも良くない癖だぞ、君
そういう子は大抵長続きしない
206 :
2016/10/22(土) 20:50:01.78 ID:rJrHw2K4
>>205
子供かw
207 :
2016/10/22(土) 20:50:53.25 ID:smXSLIN9
200 : デフォルトの名無しさん 2016/10/22(土) 20:39:11.57 ID:rJrHw2K4
>>199
というかこの流れもある程度予測してGetPopsを最初にメソッド化したと言っていい

↑さすがにワロタわw
キミ、いじめられっこの経験あるやろw
泣いてないモン!って言いなれてるなさすが
208 :
2016/10/22(土) 20:52:35.58 ID:eh8upSc0
>>206
言ってないものを言ったと言い張られても困る
209 :
2016/10/22(土) 20:52:51.02 ID:/a8S//3o
>>197
> モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
って豪語してたのに
> 全体をリビルドする必要はない
ってだけなのな
そんなの動的リンク使えばいくらでもできるわな w
210 :
2016/10/22(土) 20:56:10.95 ID:/a8S//3o
>>201
> そもそも>149のどこを否定してるの?
マジで言ってるの?
ちゃんと引用してるんだが...
> ソースにリテラルを直接書くことって、あんまり無さそう
211 :
2016/10/22(土) 20:56:20.59 ID:rJrHw2K4
>>207
すまん
子供の頃はいじめっ子だったわ
いわゆる学校のボスザル的チンピラ
212 :
2016/10/22(土) 20:58:24.55 ID:rJrHw2K4
>>209
そうだよ
適切に処置すればリビルドなしでシステムを拡張できる
幾らでもできるからさっきそう言ったじゃん?
213 :
2016/10/22(土) 21:00:10.95 ID:xVGM3Eif
リビルドしてんじゃねーか
214 :
2016/10/22(土) 21:04:05.92 ID:nST3ahFj
>>210
ますます分からん

「ソースにリテラルを書くことはない」という主張の否定として
「ソースにリテラルは書かずにこうする」という例を挙げるのは、
話の流れとして成立するの?

議論とかディベートとか、あんまり学んでこなかったからなあ。
すまん
215 :
2016/10/22(土) 21:15:11.07 ID:NG/YSHI2
>>212
いやリビルドしてんだろカス
216 :
2016/10/22(土) 21:19:28.67 ID:OSlnnavW
>>214
周回遅れ
って言う言葉もわからんの?
> 「ソースにリテラルを書くことはない」という主張の否定として
否定なんてしてないぞ
まだそんなこと言ってるのかよ
って言ってるだけ
ディベートとか以前にまず正しい日本語を学ぶべきかと
217 :
デフォルトの名無しさん
2016/10/22(土) 21:19:28.86 ID:vcedYMQM
あのさあ、おまえらタグって言葉は知ってるんだよな?
218 :
2016/10/22(土) 21:20:47.17 ID:OSlnnavW
>>212
はいはい、嘘つきはもう来なくていいから
219 :
2016/10/22(土) 21:39:06.58 ID:nST3ahFj
>>216
ああそういうことか、すまんかった
220 :
2016/10/24(月) 10:20:14.55 ID:UouFXqTF
>>54から話広がり過ぎワロタ
221 :
2016/10/24(月) 10:48:41.37 ID:fQGKWk+u
基本外野が喚くところですし
222 :
2016/10/24(月) 12:44:29.11 ID:83bvzfHf
画面遷移メソッドの名前なんですがどちらが優れていますか???

openXxxWindow(p)
openYyyWindow(p1, p2)
openZzzWindow()

openWindow("Xxx", p)
openWindow("Yyy", p1, p2)
openWindow("Zzz")
223 :
デフォルトの名無しさん
2016/10/24(月) 12:46:27.62 ID:+WgIUVwT
>>222
それ名前の問題じゃないだろ。
224 :
2016/10/24(月) 13:00:17.56 ID:csInVVUs
>>222
完全にアルツハイマーだな。
225 :
2016/10/24(月) 13:37:47.14 ID:fQGKWk+u
>>222
Xxx, Yyy, Zzz, p, p1, p2の補足が欲しい
226 :
2016/10/24(月) 15:21:51.22 ID:pKBfRUrb
>>225
Xxx, Yyy, Zzzは画面名で英語の文字列です
p, p1, p2は次の画面に渡すパラメータで画面によって異なります
227 :
デフォルトの名無しさん
2016/10/24(月) 15:28:35.97 ID:5ENMhkpM
>>1
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。

そもそもこれしか話すことないのになぜ禁止したし
228 :
2016/10/24(月) 15:50:27.65 ID:fQGKWk+u
>>227
xyz座標と思ったわw
Win32APIならCreateWindowってのがある
229 :
2016/10/24(月) 15:56:52.07 ID:+RICRJtL
てめえみたいなゴミがギャーギャー喚いてうぜえからだよ
230 :
2016/10/24(月) 16:11:48.75 ID:Gldo3h3g
>>226
正直、画面の基底クラスを作って各画面を継承で実装した方がスッキリ書ける案件だと思うけど…

どうしてもopenWindowで実装したいなら後者で
似たような動作をする関数(win標準のcreateWindow)が既にあるなら使い方も同じ感じにしたほうが分かりやすい
231 :
2016/10/24(月) 16:20:55.50 ID:f1Oob2xq
幼稚なバカが悪乗りして悪ふざけでやってるレスにマジレスする奴も重症だな
232 :
2016/10/24(月) 18:29:15.85 ID:wn6/eztm
>>227
名前をレスせず、命名規則や設計の善し悪しのレスしかしないバカがスレを消費するだけで
一向に命名しない流れが続いたから禁止された。
何年も前の話。

ここ最近のテンプレ読めないバカが集まって、やはり一致した結論が出てないのを見て分かるだろ。

このスレは「○○について名前を考えてください」というお題に答えるだけのマジレス歓迎の大喜利スレ。
233 :
2016/10/24(月) 18:34:05.48 ID:Ri+KQSou
次スレは議論も禁止したほうがいい
質問者が求めてるのはズバリかヒントのワードであってバカどもの薀蓄なんてお呼びじゃない
234 :
2016/10/24(月) 18:41:13.01 ID:Ja2raL71
議論じゃないんだな
戦争なんだな
テーマに対する意見を交わすんじゃなくて
相手に対する攻撃を応酬し合ってるんだから
235 :
2016/10/24(月) 18:45:32.24 ID:f1Oob2xq
禁止して実効性があるの?
ないのは明白だよねw

前にも書いたが、テンプレを引用して絡んでくるバカが登場する時としない時があるのは何故?
要するに、本来スレ違いの議論にそいつ自信が参加してる時には現れないのは明白なわけ。

そして、これは個人的な感想(しかし自信はある)だが、実にどうでもいいお馬鹿な「議論」
が続いている時に限ってそのおバカは現れない。まあ語るに落ちてるよね。

要するに、ずいぶん前も書いたけど、「〜禁止」なんてルールはご都合主義のバカに他人のレスに絡む口実を与えて、
かえってスレが荒れる原因を作るだけ。
236 :
2016/10/24(月) 18:52:04.73 ID:R8FyZAi8
マウンティング犬は今日も元気です
237 :
2016/10/24(月) 18:55:23.90 ID:wn6/eztm
>>235
禁止してないから早速死んでくれていいよ

ってくらい無能な長文だね。
238 :
2016/10/24(月) 18:57:37.38 ID:fQGKWk+u
>>235
> テンプレを引用して絡んでくる
って事は「命名規則や設計の善し悪しについて議論」してたんだよな?
その割には「マジレスする奴も重症」って矛盾してね?
239 :
2016/10/24(月) 19:02:36.61 ID:f1Oob2xq
>>238
日本語でお書きください
240 :
2016/10/24(月) 20:14:28.55 ID:fQGKWk+u
>>239
どこがわからない?
命名規則や設計の善し悪しについて議論してたからテンプレを引用して絡まれたんだろ?
241 :
2016/10/24(月) 20:32:37.69 ID:f1Oob2xq
>>240
何を言ってるのかさっぱり意味が分からん。
242 :
2016/10/24(月) 20:42:00.45 ID:fQGKWk+u
>>241
そうか
じゃあそのままでいいわ
243 :
2016/10/24(月) 21:19:09.43 ID:XjvnPt+s
>>235をサニタイズするよ

禁止して実効性があるの?
ないかもね // 未検証な事柄を主観で断定しない
/* 思い込みと私怨の開陳は全カット */
禁止を押し付けらるのってなんか嫌だし(´・ω・`) // 個人的な感情であると説明しつつAAで和ます
244 :
2016/10/24(月) 21:40:24.47 ID:bN8c+nPb
こいつの言語サニタイズしたほうがいいな
245 :
2016/10/24(月) 21:59:58.35 ID:PrHBZIpa
このくっそ下らねぇやりとりで200レスも消化するとか底辺はやることが違うなと思う
246 :
2016/10/24(月) 22:17:53.78 ID:mxK0EHtA
こんな塵芥と一緒にするとか底辺に失礼だろ
247 :
デフォルトの名無しさん
2016/10/25(火) 05:19:39.47 ID:OZkbpJ7G
設計の善し悪しまで踏み込んでるのにタグ知らなかったんだぜ。
248 :
2016/10/25(火) 07:34:03.48 ID:MZfG2R+8
この場合のタグって何?
249 :
2016/10/25(火) 08:05:43.55 ID:zO0NytLF
値札のことだよ
250 :
2016/10/25(火) 09:19:12.44 ID:g86pOwEK
サイズだろ
251 :
2016/10/25(火) 09:52:03.08 ID:n342IJVH
例えるなら、人が道を聞いてるのに服装や交通ルールから説明してるんだよなあ
でも道順を全く説明できないただの交通ルールオタク
252 :
2016/10/25(火) 09:58:26.93 ID:6yXN+QBc
不良品タグはってゴミ置き場にポイが妥当
253 :
2016/10/25(火) 10:56:42.10 ID:s9TG/wfT
このスレッドは落として
設計・命名スレにしようや
命名と設計は不可分だからな
254 :
2016/10/25(火) 12:04:09.41 ID:SxIO+8ai
14年続くスレを独断で終了させて立て直すとはさすが無能タグ

無能レスの応酬でなに一つ解決しないのにそんなスレが機能する訳ないだろ
14年分レス見てからテンプレ形成に至った意味を理解しろやハゲ
255 :
2016/10/25(火) 12:08:46.85 ID:ZMREunEJ
設計まで口出しするなら質問時に言語とコードも出してもらわないと話にならないな
256 :
2016/10/25(火) 12:14:47.88 ID:n342IJVH
ちょっと考えれば分かることだけど、質問者の言語やコーディング規約や社風や趣味を
許容できない奴が宗教論争をおっぱじめるのが目に見えてる
つーか既になってる
257 :
2016/10/25(火) 12:27:30.19 ID:EzZ4fPwl
14年続けてこの有様じゃろくな奴がいなかったんだろうな
潰したほうが賢明だよ
まだ宗教論争のほうが実りがある
258 :
2016/10/25(火) 12:44:39.57 ID:qCdUY5e1
・14年ずっと同じ人がはりついているわけではないので継続年数は関係ない
・この有様→つぶした方がマシになる根拠がない(設計に口出しすると何がマシなのだ?)
259 :
デフォルトの名無しさん
2016/10/25(火) 13:12:06.50 ID:1R5yIvw6
潰すも何も、需要があると信じているなら新スレにさっさと移動すればいいだけの話。

設計・命名スレ
http://echo.2ch.net/test/read.cgi/tech/1477368563/
260 :
2016/10/25(火) 21:01:29.23 ID:U4JQUv53
スレが用意されると (書いてもいい場所が用意されると) 急に静かになるわけね
261 :
2016/10/25(火) 21:18:23.14 ID:Tozirg6q
リクエストを処理する

の処理はどんなのがいいですかね
262 :
2016/10/25(火) 21:35:01.01 ID:tNFHqmMD
respond
263 :
2016/10/25(火) 22:29:29.89 ID:QNrvjVG6
>>261
HandleRequests
DealRequests
264 :
2016/10/25(火) 22:41:57.40 ID:Tozirg6q
ちょっと抽象的な質問でしたね

単語調べた結果respondに決めました
ありがとうございます!
265 :
2016/10/26(水) 00:29:53.63 ID:8ZG+uxSI
特殊処理したいファイルを絞る正規表現の文字列の変数名をregex_specialFilesみたいにしたくなるのですがまずいでしょうか
実際にはspecialにはもっと具体的な単語が入ります
specialFilesRegexだとspecialがどこにかかるか分からない気がしてしっくりこないんです
266 :
2016/10/26(水) 00:46:49.43 ID:Hu8g6Oi9
>>265
かっこつけて(?)無理に前置詞を省こうとするから意味不明な名前になるんだと思う
基本英語そのままでOK

RegexForFilesTo特殊処理

個人的には正規表現文字列をRegexと表現するのは嫌いなので、
PatternForFilesTo特殊処理

の方がいいと思う。
267 :
2016/10/26(水) 01:02:23.89 ID:8ZG+uxSI
>>266
なるほどその通りですね
前置詞が完全に頭から抜けてました
regexも確かにpatternの方が分かりやすそうです
ありがとうございます、スッキリしました
268 :
デフォルトの名無しさん
2016/10/26(水) 01:43:11.56 ID:LebVIXiL
いやむしろ説明的な長い変数名は良い習慣ではない
269 :
2016/10/26(水) 09:10:48.26 ID:R7bTf3Ct
俺も変数名を文章っぽくにするのは好きじゃないな。
スコープがおかしな事になってるときになりがちだし。
270 :
2016/10/26(水) 09:49:31.37 ID:EekeRq3r
>>269
では対案をどうぞ
271 :
2016/10/26(水) 11:08:46.69 ID:i9LqHSRB
>>265
ハードコーディングしないでちゃんと名前でリソース管理したほうがいいよ
new regex(resouceManager.getString("pattern for special files"))
こうしておかないと正規表現の数が増えるたびにコードの書き換え、リビルド、テスト、公開、とめんどくさい作業をしなければならないから最悪
272 :
2016/10/26(水) 12:33:54.58 ID:EekeRq3r
>>271
スレ違いの上に、ほとんど強迫神経症の態度だねそれは。
273 :
デフォルトの名無しさん
2016/10/26(水) 12:42:16.41 ID:wESs4v7p
>>271のやり方でも数がふえたらリビルドが必要な件
274 :
2016/10/26(水) 14:41:24.69 ID:4rKIhUw9
【質問者が”設計変更まで視野に入れつつ”命名に困ってここに来てる】
と思うなら、これ作ってくれてるんだから移動誘導待機なりしてくれ。
設計・命名スレ
http://echo.2ch.net/test/read.cgi/tech/1477368563/


ここのスレは設計がクソだったとしても質問者のレベルの範囲で返しとけばいいんだよ。
275 :
2016/10/26(水) 14:49:22.45 ID:CNqsRIZ6
そうそう
聞くとしても名前を考えてるオブジェクトが何するかくらいでいい
他は余計な事考えないでいい
276 :
2016/10/26(水) 16:24:13.43 ID:i9LqHSRB
質問者に許されるレス内容
@背景と機能の説明
A候補として考えてる名前(もしあれば)
Bサンプルコード(もしあれば)

回答者に許されるレス内容
@機能に付けるべき名前(機能1つに対して1つの識別子)

これ以外の書き込みは禁止とする
277 :
2016/10/26(水) 16:47:17.25 ID:Kd62j3g9
自分でやっといって何を言ってるんだw
278 :
2016/10/26(水) 17:51:29.14 ID:7vN4PYAf
ここまで来ると、マジでアスペか何かだな
空気を読むとか一切できなさそう
279 :
デフォルトの名無しさん
2016/10/26(水) 18:41:32.26 ID:nn4J9Ce2
>>276
馬鹿かこいつw
280 :
2016/10/26(水) 19:10:56.46 ID:HUHPMrwb
>>227-229
君たちはなんでそんなに頭が悪いの?
281 :
2016/10/26(水) 19:17:15.22 ID:HUHPMrwb
レス番を間違えちゃった
まあ大事なことだから二回書いてもいいよね

>>277-279
君たちはなんでそんなに頭が悪いの?
282 :
2016/10/26(水) 19:49:54.50 ID:DCJLb856
MainがOFFなら
 AもBもOFF
MainがONなら
 AとBの個別設定を参照

この場合の個別設定を参照する部分の名前はどうする?
283 :
2016/10/26(水) 20:02:22.65 ID:Kd62j3g9
>>282
そんな抽象的な要件だけで名前付けろって無理があると思うけど・・・
284 :
デフォルトの名無しさん
2016/10/26(水) 20:29:17.43 ID:LebVIXiL
そもそもMainの設定を参照する部分の名前はどうしたんだよw
個別の場合だけわざわざ別の名前にしたいのか?面倒な奴だなw
285 :
2016/10/26(水) 20:31:23.26 ID:2dETNhOD
命名云々よりリーダブル意識しろ
286 :
2016/10/26(水) 20:37:53.55 ID:Vi7enIW1
OFFとかONとかいわれましてもw
287 :
2016/10/26(水) 21:18:14.00 ID:DCJLb856
>>284
Mainは 基本設定 Basic かなって思ってる
同じ名前にすんの?
288 :
2016/10/26(水) 21:25:29.98 ID:R7bTf3Ct
設定を持ってくるメソッド名の話?
289 :
2016/10/26(水) 21:28:37.46 ID:R7bTf3Ct
>>270
せめてspecialPatternくらいで問題ないような設計にすべき
290 :
2016/10/26(水) 21:37:32.89 ID:DCJLb856
>>288
その話
基本設定受け取るのと個別設定を受け取るのは別にしてある
291 :
2016/10/26(水) 21:47:36.81 ID:Kd62j3g9
>>289
それが可能かは質問者しか分からない。
普通に考えて、可能ならわざわざ質問しないだろう。

不可能な可能性が皆無ならともかく、そうでないのであればスレの趣旨を尊重して
素直に質問者の問題に解答すべきだ。
292 :
2016/10/26(水) 22:44:11.46 ID:DvJWGDCx
スレチだから議論するなよ
293 :
2016/10/26(水) 23:11:00.34 ID:8ZG+uxSI
今更ですが>>265はあるGUIのツールに埋め込むコードの一部の話です
正規表現は処理対象ファイルを指定する箇所の設定入力部に書いてあるので設計でどうこうというのは無理そうです
ツールの動きを無理にコードで制御しようとしてるので名前に無理が生じるのは仕方ないかもしれないですね…
294 :
2016/10/26(水) 23:44:24.00 ID:4rKIhUw9
ということ。

一々設計レベルから作り直せると思ってる暇プログラマーは、どうぞ新スレに移動してください。
高尚な思想を元に数レスで一同を納得させられる流れを見せつけてくれるでしょう。
295 :
2016/10/26(水) 23:59:23.89 ID:Kd62j3g9
>>294
気づいてないみたいだから一応言っとくけど、そういう「ガヤ」が一番くだらない。
バカじゃないの。

それに比べたら多少スレの趣旨からズレても命名の周辺の話題のレスの方が100倍マシだ
296 :
2016/10/27(木) 00:15:28.72 ID:2yJlsZPW
それ自分のことじゃね
297 :
2016/10/27(木) 00:23:13.54 ID:fRHwGNYD
>>295
皮肉込めて誘導してるだけで、真意としては>>291と大して変わらんつもりだが?
298 :
2016/10/27(木) 01:01:02.41 ID:K8eDk5Ex
質問者に許されるレス内容
@背景と機能の説明
A候補として考えてる名前(もしあれば)
Bサンプルコード(もしあれば)

回答者に許されるレス内容
@機能に付けるべき名前(機能1つに対して1つの識別子)

上記以外の書き込みは禁止とする
スレチの話題は該当スレへどうぞ

設計・命名スレ
http://echo.2ch.net/test/read.cgi/tech/1477368563/
299 :
2016/10/27(木) 07:18:32.18 ID:uoSnPm98
>>288
GetSettingA( ), GetSettingB( ) じゃダメなの?
300 :
2016/10/27(木) 08:24:35.16 ID:8JUz12qY
個別設定という変数名を考えてみよう
301 :
2016/10/27(木) 09:16:11.09 ID:Owourcn0
共通部品的なやつのなかに
基本を持ってくるメソッド、設定Aを持ってくるメソッド、設定Bを持ってくるメソッドがある状況なのか
それともABそれぞれが、基本と個別のメソッドを持ってるのかによって違うかな
302 :
2016/10/27(木) 09:23:39.79 ID:8JUz12qY
勝手に想像したらメールとかの通知機能が思い浮かんだかな
Mainはアプリとしての通知有効無効
AやBはアプリとしての通知が有効ならAやBの設定に従う感じ
メールならPersonal設定?
メールとか関係無く「個別通知」ならindividual?
303 :
2016/10/27(木) 10:55:59.83 ID:wCjzfsvs
要件が適当すぎ
名前は適当でいいから動くコード書いて
304 :
2016/10/27(木) 12:56:18.58 ID:Owourcn0
目的によって、基本や個別の意味合いが変わってくるし、適切な単語も違うからねぇ
305 :
2016/10/29(土) 20:57:22.24 ID:OmD5+S5i
メンバーの募集機能で、募集中かどうかを「is_recruiting」カラムに入れています。

これのtrue, falseを切り替える関数名はどういう感じがよいでしょう?
306 :
2016/10/29(土) 21:01:36.42 ID:Lu2qC+Nv
>>305
toggle_recruiting
switch_recruiting

> 募集中かどうかを「is_recruiting」カラムに入れています。
is_recruitingに違和感がある。
それがrecruitingかを確認する関数名に読める。
307 :
2016/10/29(土) 21:13:58.34 ID:OmD5+S5i
>>306
やっぱり違和感ありますかね?

「現在募集中かどうか」はどういう表現、カラム名が適切でしょうか
308 :
2016/10/29(土) 21:21:32.48 ID:Lu2qC+Nv
>>307
recruiting
309 :
2016/10/29(土) 21:23:12.34 ID:4zGB62ZL
余計に意味分からんわ
310 :
2016/10/29(土) 21:26:56.51 ID:dXKRRVDP
offer exists
311 :
2016/10/29(土) 21:29:04.12 ID:T/KDlWmf
そういう可能かどうかの状態をtrue/falseで返す関数は
isXXXXXable
が大正義
312 :
2016/10/29(土) 21:32:29.00 ID:Lu2qC+Nv
>>311
切り替える関数であって可能かどうかを返す関数ではないのでは?
313 :
2016/10/29(土) 21:33:10.90 ID:LIjnRu53
IsEnableRecruit
SetRecruitStatus
314 :
2016/10/29(土) 21:47:35.84 ID:ZloojbFD
>>305
> メンバーの募集機能で、募集中かどうかを「is_recruiting」カラムに入れています。
俺なら in_recruiting かな

> これのtrue, falseを切り替える関数名はどういう感じがよいでしょう?
start_recruit(), stop_recruit()
315 :
2016/10/29(土) 21:48:45.20 ID:w65J4ERD
ReverseかToggleかなあ。
Switchは第3のステータスがありそう。

>>307
is_recruitingで良いと思うけどなあ。
is_recruitableでもいいかもしれんけど。
316 :
2016/10/29(土) 21:53:37.19 ID:w65J4ERD
あるいは、
下手に切り替えるところまでを1つの関数にするよりは、

 SetRecruiting ( ! is_recruiting );
 is_recruiting = ! is_recruiting;
 is_recruiting ^= 1;

とかのほうが分かりやすいかもしらん。
317 :
2016/10/29(土) 22:19:02.82 ID:4zGB62ZL
質問者はtoggleがしたいのか単にsetしたいだけなのかハッキリしておくれ
318 :
2016/10/29(土) 22:52:35.09 ID:PR9zW7ZB
employならenployableって表現はありだけど
recruitableはないと思うわw

英単語としては存在するみたいだけど、意味的におかしいよねw
319 :
2016/10/30(日) 00:44:44.17 ID:jMC+zj6I
〜ableは「〜可能」って意味だからな
今回は募集可能じゃなくて応募可能と考えるべき
320 :
2016/10/30(日) 07:07:00.90 ID:JMWTgXDT
募集に関するクラスに作るんじゃないの?
普通にavailableでいいと思うんだけど
321 :
2016/10/30(日) 08:42:44.21 ID:2kQlDpFE
>>318
例: 政府により募集可能な期間が設定された

普通に使われると思うけど?
322 :
2016/10/30(日) 11:46:01.42 ID:f9d004U/
member_wanted {none, a_few_programmer}
323 :
2016/10/30(日) 22:45:31.62 ID:sGqbfAV5
2つほど相談です。
関数名は文脈を考えて付けるべきというのは理解していますが、
プリフィクス等の汎用的な命名方法を探しています。


(1)
以下のような複数の方法でfooと呼ばれる値を取得し、それを返す関数の名前をお願いします。

・テキストファイルから解析
・既存の変数から計算
・DBや他マシンと通信
    :
具体的などのような処理を行うかは、呼び出し元は知る必要はありません。
ただし、単なるGetFoo()よりは処理が重いイメージを伝えたいと思います。
現在は仮にFetchFoo()としています。


(2)
あるクラスのメンバ変数barに対して、取得と代入を行う関数をお願いします。

上記(1)と同じように複数の方法で値を取得し、それをbarに代入します。
現在 SetBar( FetchBar() ) と記述しているのですが、これをまとめたいという要求です。
こちらも呼び出し元は値の取得方法を知る必要はありませんが、少し重いイメージは出したいです。

InitializeBar() や ApplyBar() も考えましたが、
初期化だけに使うわけでも、各種設定を確定させるだけに使うわけでもないので、
ちょっとモヤモヤしています。
324 :
2016/10/30(日) 23:33:05.97 ID:03ce0qAm
ここではないどこかからデータを取ってくるという意味合いが強いならFetchを使う
より抽象的に手段や場所や対象はよくわからないがとにかく何かを取得するという意味合いが強いならGetを使う
処理が重くなる場合があるという情報は通常はドキュメントに記載する
ドキュメントではなくプログラムで表現したいなら微妙なニュアンスに頼らずに非同期版のメソッドを用意すること
非同期版のメソッドを用意することによって同期版を使った場合にパフォーマンス上のペナルティが発生する可能性があるということをプログラマにより直接的に伝えることができる
325 :
2016/10/31(月) 00:13:23.74 ID:T+jfS1R6
>>324
ありがとうございます。

Getだけだと、単純なアクセサってイメージが強くないですか?
C#のプロパティとかも、稀にそういうトラブルがあるらしいですけれども。
326 :
2016/10/31(月) 00:31:03.58 ID:y/KimnPW
>>323
(1) それとは別に「早い」バージョンも存在するのでなければ単純にGetFooで問題ない気もする。
どうしてもそれが重いことを名前で伝える必要があるのなら、あいまいなニュアンスに頼るんじゃなくて
明示的にGetFooInSlowWayとかGetFooByHeavyMethodとか付けたらどうかなあ

(2) 基本的に(1)と同じでUpdeteFooとかReloadFooでよく、本当に必要なら(以下略)でいいんじゃないか
327 :
2016/10/31(月) 00:32:53.87 ID:y/KimnPW
Updateのスペルが間違ってたw
328 :
2016/10/31(月) 00:45:48.40 ID:y/KimnPW
その手のメソッドが頻出するなら、何かサフィックスする規約でもいいのかもね。
例えばHV(HeaVy)とか
GetFooHV
329 :
2016/10/31(月) 00:55:49.63 ID:N3/YDThV
>>325
メソッドはクラスやインターフェースとセットだから問題ないよ
それで迷うようならクラスの役割やインターフェースの要求があやふやなんだろうね
FooRepository.getFoo
Foo.getName
どっちがインフラに依存した重い処理でどっちがフィールドアクセス(+α)のささやかな処理か?
クラス分けがちゃんとしてれば常識的に迷うこたないでしょ
330 :
2016/10/31(月) 12:47:10.69 ID:uOz63dOb
重いことを主張したいわけではなく、ただのアクセッサではないということを主張したいだけか。

そういう微妙なニュアンスにこだわりたいのはわかるが、作者のそんな意図はなかなか伝わらないものだよ。
だからこういう話題は、それ単独で悩むんじゃなくて、規約レベルで決めとくべき話題だな。アクセッサはgetで、ファイルから持ってくるときはreadとか。

その規約的なものを検討してて質問してるなら失礼。
331 :
2016/10/31(月) 20:56:32.06 ID:03zQ5mOK
というかオブジェクト指向的にはgetなんとかはフィールドアクセサーだって連想は間違ってるんだよ
実装を見たらたまたまフィールドにアクセスしてたってだけの話でな
332 :
2016/10/31(月) 22:11:27.28 ID:6L1k9riG
くっさ
333 :
2016/10/31(月) 22:19:19.89 ID:u9vgcP7f
アクセサーにgetを使うのって、解説用のときだけじゃね
334 :
2016/11/01(火) 09:00:22.30 ID:pQ6hmNDw
プロパティのない言語だと、get/setをアクセッサとするルールを定めておくことで、色々と便利なわけですよ。
335 :
2016/11/01(火) 10:23:11.89 ID:H/G1IS5n
解説のときにね
336 :
2016/11/01(火) 14:29:13.40 ID:zTwebp3Z
>>331
その話題はここの連中にはまだ早い
337 :
2016/11/01(火) 16:07:11.34 ID:H/G1IS5n
オブジェクトでフィールドにアクセスしないでなにかをGetするなんてあるんだろうか?
338 :
2016/11/01(火) 16:53:05.46 ID:0w7M9Ph5
getするのはオブジェクトの属性だけとは限らないからねえ。
現に今の質問者の話がそれなわけで。

だからこそメソッドとは別に属性のアクセス専用のプロパティが発案されたんだと思うけど
339 :
2016/11/01(火) 20:13:14.70 ID:jey0RimT
発案っていうかC#のプロパティなんかは例えばあれIDEの都合っしょ
そうすりゃIDE側から多少便利ってだけでね

public string Foo {get;}
public string Bar {get {return xxx.getBar()}}
この両方の書き方がある以上、属性専用も糞もない
用途はメソッドんときと一緒
340 :
2016/11/01(火) 20:22:36.25 ID:zZ+/B8c0
>>339
プロパティはVBやCOMにもあるよ
それと、それまったく何の理由にもなってないと思うけど

プロパティは<オブジェクトの使用者に対して>それがオブジェクトの属性であることを明示するためにある。
341 :
2016/11/01(火) 20:28:15.67 ID:ls1tDjet
プロパティは歴史的にはRADのためのアイデアであってるよ
マイクロソフトの中の人が言ってた
342 :
2016/11/02(水) 11:57:37.21 ID:GdBKXJrN
スキーマ名.テーブル名を格納する文字列についていい名前はないでしょうか
343 :
2016/11/02(水) 12:25:48.41 ID:iqvhs+TX
string スキーマ名
string テーブル名
344 :
2016/11/02(水) 12:34:12.01 ID:GdBKXJrN
すいません、hogeSchema.hogeTableのようにスキーマ名とテーブル名を結合させた文字列です
暫定でtableFullNameになっているのですが伝わるでしょうか
345 :
2016/11/02(水) 12:58:15.07 ID:iqvhs+TX
string スキーマ名とテーブル名
346 :
2016/11/02(水) 16:25:05.97 ID:cswDNzjo
>>344
スキーマまで含める意図がテーブルを完全に特定したいと言うことなら FullQualifiedTableName かな
347 :
2016/11/02(水) 16:51:09.01 ID:ocKcxs87
>>346
fully qualifiedで完全修飾なんですね
おっしゃる通りテーブルを特定するために結合しているのでそれでいってみます
ありがとうございます
348 :
2016/11/02(水) 16:53:27.99 ID:7Lua67RL
class TableName {
private String _name;
private String _schema;
public TableName(String n, String s) {
_name = n;
_schema = s; }
public String name() { return _name; }
public String schema() { return _schema; }
public String fullName() { return _name + "." + _schema; }
}
349 :
2016/11/02(水) 18:39:44.42 ID:MdOEsPX2
俺ならそういうのをクラス名やメソッド名にはしないな
>>348さんみたいな方向のアプローチでつくっておいて
変数名をそれっぽいもんにして運用する

class Pair<T, U> {
private T first;
private U second;
public Pair(T first, U second) {this.first = first;this.second = second;}
public T first() {return first;}
public U second() {return second;}
}
class StringPair extends Pair<String, String> {
public StringPair(String a, String b) {super(a, b);}
public String whole() {return whole("");}
public String whole(String sep) {return new StringBuilder().append(first()).append(sep).append(second()).toString();}
}

で、
List<StringPair> schema_table_pairsとかst_pairsとかstpairsとかstsとか
350 :
2016/11/02(水) 22:47:45.00 ID:Bu8jEFR0
こんなアホが俺の周りに来ませんように
351 :
2016/11/02(水) 23:03:56.32 ID:jC5deFAg
質問ではなく、ちょっと意見を聞きたいんだけどさ、
foo-bar_baz という名前があったとき、一パッと見でどう認識する?

1. Foo/ BarBaz
2. FooBar/ Baz
3. Foo/ Bar/ Baz
4. それ以外
352 :
2016/11/03(木) 00:18:47.46 ID:siYabkWS
3だな
353 :
2016/11/03(木) 01:14:20.86 ID:snmoM2GI
3かー、ありがとう。
小文字しか使えない状況って結構辛い
354 :
2016/11/03(木) 07:18:42.52 ID:viOY8I+I
2に近いが1と3はない
355 :
2016/11/03(木) 08:34:35.58 ID:4MjmvoYz
356 :
2016/11/03(木) 08:50:59.41 ID:q+jX9dvw
ビンゴ!
357 :
2016/11/03(木) 09:18:04.47 ID:9JnV00MF
foo-(bar_baz)
foo年bar組baz番
って感じ
358 :
2016/11/03(木) 10:28:30.55 ID:NjbREez3
>>351
ここム板だから foo - bar_baz って認識する人が多いと思う
ハイフンを識別子に使える言語もあるけどね
359 :
2016/11/03(木) 11:49:34.61 ID:GY8DqBwz
>>351
1かなスネーク形式を連想するし。
360 :
2016/11/03(木) 13:07:03.07 ID:ZphmWbuS
ハイフン(っていうかプログラミング的にはマイナス記号だと思うけど)が識別子に使える
プログラミング言語なんてあるのかw

っていうか、この手のオレオレ表記法が他人にどう見えるかなんて無意味。
他人の書いたコードを読む時重要なのは書いた奴がその表記法をどういう意図で使っているかであって
読み手がどう思うかじゃないんだから。

あえて言えばそんな他人にお前の意図を推測させるような表記法なんか使うなと。
361 :
2016/11/03(木) 13:49:32.19 ID:snmoM2GI
ありがとう。見事にみんなバラバラだな!
本当は日本語OKなら積極的に使いたいんだけどねぇ。

>>351
URLやら連想配列やらまで含めればそれなりに。
自分(相談者)の場合はDBだけども。

>>360
全くもって同意する。ただすまん、今回の場合は意図を推測する/させる立場が逆なんだ。
例えるなら大昔のコンピュータゲームで、
A攻撃&Bジャンプのアクションゲームがそれだけでクソゲー扱いされるようなもので。
362 :
2016/11/03(木) 13:50:30.47 ID:snmoM2GI
アンカ間違えた 自分に打ってどうする >358だ
363 :
2016/11/03(木) 13:59:33.85 ID:+nsyTxDZ
>>360
Lispとかあるでしょ
364 :
2016/11/03(木) 14:07:57.72 ID:h7OLIGrQ
演算子の前後は空白開ければ楽勝で区別出来るが、Cの.と->は空白入れると座りが悪いので入れてない
365 :
2016/11/03(木) 14:54:54.10 ID:NjbREez3
>>360
> ハイフン(っていうかプログラミング的にはマイナス記号だと思うけど)が識別子に使える
> プログラミング言語なんてあるのかw
COBOL とか PowerShell とか

> っていうか、この手のオレオレ表記法が他人にどう見えるかなんて無意味。
と思うならスルーしとけ
366 :
2016/11/03(木) 15:27:26.47 ID:jGJ8D3JL
>>360
チェインケースでググれ
367 :
2016/11/04(金) 11:34:10.16 ID:ZEtNANA9
>>360 xsltも-が使える。しかもふつうに引き算で-を使う。
368 :
2016/11/04(金) 17:51:27.61 ID:yZRML0sj
設定画面でファイルを保存する場所(フォルダ)を指定させるのですが、

まずは、保存する場所を指定するかどうかのBoolean型のプロパティと
指定する場合の実際の保存場所のパスを表すString型のプロパティ

の2つの名前をよろしくお願いします。
Settingsクラスあたりに追加します。
369 :
2016/11/04(金) 17:57:14.78 ID:yZRML0sj
英語の名前もそうなんですが、日本語の方もお願いします。
UI的には
「保存する場所を指定する」というキャプションのCheckBoxあたりと、
「保存する場所」というキャプションのテキストボックスとフォルダダイアログを表示するボタンでいいですかね。
370 :
2016/11/04(金) 18:00:23.05 ID:BEVfOvDH
>>368
設定自体をファイルに保存するの?
それとも、何か別のデータを保存するの?
371 :
2016/11/04(金) 18:07:17.31 ID:XfxE6vHI
>>368
話を聞く感じでは「保存する場所を指定するかどうか」なんて設定は不要に感じる。
要は必要になった時に保存場所を規定値に戻せれば同じことでしょ?
保存場所を規定値に戻すメソッドを持たせればいい。

保存場所は普通にSaveFolder, SaveName, SavePathで良いのでは
372 :
2016/11/04(金) 18:09:25.00 ID:yZRML0sj
>>370
別のデータを保存します。それが2,3個あるのですが、その種類は接頭辞として前につけようかなと
思ってますので>>368ではその具体例を省いて質問しました。

設定ファイル自体ももちろんファイルに保存しますが
それは固定なので。
373 :
2016/11/04(金) 18:12:18.73 ID:XfxE6vHI
まあ、一度規定値に戻した後また同じパスを指定するのは面倒だってことはありうるのか。
じゃあUsesDefaultFolderとUserSpecifiedSaveFolderで
374 :
2016/11/04(金) 18:21:19.77 ID:yZRML0sj
>一度規定値に戻した後また同じパスを指定するのは面倒だってことはありうるのか
その通りです。例えば、インターネットエクスプローラのプロキシの設定でも
チェックボックスとテキストボックスの2段構えになってるのですが、
他のソフトでそうなってないUIのときに一時的に切り替えるがめんどくさい経験をしてるので、
だから、あえてチェックボックスとの2段構えにしています。
375 :
2016/11/04(金) 19:27:32.71 ID:yZRML0sj
色々ありがとうございます。
>UsesDefaultFolderとUserSpecifiedSaveFolder
ここらへんの案で行こうと思います。
376 :
2016/11/16(水) 21:38:10.07 ID:zlBynMxs
あるクラス群の役割を抽象化したスーパークラスの名前を考えています。

あるデータDをデータベースに対して読み書きするクラスX
あるデータDをファイルに対して読み書きするクラスY
あるデータDをメモリに対して読み書きするクラスZ
あるデータDをウェブアプリに対して読み書きするクラスW

これらのクラスの読み書き先の違いを抽象化したスーパークラスの名前は何が良いでしょうか。

ReaderWriter でしょうか。
377 :
2016/11/16(水) 22:09:41.69 ID:5Ihw572q
むしろReadWriterじゃない?
あとDStreamとか?
378 :
2016/11/16(水) 22:42:11.51 ID:gtmrvLDz
リポジトリだろ
379 :
2016/11/17(木) 00:16:14.42 ID:jhQKUhIJ
>>376 です。

>>378 なるほど、ピッタリですね。
頂きます。

お二人とも、ありがとうございました。
380 :
2016/11/17(木) 01:17:13.53 ID:ypT0aoV/
いやリポジトリは倉庫であって倉庫係ではないと思うけど...
>>376は倉庫係じゃん
381 :
2016/11/17(木) 02:13:48.61 ID:NU+xZ5I3
377で挙がってるけどDStreamかなあ
382 :
デフォルトの名無しさん
2016/11/17(木) 12:34:21.39 ID:ir/fHuQ7
全然ストリームじゃないのにどっからストリームが出てくんのか…
雰囲気で訳も分からずデタラメな名前つけんなタコが
383 :
2016/11/17(木) 13:05:45.14 ID:/0Wfoiwq
>>382
悪いけどお前さんがストリームって概念を理解してないだけだと思うよw
384 :
2016/11/17(木) 13:33:29.72 ID:SIbcJcrO
>>383
俺はお前が理解していないに一票。
ストリームじゃないし。
385 :
2016/11/17(木) 13:50:31.14 ID:/0Wfoiwq
アホだ
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
386 :
2016/11/17(木) 14:00:14.97 ID:SIbcJcrO
>>385
自分の言葉で説明できないという告白ですか。

ストリームの要件の一つに「連続データである」ということがある。
>>376はそれを満たしていないのでストリームではない。

反論があるなら、自分の言葉でどうぞ。
387 :
2016/11/17(木) 14:03:31.82 ID:3lGtF19o
Dを永続化したいという目的ならD repositoryで伝わるよ
でも>>376は永続化の手段も表したいと言う
真っ先にリポジトリパターンを思い出す人は違和感を持つんじゃないかな
388 :
2016/11/17(木) 14:05:02.67 ID:/0Wfoiwq
>>386
以前はランダムアクセスが困難なもののみを指してストリームという用法が一般的だったのは
たぶん確かだが、最近はランダムアクセス可能なものもストリームと呼ぶ。

例えば>>385のリンク先の.NET Frameworkの例を見てみ
389 :
2016/11/17(木) 14:05:19.03 ID:/0Wfoiwq
しかし、本物のアホだな
390 :
2016/11/17(木) 14:08:02.50 ID:SIbcJcrO
Wikipedia好きみたいだから、本家からも引用しときましょうか。

https://en.wikipedia.org/wiki/Stream_(computing)
> In computer science, a stream is a sequence of data elements made available
> over time. A stream can be thought of as items on a conveyor belt being
> processed one at a time rather than in large batches.

Google翻訳:
> コンピュータサイエンスでは、ストリームは時間の経過とともに利用可能になる
> 一連のデータ要素です。 流れは、大きなバッチではなく、一度に1つずつ処理
> されるコンベヤベルト上の物品と考えることができる。
391 :
2016/11/17(木) 14:12:38.46 ID:SIbcJcrO
>>388
> 例えば>>385のリンク先の.NET Frameworkの例を見てみ
これと>>376が同じに見えるのか。
こりゃ会話するだけ無駄だわ。
392 :
2016/11/17(木) 14:24:01.83 ID:/0Wfoiwq
今日はこのぐらいで勘弁しといたるわ、まで読んだ。
しかし重症だね。
393 :
2016/11/17(木) 14:27:22.96 ID:F8tQbCJJ
煽りたいだけの奴が的外れな事を言って引っ込みがつかなくなったパターンですね
394 :
2016/11/17(木) 14:28:32.31 ID:/0Wfoiwq
まあお馬鹿さんが調子にのるといけないので一応突っ込んでおくけど、
>>390の英語版のWikipediaの記事、引用してる本人が読んでないんだろうね

Exampleにはこうも書いてある
On Unix and related systems based on the C language, a stream is a source or sink of data, usually individual bytes or characters. Streams are an abstraction used when reading or writing files, or communicating over network sockets

そこにはシーケンシャルなメディアに限定するなんて記述はない。
当たり前だ磁気テープや穿孔テープの時代じゃあるまいし、そんな1960年代の用法を
有難がって守っても弊害しかないからね。
395 :
2016/11/17(木) 17:41:25.74 ID:cT5YV57l
なんで揉めているのか二行で説明ヨロ
396 :
2016/11/17(木) 18:20:46.25 ID:mMJymgjM
>>376
そもそも読み書き操作をスーパークラスにしうとするのがおかしい
データ主体にすべきだし、それならば「データDAccesser」とか妥当なのがでてくるけど
397 :
2016/11/17(木) 18:21:07.96 ID:HfqKr7Tv
ある数人のグループ全員を、順番はアットランダムに選んでコロしていった場合、連続殺人なのでシリアルキラーと言われ、ランダムキラーと言われない。
その考え方から、ランダムにアクセスされるデータも考え方によっては連続アクセスだからシリアル→ストリームと解釈していいじゃん。


ってJCの女の子が言ってた
398 :
2016/11/17(木) 18:28:23.63 ID:oM0V2Zu8
>>395
東軍: Streamはシーケンシャルなデータの流れだ
西軍: Streamはデータの構造やアクセス方法関係なしのデータの流れだ

こんな感じ?

抽象化されたStreamって意味なら西軍だけれども
読み書き先の構造やアクセス方法関係なしに
表面的にはシーケンシャルな処理に見えるようにするんじゃない?
あくまで順繰り読み書きすることが目的なのだから
399 :
2016/11/17(木) 19:06:23.32 ID:H4HAbVd3
Fetch API に ReadableStream という名のインターフェースがあったな
https://triple-underscore.github.io/Fetch-ja.html
400 :
2016/11/17(木) 20:30:41.08 ID:bN2Unndl
集約ルートに対するCRUD操作とトランザクション管理を行うならリポジトリ
シーケンシャルなデータI/Oならストリームだろう
>>376ではどちらとも言えないので議論しても不毛な争いにしかならない
つまりお前らはハゲ
401 :
2016/11/18(金) 06:53:14.38 ID:ZuKcmSv7
>>388
ランダムアクセス「も」ストリームとして扱うようになってきてるだけで名前としてはおかしいと思うけど今さら変えられないって話でしょ?
ストリームインターフェースを参考にするとか派生させるとかで作るならわかるけど全く新規に作るならあえてわかりにくい名前を付ける必要はないと思うよ
402 :
2016/11/18(金) 08:23:44.33 ID:sk5kx0wb
てめえのためにスレまで建ててやったんだからとっととそっちいけやボンクラ
403 :
2016/11/18(金) 10:08:14.30 ID:fuS99ZTS
>>401
違うよ。
ストリームって概念のキモは英語版Wikipediaの説明にもあるように抽象化でしょ。
それは最終的な対象を問わずに入出力を透過的に扱うため。

そこにシーケンシャルアクセス専用みたいな(本来どうでもいい)空気がくっついたのは、
単にその概念が生まれた当時にはランダムアクセス可能な対象がRAMぐらいしかなかったし、
今と違ってそれは非常に高価で富豪的に使うなんてありえなかったからだろう
404 :
2016/11/18(金) 10:22:05.49 ID:mP8U9SKK
アクセス方式のシーケンシャル(アクセス)と、データの構造としてのシーケンシャル(データ)を混同するなよ
405 :
2016/11/18(金) 10:52:00.04 ID:GQvjvZ3S
だな。>>386は「連続データである」とデータ構造としてシーケンシャルといってるだけなのに、
勝手に>>388がランダムアクセスとかアクセス方式の話をし出してるし、

さらに、勝手に>>388でシーケンシャルアクセスvsランダムアクセスみたいな
変な構図つくってるだけじゃん。
406 :
2016/11/18(金) 10:54:12.63 ID:fuS99ZTS
何のこっちゃ
407 :
2016/11/18(金) 11:00:11.29 ID:GQvjvZ3S
>>382が全然ストリームじゃねぇっていってんのは、>>376
ファイルやメモリはストリームだが、RDMBSかしらんが「データベース」とか
「ウェブアプリ」とかも含まれてるのにそれらを
総称して「ストリーム」とか言ってるから>>382が全然ストリームじゃねぇって
いってんじゃねぇの?
408 :
2016/11/18(金) 11:09:44.44 ID:GQvjvZ3S
まぁ、例えば行と列から構成されるRDBMSとかもどんどん分解してけば、
最終的にはバイトの列になるのでじゃあそれは
ストリームって言えなくもないがさすがに無理あるな・・
409 :
2016/11/18(金) 11:14:36.55 ID:fuS99ZTS
アホだ。
悪いけどそれ抽象化とか透過的って概念が何か理解できないだけ。

仮に透過的に扱えないなら、>>376はそもそもこんな質問をしないだろう。
410 :
2016/11/18(金) 11:15:44.52 ID:GQvjvZ3S
と書いたがいや、君の言いたいことはわかった。
それらをすごい抽象化してただの入出力先という意味でストリームって
ことにしたわけね。
411 :
2016/11/18(金) 11:20:46.64 ID:GQvjvZ3S
なんだよ。自分で気づいたのに1分差で負けた。
まぁ、でも、ランダムアクセスとかアクセス方式の話はまとを得ない
反論の仕方だったね。誰もランダムアクセスできるのデータの並びは
ストリームじゃないなんて言ってなかったし。
412 :
2016/11/18(金) 19:51:43.08 ID:VNWU1qlY
纏めるとリポジトリが正解ってことですね
413 :
2016/11/18(金) 20:40:29.39 ID:ZuKcmSv7
>>403
ストリームの本来の意味を調べてから出直してこい
414 :
2016/11/18(金) 20:47:28.99 ID:ZuKcmSv7
>>412
>>376
> あるデータDをデータベースに対して読み書きするクラスX
> あるデータDをファイルに対して読み書きするクラスY
までならリポジトリが一番しっくりくる

> あるデータDをメモリに対して読み書きするクラスZ
これはちょっと微妙だけどまあメモリーも倉庫って言えなくもないか

> あるデータDをウェブアプリに対して読み書きするクラスW
ウェブアプリの動きがわからんのでなんとも言えないかな
DB のフロントエンドみたいなものならいいけど、書き込んだらプリンターに印刷されるようなアプリだったらリポジトリって言うのは違和感あるしなぁ
415 :
2016/11/18(金) 21:22:00.83 ID:ebwGr1K/
インメモリリポジトリもウェブサービスベースのリポジトリも現場では当たり前のようにつかわれてるよ
CRUD操作とトランザクション管理ができていればインフラの実態が何であれリポジトリを名乗れる
Save命令が来たらプリンタで印刷してIDをラベリングして書類棚に保管する
Load命令が来たらIDで書類棚を探してスキャナにかける
トランザクション管理はタイムスタンプ方式でいいだろう
あとはバックエンドで作業する人を雇えば紙ベースのリポジトリが実装可能だ
416 :
デフォルトの名無しさん
2016/11/18(金) 22:38:04.35 ID:Ashpa7Ki
リポジトリもストリームと同じくらいないわ
だから雰囲気だけでデタラメな名前つけんなっつーのw
417 :
2016/11/19(土) 00:15:08.41 ID:shkjyp+s
>>416
やっぱりラーメンは醤油がうまいよな
418 :
デフォルトの名無しさん
2016/11/19(土) 07:56:32.66 ID:T/wP/yiF
いつも悩むのは仮引数と外から与える変数名を同じにするか、
newしたオブジェクト名なのか、通常型変数名なのか、
オブジェクトを加工した結果を加工前と同じにするか、
加工されたものであることが分かるように別名にするか、
名前に意味付けをするか、しないか。
意味付けをしないといつもの慣習で決まりきったルールで
命名するからコーディング時に手が止まらないしスペルミスもしない、
foo や obj num str arg などほとんど意味を持たない名前は
自分の中で使いどころが統一されているから扱いやすいが、
後から見ると処理の意味が見えにくくなってしまう。

意味をつけると名前が長くなるし、表記がブレたりスペルミスしたり
意味論的な勘違いすることもある、後で読みやすいようにと思って
意味をつけたのに、それが全く裏目に出たりすることもある。
419 :
2016/11/19(土) 08:31:00.18 ID:HaGDkE41
>>415
自分の知ってる単語を必死で並べたってレスだな w
420 :
2016/11/19(土) 08:35:31.62 ID:yRyIlHmZ
>>418

>仮引数
コーディング規約や言語のルールでthis的なものが必須なら、
それに甘えて同じにしちゃう。

>加工
normalizedとか毎回付けてらんないしなー。
後から併用するなら仕方ないけど、そうでないなら無駄な変数は減らしたいなあ。
別関数に切り分けるなり、メソッドチェーンに頼るなり、ラムダ式使うなり。

>意味付け
極端に狭いスコープなら、意味付けをしないことに意味がある場合も多いよねぇ。
421 :
2016/11/19(土) 08:46:32.38 ID:D7c5q+PF
>>418
短期利用でさくっと書きたいときは別だが、長期的な保守をするなら具体的で分かりやすい名前を付ける
命名規則は時間が経つと結構変わる
数年後に自分で見直して書き直したくなるコードはNG
http://qiita.com/Kenya/items/faec4cc374edd5ffbba6
422 :
2016/11/23(水) 09:59:46.68 ID:6rdEH9lU
エクセル帳票を出力するクラスがたくさんあります
全ての帳票にて帳票を出力したあと
A1セルをアクティブにする
左端のシートをアクティブにする
ヘッダーとフッターに日付を付ける
パスワードを付ける
などといった共通の処理を実行します
この共通の処理行うクラス名とメソッド名はどうすべきでしょうか
423 :
2016/11/23(水) 10:19:39.44 ID:OGH43EwE
>>421
数年後に書き直したくならないのは、お前が成長してないから
424 :
2016/11/23(水) 10:40:54.66 ID:6zk3Iard
>>422
関数名は Finalize() とかどうじゃろ

クラス名に関しては、設計まで関与できるなら
IExcelとかExcelBaseとかSpreadsheetInterfaceとか…?


>>423
コードそのものの話なら同意するが、
命名だけなら該当するとは限らないんじゃね
425 :
2016/11/23(水) 10:53:05.86 ID:C2QhSskP
>>422
指定の形式に整えるという意味で
format();
426 :
2016/11/23(水) 12:45:21.12 ID:FAW/BQOA
>>422
それが「共通の後処理」なら
CommonPostProcessor.Do

それがプログラムの中でどういう意味を持つのかが分からないと
適切な命名は無理だと思う
427 :
2016/11/23(水) 14:36:17.78 ID:6rdEH9lU
>>424-426
どうもです
この中だとCommonPostProcessorがイメージ的に近い感じです
出力後にやらなければならない処理を一回で呼び出すためのファサードクラスなので具体的過ぎてもダメなので
428 :
2016/11/24(木) 22:28:47.24 ID:vuroAiw2
日付値を現在時刻に対する相対表記の文字列に変換するメソッドの名前を
お願いします。
1分前とか1時間前とか1日超えたらは相対表記やめてただの日付の表示に.
429 :
2016/11/24(木) 23:31:42.82 ID:Nb3eTdW/
fromNow
430 :
2016/11/25(金) 09:33:46.36 ID:RGPpwCf5
相対をRelativeで表現するかな?
431 :
2016/11/25(金) 12:08:42.83 ID:O6iXt3QA
Twitter の HTML 見たら、
<span class="_timestamp js-short-timestamp js-relative-timestamp"
とか書いてあった。これに get_ でもつければいいんじゃないかと。
get_short_timestamp()
get_relative_timestamp()
432 :
2016/11/25(金) 18:08:23.46 ID:oxvefZiD
>>431
ありがとうございます。relativeとshortを使って命名してみます。
433 :
2016/11/25(金) 18:19:19.10 ID:oxvefZiD
>>429->>431です。
434 :
2016/11/25(金) 19:42:24.03 ID:FoJmRZeZ
Backup?

BackUp?
435 :
2016/11/26(土) 02:35:18.71 ID:bM77xh/N
436 :
2016/11/26(土) 06:52:26.50 ID:pZYy6q7Y
>>435
ほえー、backup = バックアップ で染み付いてるから
Traffic is backed up for three miles.
なんて見たらはあ?ってなるな

とか思ってたらGoogle翻訳もはあ?ってなってた w

> トラフィックは3マイル分バックアップされます。

Yahoo 翻訳だとまともなのになんでだろ?
最近導入したAIの弊害か?

> 交通は、3マイル渋滞します。
437 :
2016/11/26(土) 08:32:36.21 ID:bM77xh/N
>>436
UpperCamelcase は単語単位で命名されるので、"back up" なのか "backup" なのかが判断材料になる
438 :
2016/11/26(土) 11:07:43.20 ID:Pcz+IOdC
よくある質問、お問い合わせ、フィードバック
などのコントローラーのディレクトリ名はどのような名前がいいでしょう

Controllers/Support ?
439 :
2016/11/26(土) 12:56:34.14 ID:laDp/8E1
>>438
そっちの分野まったく知らんので適当
っていうかなんかスレの趣旨と違うような気もする

後から見てより分かりやすい木構造はSupport/Controllerの方だと思う。
複数形にするかどうかはお好みで
440 :
2016/11/26(土) 16:25:28.10 ID:cFmpK3Dq
Customerもありかなあ
441 :
2016/11/27(日) 15:43:07.47 ID:dZuXkYGJ
>>436
Google翻訳はユーザーフィードバックの影響が大きいからね
日本語→外国語はアニメ台詞の影響を、英語→日本語は英語の読めないITドカタの影響を強く受けている傾向がある
442 :
2016/11/27(日) 16:32:20.33 ID:TUh1xXZg
どんな被害妄想だよw
そんな訳あるかw
だいたいスレ違いだ
443 :
2016/11/29(火) 21:56:12.39 ID:KdW4ujJQ
フォトIDの配列変数名は

photosId
photIds

どちらがいいでしょう
444 :
2016/11/29(火) 22:22:32.75 ID:8C27YYsq
アップルペンの配列がapplespenじゃないのは確かだ
445 :
2016/11/30(水) 01:30:50.29 ID:sO/ROCng
photo_ids
446 :
2016/11/30(水) 04:54:01.32 ID:Hf1AxjDJ
IdsにするかIDsにするか迷う
447 :
2016/11/30(水) 06:46:57.62 ID:JLGr4M6X
>>446
1語 identity の略なら Id、2語 i 何とか d 何ちゃらの略なら ID だ。
448 :
2016/11/30(水) 08:31:03.20 ID:06/5C/mF
>>443
前者 photoが何枚かあってそれぞれにIdがある
後者 photoは1枚でそれにIdが複数ある
449 :
2016/11/30(水) 21:22:25.25 ID:byVi02oM
>>448
PhotosID : photoの集合に対する1つのID
PhotoIDs : "PhotoID"の集合

こうじゃないか?
450 :
2016/11/30(水) 21:58:01.27 ID:a1CuXFtp
>>449
そう思う
451 :
2016/11/30(水) 23:36:54.61 ID:gQumH8bj
ちなみにphotoの集合に対するIDの集合は
PhotosIdsでOKですかね?
452 :
2016/11/30(水) 23:51:22.87 ID:y2jQ/DIV
PhotoSetIDsとかの方が無難だと思う
453 :
2016/12/01(木) 00:02:51.76 ID:6vJxVA1f
photoIDArrIDArr
454 :
2016/12/01(木) 00:08:05.42 ID:MlSLrfWA
うむむむむ
455 :
2016/12/01(木) 02:31:32.22 ID:giEswoT2
>>447
言いたいことは分かるが、Microsoftだったかどこかの命名規約だと
IDは大文字だったりするんだよな
見たのだいぶ前なので今は違うかも知らんけど
456 :
2016/12/01(木) 20:04:09.18 ID:wkCVFNfo
「参加中のグループの通知を購読するかどうか」
というbooleanを格納する変数名はどのようなものがよいと思いますか?

mysqlのテーブル名にも使用する予定です。

subscribe_notify …とかはどうでしょう
457 :
2016/12/01(木) 20:15:50.85 ID:KXP3Jsth
購読するならサブスクライバーを生成する
しないならサブスクライバーを削除する
フラグは使わない
458 :
2016/12/01(木) 20:31:25.36 ID:wkCVFNfo
>>457
申し訳ありませんがそういう設計ではないです
459 :
2016/12/01(木) 20:36:58.62 ID:MZtsAhZY
>>457
購読→生成 わかる
しない→削除 わからん
削除される奴はいつ生成されたんや
460 :
2016/12/01(木) 20:53:43.18 ID:cvCPUZP4
subscribe_notifyでええのとちがうの?
461 :
2016/12/01(木) 21:17:27.93 ID:PUW72udf
Notifyって動詞じゃないの?w

Win32APIにRegisterDeviceNotificationってのがあったけど
それをもじってRegistersGroupNotificationとか。

実際の実装がイベントを購読するかどうかを決定するんじゃなくて
単に無視するかどうかを決定するだけであるなら、論理は反対になるけど
IgnoresGroupNotificationとか
462 :
2016/12/01(木) 21:32:32.46 ID:MZtsAhZY
WM_NOTIFYってのがあってな
463 :
2016/12/01(木) 21:40:47.65 ID:1Xdv8XqE
Ignoreみたいな否定的な意味合いの名称は
よっぽどの理由がない限りは二重否定の除去の観点からお勧めしない
464 :
2016/12/01(木) 21:44:05.10 ID:PUW72udf
二重否定って意味わかって言ってる?w
465 :
2016/12/01(木) 21:47:02.61 ID:MZtsAhZY
not に見えたとか?
tifyってなんやねんってなるがw
466 :
2016/12/01(木) 22:11:11.15 ID:NHXaAvDm
何言ってんだこいつ
467 :
2016/12/02(金) 01:39:29.84 ID:Zj5y44Q+
例えばOPEN/CLOSEのパターンはあるときに
変数名を isOpened にするかそれとも isClosed にするかみたいな話で、
人間の感覚的にtrueに近い前者のほうが好ましい、みたいな意見はよく聞く。

ignoreもそれに似た印象を持つ単語だよね、って話かしら?
468 :
2016/12/02(金) 05:39:49.14 ID:+ocxhyeH
>>466
何と何で二重否定なのか言ってみな
469 :
2016/12/02(金) 08:49:31.38 ID:7VByTnYi
俺も>>467を連想した
「変数 Ignore に false を代入して二重否定」の意かもしれんが、言葉足らずな感はある
470 :
2016/12/02(金) 08:54:25.22 ID:+ocxhyeH
基本Aである条件でBならisB
基本Bである条件でAならisA
って意見も見る
471 :
2016/12/02(金) 12:52:15.55 ID:4/nN0nxx
>>462
そりゃメッセージだから動詞でいいわな
472 :
2016/12/02(金) 12:57:20.15 ID:4/nN0nxx
>>467
そもそも質問者は普通に
> 購読するかどうか
としか言ってないのに、ignore〜 とかいきなり言い出す奴がおかしい
473 :
2016/12/04(日) 11:58:09.74 ID:W7gPj0hX
Haskell で次の定義の関数 f に名前を付けたいと思います。

f :: Either a b -> Either a b -> Either a b
Left _ `f` e = e
e `f` _ = e

つまり、(Right x) `f` (何か Either) ならば左側の Right x の値に、
(Left x) `f` (何か Either) ならば右側の Either 型の値になる関数です。

想定している主な使い方としては、成否を Either 型の値で返す関数を2つ(以上)並べ、
最初の関数が成功したらその値を、失敗したら次の関数の値を使うことです。
(Monad の >>= はこの意味としては逆のことを行ってしまうので)

また、この使い方は関数を左から右へ並べることを想定しています。
その方が多くの場合でプログラムソースが読みやすいからです。

私は、failedThen を考えました。
f `failedThen` g という使い方です。
しかし、違和感が無い訳ではないです。(意図は分かってもらえるかも知れませんが)。

もしこれが、関数を右から左へ並べる使い方なら、
g `ifItFailedThat` f とでも名付ければ自然なのですが。

もし、私の考えた failedThen では根本的にマズく、
かと言ってより良い案も出てこなければ、 ?>> など適当な演算子を考えてみます。


もしかして、もう標準ライブラリや Hackage のライブラリに同等のものがあるでしょうか?
474 :
2016/12/04(日) 12:45:04.95 ID:li+Y6WiJ
>>473
Haskell まったく知らんので頓珍漢かもしれないけど可変個のEitherを引数にとって
それをチェーンできるってことなら文字通りChainEitherとか
475 :
2016/12/04(日) 12:49:05.06 ID:li+Y6WiJ
こっちが駄目ならあっちで...っていうとfall backなんて言い方もあるけど
これは条件が悪いB案に切り替えるみたいなニュアンスだからこの場合にはあってないよなあ
476 :
2016/12/05(月) 16:55:59.22 ID:3xjBziHl
.NETの型システムで値型はvalue typeで、参照型はreference typeですが。
その値をなんといったらいいでしょうか?
参照型の値(参照値?)でreference value?
値型の値は??
477 :
2016/12/05(月) 17:41:24.55 ID:mcq5odck
>>476
スレ違いのような気もするけど参照型の変数の値は参照(reference)、
値型の変数の値は構造体(structure)または単に値(value)じゃない?
478 :
2016/12/05(月) 17:54:56.37 ID:3xjBziHl
いや、それをメソッド名の名前につけるんでたぶんこのスレでいいと思います。
Structですか。接頭辞つけるならこれですかね。ジェネリック制約の値型の制約でもstructですし。
現状、
public T GetValue<T>(...) where T : class
public T GetValueOrDefault<T>(...) where T : struct
な感じで、全部GetValueほにゃららという感じで名前では値型の値を返すのか、参照型の値を返すのかは
はっきり区別させてなくて、ジェネリック制約で区別してるんですが、
名前でも区別させるとしたら、Valueの前にどんな修飾子つければいいのかなぁと思った次第です。
479 :
2016/12/05(月) 17:59:28.78 ID:3xjBziHl
public T GetReferenceValue<T>() where T : class
public T GetStructValueOrDefault<T>() where T : struct
やっぱ、これは、くどいですかね。
480 :
2016/12/05(月) 18:36:06.82 ID:REUUgwhj
>>479
結果的に何を返すのかで考えればいいと思う

少なくとも
> public T GetStructValueOrDefault<T>() where T : struct
これはわけわからん
481 :
2016/12/05(月) 20:26:11.69 ID:Wk+gfL4y
getClass と getStruct でよくね
482 :
2016/12/06(火) 06:55:20.14 ID:Mt0NZ7F7
>>476
日本語と同じでいいような気がする
> 値型はvalue type
> 参照型はreference type
参照型の値 ⇒ value of reference type
値型の値 ⇒ value of value type

そもそもなんで
> ジェネリック制約で区別してるんですが、
> 名前でも区別させる
なんてことをしたいのかよくわからんけど...
483 :
2016/12/07(水) 15:40:55.18 ID:e90TnsMB
「プレイヤーとの距離」を表すfloat値の変数名って
直訳するとdistanceFromPlayerになるけど、distancePlayerでも通じるかな?
484 :
2016/12/07(水) 16:06:00.05 ID:H14YD2Kg
絶対通じないw
少なくとも俺には理解不能

あと細かいことだけど、fromでもいいけどtoの方がいいと思うよ
485 :
2016/12/07(水) 16:31:34.28 ID:e90TnsMB
>>484
サンクス
「プレイヤーへの距離」ってよりも「プレイヤーからの距離」って
意味のほうが強いからfromを使うよ
本当どっちでもいいと思うけどw
486 :
2016/12/07(水) 19:01:19.71 ID:1Nt4zAoH
普通に通じる。というか、プレイヤーという言葉からしてゲーム系だと思うけど、
config弄れる系のゲームでconfig弄ってると、短い語句から推測するしかないの
ばっかりで、理解できないなら弄るなっていうじゃん。

コードの保守とは性格が違うから同列に論じれないけど、一々説明的な変数
じゃないと保守性が悪いとか理解できないとか言い出したら、コードのアルゴリズム
とかももはや読み取れないんじゃないの?
487 :
2016/12/07(水) 19:12:32.84 ID:H14YD2Kg
ずいぶんお馬鹿な思考回路だねw

普通に考えれば大して長いわけでもない名前をたった4文字節約するのに
見合うコストじゃないはずだけどw
488 :
2016/12/07(水) 19:42:20.78 ID:1Nt4zAoH
いや、「絶対通じないw」なんて言い切るからには、コードを読むのにさぞかし
苦労しまくってるんだろうなって話だよ。別に節約論の話じゃない。
話の本筋は、節約論の話じゃない。これくらい分かってもいいだろうし、
「絶対通じないw」なんてプログラム組めるの?と心配になった訳。

これすら理解できないんだからまあ、お察しだわね。
489 :
2016/12/07(水) 20:04:04.86 ID:H14YD2Kg
のれんに腕押しとはこのことか
むしろバカの壁か

このお馬鹿さんはきっと「プレーヤー距離」という謎の言い回しを見て
即座にそれがプレーヤーからの距離のことだと理解するエスパーなんだろうね。
490 :
2016/12/07(水) 20:05:49.90 ID:H14YD2Kg
っていうか、>>488みたいな思考回路の人間がいるから
世の中には実際クソコードが存在するんだろうな
491 :
2016/12/07(水) 20:30:56.37 ID:u+z4pBYY
>>489
モノ.距離プレイヤー
この単語の並びで想像もつかないってのは考えが固すぎると思う

何を以て『絶対』と言い切ったかは知らないけど多数の考えを統一するのは至難
全員がお前に歩み寄るわけじゃないんだから想像するくらいのことはやった方がいいと思うよ
492 :
2016/12/07(水) 20:49:08.31 ID:hiK/vgiI
>>487のこいつはなんですぐに喧嘩腰になるの??
>>486は普通に反論しただけだろ、おまえも反論すりゃいいだけだろ。
馬鹿だのなんだのは反論じゃなくて喧嘩なんだよ。

おまえ邪魔だからこのスレから消えろ。
493 :
2016/12/07(水) 20:49:49.36 ID:1gCcVPDy
省略しても通じるが、省略するのが適切かと言えば適切ではないし、省略することにあまりメリットはないと思う
494 :
2016/12/07(水) 20:55:17.68 ID:hiK/vgiI
自分の意見への反論=喧嘩
とかなってんの?>>487の頭の中。
友達とかいなくてリアルで議論とかしたことないからそんな偏った思考になってんのか?
495 :
デフォルトの名無しさん
2016/12/07(水) 20:58:29.12 ID:y1gT8eg3
こんなもんdistで十分だろw
496 :
2016/12/07(水) 21:07:39.88 ID:yygFZTd8
>>494
彼は結構前から居着いているバトー君だよ
レスに罵倒する言葉を入れないと他人とコミュニケーションが取れないかわいそうな子なんだ…
仲良くしてあげてね!

ちなみに>>235と同一人物だよ
497 :
2016/12/07(水) 21:08:58.30 ID:1Nt4zAoH
お好み焼き食ってるうちに伸びてるな。
「本筋」が何だったのか最後まで理解して貰えなかった模様。

この調子だと、この世に転がってるソースコードのほとんどがクソコードになるよ。
読んだことないっぽいけど。

> このお馬鹿さんはきっと「プレーヤー距離」という謎の言い回しを見て
> 即座にそれがプレーヤーからの距離のことだと理解するエスパーなんだろうね。

マジで本筋を考えてくれ。理解できるであろう状況と、そうでない状況がある。
なんでも略せといってる訳じゃない。他に似たような変数でもない限り、
このケースでは「絶対通じないw」なんてことないだろ。

これが分からないっていうのなら、既に質問者のfromとあんたのtoとで
全然噛み合ってないし、プレイヤーとの対象が何なのか分からんから
それすら変数名に入れてくれないと本当はダメだろって突っ込んでくれよ。←重要

自分が読めないコードはクソコード、動かないコードはコンパイラが悪い
とかいうジャイアニズムは中学生までだよ。
498 :
2016/12/07(水) 22:18:22.67 ID:hiK/vgiI
>>496
そっか。めんどくせぇやついるな。
こんなやついるといつか自分が巻き込まれるかもしれねぇし。
甘やかさないで徹底的につぶしてつぶして消えてもらった方がいいわw
499 :
2016/12/07(水) 22:30:53.87 ID:H14YD2Kg
>>497
バカの壁の向こう側の人に何を言っても無駄だけど通じないから。

プレバトって番組観てると、俳句のセンセに
「その表現では写真を見ていないお前の俳句の読者に何を読んでいるのか理解できない」
って突っ込まれるバカが毎週いるけど、なるほど背景情報を共有しない他者の視点から
自分の表現がどう見えるかの想像する能力の欠如している人間ってのは結構いるんだなと。
500 :
2016/12/07(水) 22:36:38.22 ID:hiK/vgiI
>>499
自分の表現がどう見えるかより
おまえは自分の事が見えてない馬鹿だろww
501 :
2016/12/07(水) 22:39:35.50 ID:PlHHSD6B
502 :
2016/12/07(水) 22:40:37.90 ID:PlHHSD6B
むしろ、
distance_from_player_to_me
とかの方がわかりやすいと思う。
503 :
2016/12/07(水) 23:48:52.24 ID:1Nt4zAoH
>>499
自己紹介ですか。
知ってましたよ。
504 :
2016/12/07(水) 23:51:28.79 ID:u+z4pBYY
>>499
お前も自分の表現がどう見えるかの想像する能力の欠如している人間だよ
505 :
2016/12/07(水) 23:55:48.59 ID:NRkfX+/1
>>499
指摘されたことに一切反論できてねーなww
オレオレダッテしか言ってないww
506 :
2016/12/08(木) 00:06:45.44 ID:j9WKzOmd
ここで質問するやつは、そのソースコードのメイン読者が誰なのか、
一度じっくり考えような。

読者が書き手自身なら、数ヶ月後の自分が意味を容易に読み取れる変数名にすればいいだけ。
後からリファクタリングで名前をより良く変えることも簡単だ。

GitHub なんかで公開して世界中のプログラマに読んでほしいのなら、
こんな所じゃなく stack overflow とかで訊くべき。
(質問は片言の英語で十分)

会社や同人なんかでチームを組んでるのなら、そいつらがメンテしやすいように、
そいつらをメイン読者としてプログラミングするのだから、
質問もそいつらにすべきだ。

ここで返ってくる質問の答えは、こいつらが理解しやすい変数名だ。
こいつらにアドバイスを求めるということは、
君のソースコードはこいつらがメイン読者だということになるが、
それで本当にいいのか?
507 :
2016/12/08(木) 00:29:08.73 ID:aI8hpPNX
ルールがないから迷ってるんじゃないのかな?

というかここで得た答をそのまま使うかどうかは質問者の選択となる
俺らが見直すこともない

命名においてべき論は難しいのでどうかわかんないけど
少なくとも俺が質問するときは「自分ではこうしよう」ってのを持っておいて良さげな答がでたら採用する
508 :
2016/12/08(木) 00:30:39.96 ID:J7H/KgZW
>>506
>>君のソースコードはこいつらがメイン読者だということになるが

ならないので大丈夫です。
すべての変数名を相談しているわけではありませんし。
お互いの立場や利害関係に関係なく、気軽にやり取りできるのがこのスレの良いところですね。
509 :
2016/12/08(木) 02:08:02.12 ID:0CWIKt/I
>>1のテンプレを>>506まで風呂敷を拡げて、どうやって畳むつもりですかね?
このスレのいいところは、>>508だよ。議論は別スレがちゃんとある。

俺様の考えは絶対だと他者を蔑み粘着しスレを食いつぶすアホが出現するのが問題なだけ。
510 :
2016/12/08(木) 02:16:16.23 ID:ht+cEyPh
>>509
いつも思うけど、どうしてこの手のバカってのは自分が自分を棚上げしてることに気が付けないのかね。
511 :
2016/12/08(木) 02:23:49.39 ID:ht+cEyPh
っていうかねえ、時代はもう80年代みたいな牧歌的な時代じゃない。

覚えることは山ほどあるし毎日毎日読む必要があるコードの量も膨大だ。

舌足らずで表現能力の欠如したバカが何も考えずいい加減につけた名前の意味を
忖度するような無駄な作業に費やす時間なんかねえんだよ馬鹿。

distancePlayerで必要にして十分だと感じるようなセンスの人間はプログラマなんか辞めてしまえ頼むから。
そんな奴は存在するだけで他人に迷惑だ。
512 :
2016/12/08(木) 02:29:22.12 ID:+1kxD5FO
散々論破されて、また自己紹介しに来てるよこの人
513 :
2016/12/08(木) 02:44:33.71 ID:0CWIKt/I
とりあえず「絶対通じないw」に対する反論は見かけましたが、そこからのさらなる反論はついぞ見かけることはありませんでした。
「絶対通じないw」論のさらなる追証などあればまだましでしたが、テレビ番組とか80年代とか全く関係のない内容からの
罵詈雑言というワンパターンしかありませんでした。

プログラムに例えると、処理の途中でいきなりgotoで別処理に飛んでから返ってないけど、飛んだ先で罵詈雑言のサブルーチンだけ
毎回呼び出しているクソコードですよね。
物事を順序立てて冷静に話を進められないというのは、コンピュータ技術者としては致命的ではないでしょうか。
514 :
2016/12/08(木) 02:45:06.56 ID:J7H/KgZW
散々引っかき回したあげく、馬鹿馬鹿と。
子供ですか。見苦しい。

そんな「舌足らずで表現能力の欠如したバカ」みたいな書き込みに賛同する人間はいませんよ。
515 :
2016/12/08(木) 02:57:26.15 ID:KLbX/DWb
テレビ番組と80年代がどうのこうのとか相当なおじさんか。
その年でその拗らせ具合はもうなにしても修正利かなそうだなww
516 :
2016/12/08(木) 08:31:08.82 ID:aI8hpPNX
>>511
この時代に覚えることと言うのはほぼないと思うよ
調べ方を知っておけばいい

自分の考えることだけが唯一の正解だと考えるの人間はプログラマをやる上で窮屈だよ
自分の知識外で素晴らしいコードがあったとしても「見たことない、知らない」で捨ててしまいかねないしね

人の手が介在する以上は同じ動作でも実現方法は多岐にわたるんだよ
プログラムは所詮手段で目的は仕様を満たすことなんだから

俺はまず認めてそこからより良くする方法を考えることが大切と考えてる
517 :
2016/12/08(木) 09:03:38.00 ID:rKlEy3a0
変にプライド高くて拗らせた人は論点で反論できないなら黙っておいた方がいい
518 :
2016/12/09(金) 08:45:25.65 ID:CLppIZfJ
>>485
Google翻訳だと「プレーヤーからの」と「プレーヤーまでの」で from と to を使い分けてるからそれでいいと思う
普通に「プレーヤーとの距離」だと to なのでこだわりがないなら to の方が多いだけ
519 :
2016/12/09(金) 15:24:24.62 ID:Gw2lQ98p
プレイヤーとの距離しか扱わないなら良いけど、AIを改良する過程で
「障害物との距離」とか「目標地点との距離」とかが出てくる見込みがあるなら

それらと統一しやすいネーミングにした方が最終的に綺麗なソースになるよ
520 :
2016/12/09(金) 16:34:50.14 ID:jw2e78fQ
今後このスレで突然相手から罵倒されたら中年にもなってかなり
ひどい拗らせかたをしている>>511で。
521 :
2016/12/09(金) 17:53:31.65 ID:RJofFHYo
いきなりどうした
522 :
2016/12/10(土) 04:07:49.67 ID:ZQIWZdV9
ファイルを削除するメソッドは
file.delete()
file.remove()
どっちが良いですか?
523 :
2016/12/10(土) 09:30:14.26 ID:a7ta86cz
delete
 ゴミ箱へ移動しない削除
remove
 ゴミ箱へ移動する削除
こんなイメージ
524 :
2016/12/10(土) 09:34:14.31 ID:5+0zsndy
それってあなたの感想ですよね
525 :
2016/12/10(土) 09:35:34.02 ID:gzxVJoFa
うっかりミスの予防策 その「削除する」で大丈夫?
ttp://ascii.jp/elem/000/000/061/61346/
526 :
2016/12/10(土) 09:38:31.57 ID:a7ta86cz
>>524
ようタラコ
527 :
2016/12/10(土) 11:05:30.54 ID:sp+WQmJK
自分も>523のイメージあるけど
ファイル削除コマンドはrm(remove)だし、それに倣うのもいいんじゃないかな
528 :
2016/12/10(土) 14:48:02.06 ID:fX2EvT6V
DOSだとファイル削除コマンドはdelだったりする
529 :
2016/12/10(土) 16:35:04.26 ID:sp+WQmJK
それは知らなんだ
530 :
2016/12/10(土) 17:05:39.42 ID:a7ta86cz
でもrmdirってのもある
rm = remove, dir = directory
531 :
2016/12/10(土) 17:52:25.01 ID:hs9d/A1E
ファイルでしょ? unlink でどうぞ
532 :
2016/12/10(土) 18:00:53.53 ID:DT2RbYFq
プロジェクト内で統一されてたらそれで良いよ
例えばハンドラの削除がdeleteならファイルもdeleteで良い
ものによってremoveやdeleteやkillが混在する状況はヒューマンエラーの原因になるからやめろ
533 :
2016/12/10(土) 18:04:33.32 ID:a7ta86cz
>>531
じゃあなんで同じ削除なのに
ファイルはdelでディレクトリはrmdir(remove)なん?
534 :
デフォルトの名無しさん
2016/12/10(土) 18:44:48.84 ID:KhvynHWx
>>522
そのfileはオブジェクトで特定のファイルを指しているのなら
つまりユニークなら、delete()のイメージかなあ
そのfileが主点となるって意味で

remove()って集合の中から条件に合う個体を取り除くってイメージがあるわ
こっちは集合が主点
535 :
2016/12/10(土) 18:49:47.80 ID:nRIDqosR
>>528
検索するとMSDNばかりがHITするな
- Windows … delete
- Linux … remove
なのかな
https://www.google.co.jp/search?q=delete+file
536 :
2016/12/10(土) 20:31:18.19 ID:qBdlzyUd
removeは「取り除く」
unixのrmはディレクトリからエントリを取り除き、参照カウントが0になった時に実体が回収される
名前の通りの動作
537 :
2016/12/10(土) 20:46:22.77 ID:ZO1CBnQ6
非常にバカらしくてよろしいのではないか
538 :
2016/12/11(日) 21:15:29.24 ID:1FPgfLIQ
プレーヤーにある文章を見せて、その文章を一言で表す単語を
選択肢の中からプレーヤーに当ててもらうゲームを作っています。

ただし、初めはプレーヤーには文章のほんの一部しか見せません。
虫食い状態の文章です。
時間とともに、あるいはプレーヤーがもっと公開するよう促すたびに、
文章はだんだんと全容を明らかにしていきます。

そのようなゲームのプログラムにおいて、
文章をどの程度明らかにするかを表す変数の名前を求めています。
この変数にはパーセンテージ、あるいは段階を表す列挙型の値を持たせるつもりです。

自分では disclosure を考えましたが、他にいい名前はありますか。
539 :
2016/12/11(日) 22:19:34.62 ID:2D+8ps50
opened
540 :
2016/12/11(日) 22:25:25.74 ID:m5I0lu5i
PercentageOfSentences
541 :
2016/12/11(日) 22:41:24.71 ID:sV97ytKO
>>538
逆数になるけどMask(ing)Rateの方がわかりやすいと思うよ
542 :
2016/12/11(日) 23:46:03.19 ID:Qa5YNaNs
exposure
543 :
2016/12/12(月) 00:54:47.39 ID:iVZVik7o
revelation
544 :
2016/12/12(月) 08:17:54.32 ID:M4J0Or+6
>>538
mino monta level
545 :
2016/12/12(月) 09:09:32.30 ID:LVmHDCJ2
visible level ?
546 :
2016/12/12(月) 09:12:33.87 ID:3DLogiY3
attack25
547 :
2016/12/12(月) 09:18:55.39 ID:LVmHDCJ2
>>546
そういうのがすっと浮かぶ人羨ましい
548 :
2016/12/12(月) 20:35:58.01 ID:a5NKnxxE
>>539 >>540 >>541 >>542 >>543 >>545
ありがとうございます。
候補に入れて検討したいと思います。
549 :
2016/12/12(月) 22:34:24.64 ID:OFPRaAJW
しれっと544や546をスルーする548有能
550 :
2016/12/13(火) 04:57:56.83 ID:JsDkPkZv
ンフフw
551 :
2016/12/13(火) 14:21:04.68 ID:8V7nvPuP
所有アイテムのなかで、所有者が装備可能なアイテムに、装備可能フラグを立てるメソッド名。
552 :
2016/12/13(火) 14:37:22.98 ID:WedBpF7l
二つ前のスレで装備に関する議論(?)を見た記憶があります
553 :
2016/12/13(火) 14:57:50.28 ID:E6EX/y5F
setEquipable(item)
554 :
2016/12/13(火) 16:40:13.09 ID:3ss0sCS+
Updateフラグ名

余計なお世話だろうけど個人的にはそんなフラグを本当に保持する必要があるのか疑問。
bool PartyChar.IsEquipable(Item item)
みたいなメソッドで十分じゃないの?
ゲーム作ったことないから知らんが
555 :
2016/12/13(火) 17:27:08.29 ID:TnHgDcXm
んなら口出しすんなもしくは設計スレにでもいけ
556 :
デフォルトの名無しさん
2016/12/14(水) 12:23:38.41 ID:7lKTGKR6
設計のコンテキストから命名だけ独立して語る行為がそもそも無意味なんだよな
557 :
2016/12/14(水) 12:41:17.81 ID:cOEKtwbm
意味のあるスレでやればいいのに、無意味なスレで無意味な書き込みを続けるのはなぜなのか
ゲームを作ったこともないのに命名以外に口だししたいのなら、なおさら設計スレへどうぞ
558 :
2016/12/14(水) 12:59:46.60 ID:vNjqrj9e
>>556
その通りだけど、馬鹿にはわからない。
それ以前に、馬鹿が望んでいるのは口汚い応酬であって建設的な議論じゃない。
だから何を言っても無駄。
559 :
2016/12/14(水) 19:03:31.45 ID:ItxoOukr
>>556
それに気づいたなら君はもうここにいるべきではない
卒業おめでとう、さようなら
560 :
デフォルトの名無しさん
2016/12/14(水) 19:38:08.12 ID:jbFnZocx
>>559
いや気づいたのはお前だろ
もっと文脈に即した言葉を選べよ
561 :
2016/12/14(水) 19:52:34.75 ID:ItxoOukr
ひょっとして嫌みだと気づいてないのか? w
562 :
デフォルトの名無しさん
2016/12/14(水) 20:17:28.62 ID:jbFnZocx
>>561
嫌みだとしたらなおさら不適切な表現だという事には気づかん様だな
563 :
2016/12/14(水) 20:23:11.62 ID:Sz6DS640
いちいちウザイわ
文脈とか頓珍漢なこと言ってんじゃねーよ
564 :
2016/12/14(水) 20:26:28.77 ID:t4PtwhLt
英語のSV(オブジェクトのメソッド)はいいけどメソッド名のVOは困るね
アルファベット順に並べるとごちゃごちゃになる
常にSVの連続で命名して欲しい
気持ちはOであっても、OをSと考える

× setEquipable
〇 equipableSet

equipable.Set のドットが省略されてると考える
Equipableクラス作ってSetメソッド作ればいいんだけど、いちいち凝るとかえって煩雑になる場合もあるので

でも equipableIs はさすがに気持ち悪い
Is系は少ないからIs始まりでも困らないという部分もある
それでも鬼のSV主義を貫くのも一興
565 :
2016/12/14(水) 20:41:21.03 ID:vNjqrj9e
前にも書いた気がするけど、boolの変数のことをフラグって呼ぶのはいかにも素人臭いよねw


>>564
質問者の質問の仕方にも問題があるけど、単にフラグを立てるだけのメソッドに
意味なんかないはずだから、実際の動作は恐らく「装備可能ならフラグをセット」
何だと思うよそもそも。
566 :
2016/12/14(水) 23:06:46.04 ID:Ctq1MqKp
ウェブサイトからスクレイピングしてデータを取ってくる処理の名前は何がよいのでしょうか
567 :
2016/12/15(木) 00:28:22.28 ID:kWxFOmtr
スクレイピングでいいじゃん。
568 :
2016/12/15(木) 00:54:52.01 ID:o2A//GfV
(Web)Scraper
569 :
2016/12/15(木) 00:55:50.34 ID:ArFpv1Xp
StealDataFromWebsite
570 :
2016/12/15(木) 01:09:11.40 ID:+0a4slsV
Scrapinger
571 :
2016/12/15(木) 01:13:36.44 ID:a3102Ios
ankipan
572 :
2016/12/15(木) 01:13:39.46 ID:mzSkw9KP
ありがとうございます
しかし将来APIが提供されたらscrapingは適さなく無いですか
573 :
2016/12/15(木) 06:47:52.79 ID:asDQ4HVs
>>572
適さなくなったら、その時にリファクタリングすればいい。
574 :
2016/12/15(木) 07:48:36.75 ID:qALlkluV
取ってきたデータの名前は変わらなくとも
「スクレイピング処理」の部分は今はその名前を付けるしかないような
575 :
2016/12/15(木) 09:11:36.86 ID:aQzuiiGK
>>562
文脈に即した
ってのが既に不適切
576 :
デフォルトの名無しさん
2016/12/15(木) 18:46:03.52 ID:ACgCvCqH
>>575
全く正当なワードなのだが
無理して間違ったレスせんでもいいよ
お前に恥をかかせるのが目的ではないし
577 :
2016/12/15(木) 20:09:13.04 ID:Rg7daUM6
恥を晒すのが目的になってるぞ w
578 :
2016/12/15(木) 20:36:57.50 ID:aQzuiiGK
>>576
恥の上塗りって知ってる?w
579 :
2016/12/15(木) 21:48:28.64 ID:gKwzsp1+
groupListとgroupsListはどっちが正しいの?
あとlistを複数形(lists)にする場合ってあるのかな
580 :
2016/12/15(木) 22:38:02.67 ID:asDQ4HVs
>>579
名詞を修飾するために形容詞的に使う名詞は単数形が一般的で、
group list が正解。

group list の group は list を修飾してるだけなので、
当然そんな list がいくつもあれば複数形になり、
group lists となる。
581 :
2016/12/15(木) 22:52:38.68 ID:gKwzsp1+
>>580
アリガトン
582 :
2016/12/19(月) 17:05:09.25 ID:CasRgeEf
クラス名・変数名ではないのですが、サービス上の用語について助言を願います。

”家電””AV機器””カメラ”というようなカテゴリーが登録されているテーブルがあります。
これらの販売データから最終的に”○○売上””○○販売数””○○客単価”(○○には”家電”などが入る)
などの各カテゴリー別のデータ出力があるのですが、プログラムソース中では category を
使うとしても、帳票タイトルに”カテゴリー別売上表”というような表現だと個人的に違和感がある
というか、これでいいのか?という感があります。
初めて使う素人のおっちゃんおばちゃんに「カテゴリーてなんやねん」とその都度言われそうな気がします。

そもそもカテゴリーという命名自体変でしょうか?
他にいい表現はないでしょうか?

よろしくお願いします。
583 :
2016/12/19(月) 17:16:02.77 ID:3c7S3m0F
>>582
なぜ客に直接聞かないの?
584 :
2016/12/19(月) 19:20:48.52 ID:cKMR0CMn
>>582
種別とか分類でいいんじゃね?
585 :
2016/12/19(月) 20:26:14.24 ID:XWFINrxX
区分がしっくりくるかな
英語ならcategoryでいいと思う
586 :
2016/12/20(火) 06:09:51.61 ID:k/GKM3Dz
category type kind とかの使い分けよくわからんのじゃあ…
587 :
2016/12/20(火) 08:38:01.22 ID:kvfnt0Ie
そもそもなんも知らんおっちゃんだと何を書いてあっても
これなんやねん
って言うだろ...
588 :
2016/12/20(火) 08:48:28.29 ID:ZUtlIjOx
hinsyuでいいよ
589 :
2016/12/20(火) 22:11:14.88 ID:9rBbzLjp
>>586
たしかに
予約語ぽいし
590 :
2016/12/26(月) 10:59:02.33 ID:UVltR1TP
ユーザー1人のハードウェア情報をロードする関数と
複数ユーザーのハードウェア情報をロードする関数があります

それぞれの命名はどのようにすればよいでしょうか?
現在考えているのは以下です

loadHardware(1つ)
loadMultipleHardware(複数)

他の関数(可算名詞)があれば統一性を持たせるために同じようにするほうが良いですかね?

loadProfile
loadMultipleProfiles
591 :
2016/12/26(月) 11:42:10.88 ID:1bhMGPyj
>>590
informationは不可算名詞みたいだけど現実には便宜上
informationsとかinfosで使われてるみたいだから、普通に

loadHWInfo
loadHWInfos

でいいんじゃないかなあ
http://ejje.weblio.jp/content/informations
592 :
2016/12/26(月) 20:49:22.26 ID:m5b62WlK
>>591 でいいと思う
オーバーロード使える言語なら
LoadHardwareInformation(User)
LoadHardwareInformation(Users[ ])
とか
593 :
2016/12/26(月) 20:56:30.43 ID:i5XrEMUf
全部users[ ]でいけるけどね
594 :
2016/12/27(火) 07:16:44.41 ID:CVPZfFKk
>>593
一人の時でもいちいち配列作って渡すとか頭沸いてるのか?
595 :
2016/12/27(火) 07:55:23.65 ID:rB7cPmJg
>>594
どうでもいい
ハードウェア情報のロードといういかにも重そうな処理に比べたら配列生成のコストなんかチンカスにもならん
596 :
2016/12/27(火) 08:18:01.83 ID:9L+IDWA2
好きずきなんだけどさ、俺なら関数増やすより統一しちゃうからね
597 :
2016/12/27(火) 08:21:23.40 ID:CVPZfFKk
>>595
実行時のコストの話じゃないんだが...
598 :
2016/12/27(火) 09:02:09.79 ID:8L1rOpw8
>>594
結果が1つでも複数でも配列で返す関数がWin32APIにあるんだが
599 :
2016/12/27(火) 11:11:30.99 ID:4TgZvdbe
複数ユーザーの情報をロードする関数の処理の中で
1人の情報をロードする関数を呼ぶんじゃないでしょうか(名推理)
600 :
2016/12/27(火) 11:38:41.24 ID:4zW6uVet
(もう設計に口出すの止めようぜ…)
601 :
2016/12/27(火) 12:02:28.15 ID:5V2Eqbgf
>>590
querySelector, querySelectorAll の先行例からとって
loadHardwareInfo, loadHardwareInfoAll
(loadHardware だと認識したデバイスを読んでいるように読める)
602 :
2016/12/27(火) 12:10:21.67 ID:5V2Eqbgf
ちなみに "s" の有無で複数形を分別するのは単数形と誤読しやすいのでお勧めしない
"getElementByTagName" とtypoする人がいるように人間は "s" の有無まで細かく覚えられない人もいる
querySelectorAll を間違える人はいないだろう
603 :
2016/12/27(火) 12:27:40.98 ID:EhN/aLNJ
複数形のsは見落としやすいって意見は分からんでもないけどallってのはどうよ。
明らかに全部じゃないのにw

sが嫌いなら明示的にarrayとかlistとかsequenceにして欲しいね
述語を取るメソッドならallでもいいかもしれんがこの場合は違うんじゃないか。
604 :
2016/12/27(火) 12:29:48.18 ID:z54J35DF
俺はよくeachを使う
605 :
2016/12/27(火) 12:30:13.46 ID:5V2Eqbgf
検索条件を引数に指定するのだから "All" で良いと思うのだが
querySelectorAll も同じだろう
606 :
2016/12/27(火) 12:33:48.18 ID:EhN/aLNJ
>>605
指定するのが検索条件(述語)かどうかは質問者にしかわからんけど、
普通に考えれば違うと思う
607 :
2016/12/27(火) 12:38:38.06 ID:CVPZfFKk
>>598
なぜそんな特定の環境の話を出してきたんだろ...

>>600
すまん
608 :
2016/12/27(火) 13:33:28.22 ID:8L1rOpw8
>>607
> 一人の時でもいちいち配列作って渡す
この状況が頭沸いてると思えるお前が頭沸いてる
609 :
2016/12/27(火) 14:39:45.56 ID:rB7cPmJg
リクエスト一回あたりのオーバーヘッドが大きくて、まとめて複数件処理した方が効率がいいケースはわりと多いだろ
その場合は複数件前提にしといて1件でも複数扱いするのが自然
610 :
2016/12/27(火) 18:02:18.83 ID:CVPZfFKk
>>608
もう引っ込みつかなくなってるやん w

>>609
> その場合は
自分に都合のいい条件をつけて語るのはやめたら?
611 :
2016/12/27(火) 20:09:55.60 ID:iAid9Zsk
スレ違いだけど、個人的には>>592のように両方のバージョンを
用意すべきだと思うが(その方が使いやすいから)>>592の言うように
単純に機能的な面に注目したら重複しているのは確かだから、
汎用性が高い(でも場合によっては使いづらいこともある)バージョンだけを残すって
考え方もありだと思うよ。
612 :
2016/12/27(火) 20:40:18.82 ID:5V2Eqbgf
>>609
どういう状況を想定しているのか詳しく
私が想定したのはこう
loadHardwareInfoAll('UsergroupA')
loadHardwareInfoAll('UserID-A', 'UserID-B', 'UserID-C')
DOMライクに命名するのも有りだとは思うが
loadHardwareInfosByUserIdList(['UserID-A', 'UserID-B', 'UserID-C'])
loadHardwareInfoByUserId('UserID-A')
613 :
2016/12/27(火) 20:42:28.30 ID:5V2Eqbgf
すまん、レスアンカーを間違えた
>612は>606宛のつもり
614 :
2016/12/27(火) 21:02:33.46 ID:iAid9Zsk
>>612
質問者>>590の質問を普通に読めば質問者のいう
「複数ユーザーのハードウェア情報をロードする関数」は
条件を指定するタイプのものではないよね。
615 :
2016/12/28(水) 09:06:38.12 ID:7pmpS3Lt
>>610
結局は複数のユーザー情報をロードする関数も共存してんだから>>594は的外れ
616 :
2016/12/28(水) 11:08:16.20 ID:SigbBlr5
>>614
なぜ?
複数ユーザをどうやって指定するかは解釈の余地があると思うが
617 :
2016/12/28(水) 12:02:53.30 ID:hmpOAOdC
>>616
不毛な議論だけど、それなら最後の3行みたいなことは書かないでしょ普通

条件で対象を検索するメソッドの名前を考えているときに、
対象を直接一つ指定するメソッドの名前との対称性を気にするはずがない
618 :
2016/12/28(水) 19:31:06.23 ID:Ju3swXOY
自分のグループへの加入リクエストを処理(承認、却下、保留など)する関数名はどのようなものがいいでしょう?

manageGroupJoinRequest ?
619 :
2016/12/28(水) 19:40:12.52 ID:hmpOAOdC
>>618
単にjoinでよいのでは?
620 :
2016/12/28(水) 19:42:21.30 ID:CAYWqTUF
>>615
ごめん、半分酔ってるからそのまま言うけど
バカなの?
ヘルパー関数全否定とか笑うしかないんだが w
621 :
2016/12/28(水) 19:45:07.39 ID:CAYWqTUF
>>618
JoinToMyGroup( )
>(承認、却下、保留など)
は戻り値で
622 :
2016/12/28(水) 19:52:37.69 ID:y0tQ1gtV
comeAndJoinUs!()
getOutHere!()
623 :
2016/12/28(水) 20:03:56.42 ID:Ju3swXOY
承認、却下、保留などを処理する前のゲートのような関数なので…
624 :
2016/12/28(水) 20:12:32.61 ID:7pmpS3Lt
>>620
素面の時に流れ読み返して真っ赤になっとけ
625 :
2016/12/28(水) 20:34:12.36 ID:CAYWqTUF
>>623
なら JoinCheck( ) とかでいいと思うけど
> 自分のグループへの加入リクエストを処理(承認、却下、保留など)する
って書いてるのを前処理って思う人はほとんどいないと思うぞ
626 :
2016/12/28(水) 20:36:01.75 ID:CAYWqTUF
>>624
いやいや酔っててもお前のアホさはさすがにわかるわ
てかヘルパー関数には突っ込めないのかよ w
627 :
2016/12/28(水) 21:10:24.17 ID:hmpOAOdC
>>623
要するに、(却下保留なしで)無条件でグループに加入させるプライベートな
メソッド(例えばJoin)が別に存在するから、それと区別する必要があってJoinみたいな
シンプルな名前は使えないって事情?

じゃあRequestToJoinとか
628 :
2016/12/29(木) 00:11:03.00 ID:mdmz+WFY
HandleJoinRequest
629 :
2016/12/29(木) 08:49:22.99 ID:n1YSVjxh
>>626
いや質問者の前提をぶっ壊してる時点で頭沸いてるから
630 :
2016/12/29(木) 08:59:24.40 ID:tMM+nQZ7
handleEvent, handleCommand, handleRequest

handle…としか命名しようの無い関数ってあるよね?
他に良い命名ある?
631 :
2016/12/29(木) 10:39:46.17 ID:5M8EC9cI
>>629
今ごろ何を言ってるんだよ w
632 :
2016/12/29(木) 10:56:19.34 ID:n1YSVjxh
>>631
本題で反論できないなら黙ってた方がいい
633 :
2016/12/29(木) 12:22:34.58 ID:5M8EC9cI
>>632
質問者の前提ってなんの話だ?
配列云々なんて言ってたっけ?
634 :
2016/12/29(木) 12:23:53.79 ID:5M8EC9cI
>>630
Event は Handle がしっくり来るけど他は Process でもいいと思う
635 :
2016/12/29(木) 14:23:31.81 ID:j5Yso27h
>>630
receiveEvent, listenEvent
decodeCommand, parseCommand
636 :
2016/12/29(木) 14:33:44.65 ID:j5Yso27h
っていうか、イベントハンドラはVSのスケルトンみたいにObjectName_EventName
が無難なような気が
637 :
2016/12/29(木) 14:35:06.77 ID:yIVphwuC
>>630
handleは取り扱うって感じのニュアンスだけど、
「取り扱った結果どうしたいのか」が明確ならより適切な動詞を選ぶべき
638 :
2016/12/29(木) 14:45:02.10 ID:tMM+nQZ7
参考になった、ありがとう
639 :
2016/12/29(木) 15:43:03.02 ID:HFU0pAcr
CommandはExecuteCommandでもいいんじゃね。
640 :
2016/12/29(木) 19:26:57.12 ID:d+GoLsta
>>618
>>623
入国管理局の窓口みたいな関数?
加入希望者のリクエストリストがあって
それに対して1つ1つ[認証、却下、保留]を引数に渡して決定していく関数?

加入希望者インターフェース

加入希望者オブジェクトのリスト

入国管理局クラス

加入希望者インターフェイスにJoin()メソッドを持たせて希望者に実行させるみたいな?
加入希望者オブジェクトにStamp()メソッドを持たせて[認証、却下、保留]を決定みたいな?
641 :
2017/01/06(金) 17:30:35.50 ID:5Zt7W/jX
ユーザーの入力値によって検索結果を返す(SQLクエリーをビルドする)
クラスの命名はどうすればよいでしょう?

例えばグループの検索を担うクラスなら「GroupSearchFilter」?
サーチフィルターという言葉は無いと思うのですが、あまり他にしっくり来るのが思いつきません
642 :
2017/01/06(金) 17:40:22.44 ID:ugUrUcmU
単純に
SearchByXXX
QueryByXXX
FindByXXX
FIlterByXXX
こんな感じでよいような気が
643 :
2017/01/06(金) 21:18:30.13 ID:4/FM9ivg
class XxxFinder {
public List<Xxx> Find(XxxFilter filter, int page, int pageSize) {
644 :
2017/01/06(金) 21:58:36.08 ID:S2R5Pk4v
>>641
> 検索結果を返す
>(SQLクエリーをビルドする)
どっちなんだよ...
645 :
2017/01/06(金) 23:04:12.62 ID:5Zt7W/jX
>>644
後者です
646 :
2017/01/06(金) 23:21:34.25 ID:4/FM9ivg
Query XxxQueryBuilder.BuildQuery(XxxFilter filter, int page, int pageSize)
647 :
2017/01/08(日) 12:54:00.78 ID:CipQMnzY
activerecordのクラス名参考にしてはどうだろ
648 :
2017/01/08(日) 14:05:58.52 ID:XDbKIsfA
ActiveRecordとは別物だろこれ
649 :
2017/01/10(火) 21:01:13.13 ID:/JmooP2t
フォロー関係のテーブルを作る時、

フォローしたユーザーIDがfollower_user_idだとしたら、
フォローされたユーザーIDは何が良いと思いますか?

followed_user_idだと曖昧すぎますよね
650 :
2017/01/10(火) 21:05:03.11 ID:z7ojWcoj
フォローしたユーザーをfollowing_user_idにすれば曖昧に見えない
651 :
2017/01/10(火) 21:32:29.27 ID:F5v1Jwso
「followされる人」の意味で「followee」という言葉もあるね
652 :
2017/01/10(火) 22:00:37.51 ID:/JmooP2t
>>651
それは良さげですね
ありがとうございます!
653 :
2017/01/10(火) 22:31:16.24 ID:/JmooP2t
図々しく何度も質問恐縮ですが

・follower_user_id
・followee_user_id
・followed_at

最初は上記カラムでテーブル名をfriendshipsにしようかと思ったのですが、
別途フレンド機能が必要になった場合に、色々とクラス命名等と衝突しそうかなと気づきました

「ユーザーのフォロー関係」を格納するテーブル名で何か良い命名はないでしょうか?

色々調べてみたのですがfollowersなどが多く、「関係」を示す命名としてはちょっと弱いかなと感じましたので
654 :
2017/01/10(火) 23:08:46.40 ID:ld93epow
どういうテーブルかよくわかんないけどfolloweeなんてよく分かんないことば
使うのやめた方がいいと思うよw

普通に考えたらそれは「(誰かによって)followされた者」って意味であって
「○○をfollowする者」って意味じゃないと思うよw

っていうかすでに一部指摘されてるけど、普通はこっちがfollowerで
「○○がfollowしている者(たち)」の方がfollowingでしょ
655 :
2017/01/10(火) 23:21:48.38 ID:/JmooP2t
>>654
>>「○○をfollowする者」って意味じゃないと思うよw

私の文章が悪かったでしょうか?

・follower_user_id(フォローした人)
・followee_user_id(フォローされた人)
という意味合いで使用しています

先ほど知ったばかりですが、例えば「following_user_id」よりも具体性があるかな?と思います
656 :
2017/01/10(火) 23:30:00.52 ID:QtXbSK5c
>>653
Followによる繋がりを表すテーブルという意味でRelationshipとか
ちょっと弱いかな
657 :
2017/01/10(火) 23:30:40.62 ID:ld93epow
>>655
だから、あなたの表現で言えば「フォーローされた人」の方が本来followerで
「フォローした人」はfollowingと表現するのが適切。

ツイッターの公式だってそういう表現になってるよね
658 :
2017/01/10(火) 23:41:00.51 ID:9hDOaePS
followeeでもいいんじゃね。
使われ始めてる造語?らしい。
https://en.oxforddictionaries.com/definition/followee
659 :
2017/01/10(火) 23:43:23.13 ID:9hDOaePS
まぁ、そりゃまだメジャーになってない単語使うと可読性に影響すっけどね・・
660 :
2017/01/10(火) 23:51:06.96 ID:ld93epow
>>658
だからそれは「誰かによってfollowされている者」って意味だってば...

質問者のいう「フォローされた人」っていうのは別の言い方をしたら「私をフォローしている人たち」ってことでしょ。
それはfollowされている者のことじゃない
661 :
2017/01/10(火) 23:54:58.76 ID:F5v1Jwso
英語だけじゃなく日本語も弱かったのか…
662 :
2017/01/10(火) 23:58:23.01 ID:9hDOaePS
つか表現が適切じゃなかったな、俺は別にどっちがどっちとまでは言及するつもりはなかった。
ただfolloweeって造語も使われ始めてるらしいよっていいたかっただけだわ。

ちなみに最近使ったAPIではQitta APIがfollowerとfolloweeを使ってたな。
https://qiita.com/api/v2/docs#%E3%83%A6%E3%83%BC%E3%82%B6
まぁ、日本人が設計したんだろうがから、あれだけど。
663 :
2017/01/10(火) 23:58:28.98 ID:Mu10/Wv/
>>660
なぜそう解釈する?
664 :
2017/01/10(火) 23:59:42.43 ID:ld93epow
>>663
それはどうでもいいから違うち思うなら君の意見をどうぞ。

じゃあ「フォローされた人」ってどういう意味なの?
665 :
2017/01/11(水) 00:07:38.97 ID:5Vr7HXeZ
一応言っておくか。
>>661オマエガナー

質問者の言う「フォローされたユーザー」のフォロー「された」のは私(もしくは主語)であってユーザーの方じゃないよ。
当たり前でしょ。

ついでに言えば、宇宙人にさらわれた人wのことをabducteeって言うことからもわかると思うけど、
eeって接尾語は漢字で言ったら「被」だよ。

だからfolloweeは「(何者かによって)followされた者」って意味だ
666 :
2017/01/11(水) 00:14:05.88 ID:eB2pDyHQ
>>664
たとえば、https://support.twitter.com/articles/166337# (言語を English にして)
ここの「follower」の項の「you」イコール「フォローされた人」だと質問者は考えてると思う。

で、俺もそれに同意見。
667 :
2017/01/11(水) 00:14:39.59 ID:zEBd0K8t
俺があの娘をfollowingしているのはいいとして、followedの方は確かに曖昧だと思う
followed_byなら明らかなんだけど命名に一貫性をも持たせるのが難しいな
668 :
2017/01/11(水) 00:25:20.72 ID:2YNtrSn9
まあ命名の良し悪しについていえば議論になること自体が問題で、いずれにせよ曖昧で紛らわしい命名だな
出てきた中で誤解の余地がないと思われるのは唯一followed_byくらいじゃないか
669 :
2017/01/11(水) 00:38:31.37 ID:5Vr7HXeZ
>>666
それならそんなもってまわった言い方をしなくても、それは「私」のことでしょ。
何を言ってるのかな
670 :
2017/01/11(水) 00:39:44.65 ID:5Vr7HXeZ
>>667
っていうか、私をフォローしている人達はfollowerだってだから。
671 :
2017/01/11(水) 00:56:15.41 ID:eB2pDyHQ
>>669
たぶん、質問者は follower を主語として考えてると思う。

ある人ひとり (X) と、その人をフォローする n 人の人 (Y1, Y2, ... , Yn) がいて、
Y1、Y2 ・・・それぞれが主語なんだよ。

Y1 は X をフォローする

だから、Y1 のことを「フォローしたユーザー」
X のことを受け身表現で「フォローされたユーザー」と言っているんじゃない?

そう考えれば、フォローしたユーザー = follower
フォローされたユーザー = followee
という表現に質問者が納得したのも分かると思うが、どうだろう?
672 :
2017/01/11(水) 07:00:44.50 ID:zEBd0K8t
>>671
分かるけど、そのどちらかが主体としてオブジェクトのメンバ名でそれが出てきたら極めて曖昧だと思うよ
単なる連関エンティティならまあアリ
673 :
2017/01/11(水) 14:15:02.78 ID:E3H+jBtS
ID:ld93epow = ID:5Vr7HXeZ
頭が弱すぎ…
674 :
2017/01/11(水) 14:31:52.43 ID:gkYh8YCT
いつもの負け犬の遠吠えかよみっともない
675 :
2017/01/11(水) 16:10:29.32 ID:v0UJ95G/
>>657
> だから、あなたの表現で言えば「フォーローされた人」の方が本来followerで
> 「フォローした人」はfollowingと表現するのが適切。
>
> ツイッターの公式だってそういう表現になってるよね
なってないよ。

> A follower is another Twitter user who has followed you to receive your Tweets in their Home stream.
followerとは、フォローした人(who has followed you)だって書いてるじゃん。
676 :
2017/01/11(水) 16:24:25.39 ID:gkYh8YCT
>>675
真面目に言ってるなら小学校からやり直した方がいいよ。
>>665

っていうか、たぶんこれネタじゃなくて本人マジなんだろうな。

他人事ながらこんな程度の日本語を誤読しちゃう程の低能で
この不況の世の中の荒波を渡っていかなきゃならない奴は可哀想だわ
677 :
2017/01/11(水) 16:28:37.55 ID:v0UJ95G/
>>676
一体何をどう誤読してると?

まあ、君が書いた文章を間違って解釈されてると感じてるなら、君の日本語能力の方を疑った方がいいと思うけどね。
678 :
2017/01/11(水) 16:32:27.18 ID:gkYh8YCT
>>677
どうせ俺の言うことなんかお前さんのような奴は聞くはずがないから、
黙ってお前さんの周囲の人間に聞いてごらん。

>>649のレスを見せて、この「フォローされたユーザー」という表現はどういう意味だと思うかってね。

しかし重症だな。
こんなのに限って、学校の成績悪かっただろうに自分の頭の悪さに気が付いてない。
679 :
2017/01/11(水) 16:35:16.48 ID:gkYh8YCT
学校の先生でもないのに余計な世話を焼く俺自身に自分でもあきれるが、
一応簡単に説明しておくと、>>649のレスの文脈を考えれば、昨日から言ってるように

フォローされたユーザー
は、
(私が)フォローされた(その)ユーザー

のことだと普通は理解する。
当たり前だろ馬鹿。
680 :
2017/01/11(水) 16:39:44.15 ID:v0UJ95G/
>>679
このスレの君以外は、質問者も含めて全員同じ意見だって事に気づいてね。

> のことだと普通は理解する。
君の普通が世界の普通だとは思わない用が良いよ。

> 649
> フォローしたユーザーIDがfollower_user_idだとしたら、
> フォローされたユーザーIDは何が良いと思いますか?
AがBをフォローしたとき、
フォローしたユーザー = A = follower
フォローされたユーザー = B (followeeと最近では言われることもある)
681 :
2017/01/11(水) 16:40:44.92 ID:gkYh8YCT
>>680
馬鹿につける薬なし、か
682 :
2017/01/11(水) 16:41:12.18 ID:p4WB0UzK
私がフォローされたユーザーって日本語おかしいと感じる
683 :
2017/01/11(水) 16:43:35.58 ID:v0UJ95G/
>>681
反論も追加説明もできなくなっちゃった?
684 :
2017/01/11(水) 16:45:20.43 ID:gkYh8YCT
また一人トンチキが現れたけど、こういうトンチキの世界じゃ、
例えば

飲まされた条件

って表現があったら「条件」っていう抽象名詞が何かを飲まされたって意味になるんだろうねw
悪いけど普通の人は飲まされたのは「私」(または省略された主語)のことだと理解する
685 :
2017/01/11(水) 16:47:37.82 ID:gkYh8YCT
さすがにこのレベルの馬鹿を相手にしても無駄だな。

最初は負けを認めるのが嫌で本当は自分が間違ってるのを承知で
負け惜しみを言ってるのかと思ったけど、どうやらマジモンらしいし。
686 :
2017/01/11(水) 16:48:07.30 ID:P1OrUCj/
>>684
お前の普通はそうなんだろうね

私にフォローされたユーザー
なら理解できる
687 :
2017/01/11(水) 16:48:47.39 ID:v0UJ95G/
日本語ネイティブじゃない疑惑
688 :
2017/01/11(水) 16:57:12.00 ID:gkYh8YCT
>>686
また新しい馬鹿が現れたけど、大元である>>649を読んでからその寝言を言ってるのか馬鹿
689 :
2017/01/11(水) 16:59:23.33 ID:gkYh8YCT
しかし、質問者もまさか日本語の読解レベルで躓く馬鹿が
こうも多いとは想定してなかっただろうねw

昨日から言ってるけど、悪いけどfolloweeとか大笑いだわw
690 :
2017/01/11(水) 17:15:06.58 ID:P1OrUCj/
>>688
もちろん読んだよ

お前と言い合うつもりは全くないので独りで勝手に盛り上がっててくれ
自分の思い込みだけで他人を捌くとこう見えるんだなぁと教えてくれてありがとね
691 :
2017/01/11(水) 17:15:57.24 ID:gkYh8YCT
中学生の頃によく放課後友達に勉強教えてやってたけど、
そういうやアホの子ってのは人がこうやって>>684せっかっく補助線を引いてやってるのに、
その補助線を使って自分の頭でもう一度考えてみるってことをしないんだよねw

ちょうど>>686みたいに
昔を思い出したわ
692 :
2017/01/11(水) 17:17:51.81 ID:v0UJ95G/
>>653
テーブル名は、
・follow_relationship(s)
・follow_assosiation(s)
とか。
followersだと、1対他をイメージするかもしれないから、多対多(連関テーブル)だとわかりやすい名前にするといいよ。

属性名は、
> ・follower_user_id
> ・followee_user_id
> ・followed_at
でいいと思う。

フォローする/されるの関係性もわからないアホはほっとこうぜ。
693 :
2017/01/11(水) 17:26:54.86 ID:v0UJ95G/
followeeとかpgrとかいってる奴もいるけど、結構使われてるみたいだから気にしないで。
https://github.com/search?q=followee&type=Code&utf8=%E2%9C%93
694 :
2017/01/11(水) 17:59:57.45 ID:gkYh8YCT
使われてるかどうかの問題じゃないんだけどねw
元の質問者も呆れてると思うよw
695 :
2017/01/11(水) 18:14:37.31 ID:v0UJ95G/
>>694
もう、何かをほのめかすくらいしか書くこと無くなったか?

まあ、一生こう主張しとけよ。
>「フォローした人」はfollowingと表現するのが適切。
696 :
2017/01/11(水) 18:17:17.47 ID:iTG8I3JH
「馬鹿おじさん」
ID:f1Oob2xq、ID:H14YD2Kg、 ID:ht+cEyPh 、ID:gkYh8YCT

クラス名・変数名に迷ったら書き込むスレ。の名物キャラクター
罵倒の言葉無しでは他人とのコミュニケーションがとれないかわいそうな人間
スレ内を「馬鹿」で検索すると見つかるのは大体コイツ
しかし、自分は煽るわりに煽り耐性は無い模様

今時TVのバラエティー番組(TBS系)を見ていたり(>>499)、>>511の「80年代」発言から結構歳はいっているらしい

現れるとスレが荒れるのはいつもの流れ
皆で仲良くおもちゃにして楽しもうね!
697 :
2017/01/11(水) 18:17:48.59 ID:iNeqQ6ns
>>692
ピボットテーブルの役割もありますので、
無難に「follow_relationships」にしておこうかと思います

どうもありがとうございました!
698 :
2017/01/11(水) 18:30:39.45 ID:gkYh8YCT
>>697
元の質問者の>>694の人?
良かったらどういう意味で「フォローされたユーザ」って書いたのか説明してもらえませんか?
699 :
2017/01/11(水) 18:31:19.61 ID:gkYh8YCT
アンカーミスった>>649
700 :
2017/01/11(水) 18:32:18.52 ID:P1OrUCj/
>>696
お題スレにも遠征してたりするので注意が必要だったりします

罵倒バリエーションの少ない単芝さんは高確率でこのおじさんのような気がします
701 :
2017/01/11(水) 18:37:18.95 ID:iNeqQ6ns
>>698
申し訳ありませんが、私は貴方がどう解釈されたかさえ理解しきれていないと思います

私はただfollower_user_id(フォローしたユーザー)の対義語を探していただけです
702 :
2017/01/11(水) 18:39:18.72 ID:iTG8I3JH
703 :
2017/01/11(水) 18:39:44.10 ID:v0UJ95G/
どういう意味も何も、フォローした・されたユーザがいたとき、「フォローされたユーザ」の意味がわからん、というのがさっぱりわからん。
704 :
2017/01/11(水) 18:41:51.68 ID:gkYh8YCT
いつも思うけど、>>696,>>700みたいな精神勝利法しちゃう奴って
そういう自分が他人からどう見えているかを想像する能力もなければ、
そういうくだらない行動に駆られる自分の動機を自己分析する能力も持ってないのな。

なにより、そのことを自覚する能力もない。
ある意味幸せだよねこういう奴は。
それは動物と同じってことだけど。
705 :
2017/01/11(水) 18:42:24.46 ID:v0UJ95G/
>>696
そういうことだったのね…
もう相手しない
706 :
2017/01/11(水) 18:45:55.70 ID:gkYh8YCT
>>701
え、簡単でしょ

(1) (私を)フォローしたユーザーという意味で言っているのか

(2) (誰かによって)フォローされたユーザーすべてという意味で言っているのか、

(3) それ以外の意味か

これだけの話だよ。
707 :
2017/01/11(水) 18:46:47.44 ID:P1OrUCj/
>>704
繰り返しになってごめんね
お前と言い合うつもりは全くないので勝ち負けとかも一切考えてないんだ

だから絡まないでください
708 :
2017/01/11(水) 18:48:14.33 ID:gkYh8YCT
まあ、精神勝利法でもID:v0UJ95Gみたいに自分が負けていることを
自覚できないより少しはマシか。

少なくとも自分が負けていることは分かってるわけだからな
709 :
2017/01/11(水) 18:49:59.28 ID:mOqhfYH5
つか元の>>649で関係を表すテーブル作りたいっていってんだから、

RDBMSでいいから関係を表すテーブルの作り方をまず勉強しよう。

>フォローしたユーザーIDがfollower_user_idだとしたら、
>フォローされたユーザーIDは何が良いと思いますか?

の「フォローしたユーザーID」ってのは、「私」がフォローしたユーザーのIDじゃないよ・・
フォロー操作を(例えばUIなどから)行った人のユーザーIDだろ。

「フォローされたユーザーID」ってのは、上のフォロー操作でフォローされるユーザー。

主語が「私」とかいってるけど、どういう意味の私なのかしらんが「私」じゃないと思うよ。

だから、ユーザーIDが10のユーザーがユーザーIDが40のユーザーをフォローしたら
follower_user_id followee_user_id
  10          40
って記録するんだろ。
710 :
2017/01/11(水) 18:50:48.34 ID:P1OrUCj/
解決した話題はしまっちゃいましょうね〜
711 :
2017/01/11(水) 18:52:32.64 ID:mOqhfYH5
>>701
だよね。関係テーブル作るんだから、対義語さがしてただけだよね。
だから、主語はどういう意味で使ったのかしらんが「私」?じゃないよね。
712 :
2017/01/11(水) 18:55:04.02 ID:iNeqQ6ns
>>709さんが代弁してくれましたが、

ID10のユーザーが、ID40のユーザーをフォローしたら
follower_user_id 10
followee_user_id 40

という意味で質問しました
713 :
2017/01/11(水) 18:59:29.05 ID:mOqhfYH5
だよね。関係テーブルっていうんだから、それぐらいは普通は想像つく。
714 :
2017/01/11(水) 19:04:41.54 ID:gkYh8YCT
>>712
そうですかそれは申し訳ないw
715 :
2017/01/11(水) 19:28:01.74 ID:8OYVNnvN
要素が重複していないスタックが必要なんですが
どんな名前がいけそうですか?
集合の場合はstd::set、std::multisetみたいな関係が見られますが
今回は集合ではなくてスタックを使いたいのです
716 :
2017/01/11(水) 19:31:48.50 ID:iNeqQ6ns
>>714
こちらこそ誤解させてしまって申し訳ありませんでした
皆さんもお騒がせしてすみません
717 :
2017/01/11(水) 19:38:50.58 ID:iTG8I3JH
>>715
unique_stack
718 :
2017/01/11(水) 20:34:26.06 ID:9JRTsez2
>>715
入れたいもの_stack
尚早な汎用化は悪
719 :
2017/01/11(水) 22:02:19.82 ID:gkYh8YCT
>>715
メソッド名で対応した方がいいような気が
PushIfUniqueとかExclusivePushとか
720 :
2017/01/11(水) 22:05:48.07 ID:gkYh8YCT
全部がユニークであることを保証したいとかの事情なら
クラス名はExclusiveStackとか?
721 :
2017/01/11(水) 22:13:30.05 ID:smqenYWp
>>717
ありがとうございます
実は、一番最初に思いついたのはそれなんですが
スタックがユニークなわけじゃねえよなぁと思って躊躇してしました
でも、名前が短くてシンプルなのは好ましいと思ってます

>>718
ありがとうございます

>>720
超スッキリありがとうございます
もうちょいでNonRedundantStack採用するところでした
名前の短さと意味のハッキリ感がパねえと思います
722 :
2017/01/11(水) 22:27:39.08 ID:mOqhfYH5
>>720
つか、君はまずは暴言吐いた人に謝れよww
それかみんなに代わって俺が君にいってやろうか?みんな優しすぎだろw
723 :
2017/01/11(水) 22:50:59.67 ID:qqZuYUIb
>>716 の大人の対応がすばらしいから、蒸し返さない方がいい気が…
724 :
2017/01/11(水) 22:55:34.82 ID:SOQiv9G3
2chでは暴言は挨拶のようなもの
725 :
2017/01/11(水) 23:25:54.59 ID:7EM+v8fq
今ようやく追いついて全部読んだけど
俺最初から
> ID10のユーザーが、ID40のユーザーをフォローしたら
> follower_user_id 10
> followee_user_id 40
この解釈しか出来なくてID:gkYh8YCTが何を言ってるのか意味が分からんかったw

AがBを雇用する
employer A
employee B

AがBを観察する
observer A
subject B

このパターンしかありえないと思うんだが…
726 :
2017/01/11(水) 23:30:36.36 ID:KleI9fTu
>>725
さわるなさわるな
馬鹿おじさんに「馬鹿」って言われるぞ!
727 :
2017/01/11(水) 23:31:23.21 ID:gkYh8YCT
>>722
暴言については謝らないが、(こちらが先に仕掛けた訳ではないし、少なくともお互い様だからね)
偉そうに主張したことが間違ってたことについては謝りますよ。

皆さん申し訳ない。ごめんなさい。
728 :
2017/01/11(水) 23:40:59.76 ID:mOqhfYH5
>>727
>暴言については謝らないが、(こちらが先に仕掛けた訳ではないし、少なくともお互い様だからね)
そっか、君が先にしかけてないのなら、謝らなくていいよ。
これは俺は先に仕掛けた方が悪いと思ってるので。
なんだ、俺はてっきり先に喧嘩仕掛けた方が間違ってたパターンかと思った。
729 :
2017/01/11(水) 23:45:12.68 ID:mOqhfYH5
ということで俺が>>722で余計な事いったな。
俺も謝っておこう。すまん。
730 :
2017/01/12(木) 01:06:35.11 ID:5f5fDppS
>>727
そうだね
>>654が勘違いして普通とかなんだかんだ言い始めたことだからね
731 :
2017/01/12(木) 01:12:52.78 ID:EIL4AvKT
日付またいだんからもうおしまいにしようぜ。
732 :
2017/01/12(木) 04:32:51.66 ID:tRxoA+fF
うやむやにして良いのか?
"馬鹿おじさん"が現れる度にスレが荒れてるし、この流れ何度目だよ
いい加減うざいわ

どっちが先に仕掛けたとか糞どうでもいいから、
"馬鹿おじさん"はあの異常な暴言レス止めろよ
子供の口喧嘩じゃないんだから
733 :
2017/01/12(木) 08:42:06.37 ID:18dMLK5M
暴言おじさんみたいな方は独りで勝手に盛り上がってくれればいいよ
今回のことでよりよい方向を探してる時にすら自身の勝ち負けを持ち出そうとするような方だってこともわかった

居るのがわかれば非表示にするだけで解決するのでどうでもいい
734 :
2017/01/12(木) 09:09:21.87 ID:nvDvC5lc
そもそも>>654の時点でよーわからんよなw
ld93epowが何を言いたいのかサッパリわからんw
自信満々なのだけは分かるけど
735 :
2017/01/12(木) 10:55:14.86 ID:zvW9UYRy
>>734
> どういうテーブルかよくわかんないけど
というのを見た時点で我々は気づくべきだったのだ。
多対多を表現する連関エンティティの話だということがわかってなかったんだよ。
736 :
2017/01/12(木) 19:24:37.25 ID:0ESfKXE9
なるほどねぇ
737 :
2017/01/12(木) 20:01:54.25 ID:6ONuF79D
caller / callee はよく知られた用語だよな
follower / followeeでわかるぞ
738 :
2017/01/14(土) 14:26:38.10 ID:lzfMabHC
follower/followeeで困るとしたら
たぶんTwitterあたりと微妙に意味が異なるような場合な気がする

followに限らず、「定番の使われ方」があるために
自分の関数名の方を変えるってことはよくあるだろうし
739 :
2017/01/18(水) 13:15:15.03 ID:XrR2JBi4
軽くさかのぼって読み返してみたが、ストリームが云々のときに暴れてたのもこいつか
740 :
2017/01/22(日) 17:39:49.30 ID:WNh7RpDp
各ユーザーが設定できるプロフィール画像?のようなものは、どのように呼ぶのが正しいのでしょうか?

・icon
・image
・picture

Iconだと微妙に意味が違いますかね?
どれが良いでしょう
741 :
2017/01/22(日) 18:29:35.78 ID:w8qlDydn
avatorとか?
742 :
2017/01/22(日) 18:53:06.71 ID:qeXn0RKC
portrait
743 :
2017/01/22(日) 20:44:04.81 ID:WNh7RpDp
>>740
追記します。

ユーザーであればavatarも良いかもしれませんが、グループやチームにも設定できる場合はどうでしょう?
744 :
2017/01/22(日) 20:52:26.80 ID:qeXn0RKC
budge, symbol
745 :
2017/01/22(日) 20:57:37.99 ID:KT1Xbxms
logo とか emblem はどうなんだろ
746 :
2017/01/22(日) 20:59:43.19 ID:iUtHvu6q
>>743
抽象度高すぎてsymbolぐらいしか当てはまらない気がする
emblemだと具体的な写真の場合当てはまらないし、逆にportraitとかでは
紋章とか商標にあてはまらない
747 :
2017/01/22(日) 23:57:07.83 ID:KAhPA/LR
>>740
プログラマがその変数を見た時に、処理を理解するのに
どのような情報がその名前から得られる(連想できる)必要があるか、
ということを考えて名付けた方がいい。

プログラマがその変数が「エンブレムを表す」ことを知っている必要があるのか?
その変数が「アバターを表す」ことを知っている必要があるのか?
それなら、emblem や avatar が最適だ。

そうではなく、その変数が「画像データを表す」ことを知っている必要があるのなら、
image が最適だ。

ユーザーではなく、プログラムを読む人の目線で考えるように。
748 :
2017/01/23(月) 00:21:41.70 ID:kKcE1/h0
>>743
自分でも要件わかってないだろ。
プロフィール画像とは言っても顔だけなのか全身なのかアバター的なやつなのかで全然違いそうだし、
グループやチームに設定できるものとして、実はリーダーのプロフィール画像でしたとかいう場合もあるかもしれない。
画像が1種類しかないとも言ってない。
正しい名前が導けないのは要件が定まっていないからに他ならない。
現状で名前付けるとしたら image1 が最適だよ。
749 :
2017/01/23(月) 00:24:01.30 ID:4eKNVnEB
>>747
十分にユニークか? という観点も重要だ
imageだと後で同じネームスペース内に別の画像が追加されたときに破綻する
750 :
2017/01/23(月) 00:31:54.56 ID:kKcE1/h0
main_image, sub_image, extra_image, extend_image みたいにゆるくいこうぜ
751 :
2017/01/23(月) 06:52:33.92 ID:jz98RT7z
>>749
俺の言ったことで事足りる。

プログラマが処理を理解するという目的でその変数を見た時、
それがただの画像データでなく「の画像データを表す」ことを知らないといけないのなら、
その「」も名前に含めるか、名前ゃ周りの状況から簡単に推測できなければいけない。
752 :
2017/01/23(月) 07:09:34.90 ID:NLajvDpa
「プロフィール画像」→ profileImage
みたいに単純に英訳したような命名じゃだめなのかな?
1単語じゃないとだめな理由でもあるのかな…
753 :
2017/01/23(月) 07:19:09.28 ID:xWlyn6tZ
>>752
それでいいと思う
754 :
デフォルトの名無しさん
2017/01/23(月) 12:30:54.73 ID:za0CrBL5
こういうコーダーを拗らせた奴が勘違いして広まったのが悪名高きシステムハンガリアン記法
あとは言わなくとも分かるよな?
755 :
2017/01/23(月) 19:16:24.76 ID:UroHRMhq
ハンガリアンは型と大まかな意味が伝わるだけでもかなり親切な規約だよ
難読化されてるのかと疑いたくなるようなコードが世の中にはまだ沢山ある
756 :
デフォルトの名無しさん
2017/01/23(月) 19:49:03.23 ID:Wp4CPmuw
条件を満たした場合に真を返すが、
二度目以降は一度条件を外れるまで偽を返す
というクラスを作ったのですが、なんと命名すれば良いか悩んでいます。
何かアイデアがあればお願いします。
757 :
2017/01/23(月) 19:54:44.94 ID:UroHRMhq
曖昧すぎる
s = new StateMachine();
b = s.evaluate();
758 :
2017/01/23(月) 20:06:56.79 ID:tA061N2U
>>756
組み込みなら立ち上がりエッジとか立下りエッジとか言うね

それ自体は条件判定をせず、boolの値をもらって
false→true
の変わり目の時だけtrueを返すようなもののことを言ってるなら
TrueEdgeDetectorとかRisingEdgeDetectorとか
759 :
2017/01/23(月) 20:08:10.52 ID:NLajvDpa
trueKeeper とか。ベタすぎかw
そのクラス、どういう場面で使われるのか書いてくれたら
もっといいのを思いつく人がいるかも
760 :
2017/01/23(月) 20:18:30.43 ID:UroHRMhq
ただのSwitchじゃねーかw
761 :
2017/01/23(月) 20:53:46.77 ID:tA061N2U
あとはOneshotPredicatorとか
762 :
2017/01/23(月) 22:15:44.57 ID:kKcE1/h0
>>756
isTrueJustNow
763 :
2017/01/24(火) 08:28:52.62 ID:1a/rWss8
状態が反転したなら真
StatusTurned
764 :
2017/01/24(火) 09:43:32.08 ID:1a/rWss8
StatusInversionDetectorとか
765 :
2017/01/24(火) 10:48:20.12 ID:1a/rWss8
勘違いしてた、閾値を超えた時に一回だけtrueか
TriggerDetector
766 :
2017/01/24(火) 19:32:18.46 ID:wqAMcCVq
物理でぴったりの現象があった筈なんだが思い出せん
767 :
2017/01/24(火) 20:23:39.85 ID:eNqM6deY
物理?
そんなのあったっけ?

ヒステリシスのこと言ってるなら全然違うよ
768 :
2017/01/24(火) 22:08:47.78 ID:wqAMcCVq
ヒステリシスじゃなくてなんだっけアレ
769 :
2017/01/24(火) 22:17:18.33 ID:1a/rWss8
相転移?
しかし>>756は相転移のたびにtrueではなくて、
条件をはずれて再度満たすまでfalseなんだよね
770 :
2017/01/24(火) 22:18:44.98 ID:1a/rWss8
だからRisingEdgeを検出したらtrueでいいかもしれんね
771 :
2017/01/24(火) 22:20:29.08 ID:eNqM6deY
だいたい、ほとんどの物理現象は連続的な関数で
f(0), f(1), f(2), ....f(n-1), f(n)みたいな数列的というか離散的な現象なんてあるのかな
772 :
2017/01/24(火) 22:44:51.96 ID:Ngnb71D2
そりゃ量子論があるだろ
統計物理も離散的なモデルがたくさん在る
773 :
2017/01/28(土) 13:55:02.60 ID:k+UqYuZl
まさか普通の変数名として piyo を使う日が来るとは思わなかった
774 :
2017/01/30(月) 17:58:05.98 ID:2efA9rmo
「グループを作成したユーザーのID」を格納するカラム名について

crete_user_idにしようかと考えていたのですが、

creation_user_id
created_user_id
のような微妙に違うカラム名も思いつきました。

「グループを作成したユーザーのID」はどのようにすれば適切でしょうか?

また上の微妙な違いについて分かる方いらっしゃいませんか?
775 :
2017/01/30(月) 18:03:10.23 ID:lkKSGNd/
creator?
776 :
2017/01/30(月) 18:10:22.16 ID:yrDzNVLD
このままじゃ何の create〜 なのか分からないけど、暗黙で「グループを作成した」という意味が付くのなら
上記三つの違いに気にする要素ないと思う。
何のグループなのか明確なのであればその名称を入れた方がいいと思う。
777 :
2017/01/30(月) 19:02:31.38 ID:QnUUGoK9
>>774
created_by
778 :
2017/01/30(月) 19:21:06.55 ID:jU5RVmOi
group_owner_id
779 :
2017/01/30(月) 23:09:31.89 ID:2efA9rmo
owner_user_idにすることにしました
ありがとうございます
780 :
2017/01/30(月) 23:12:19.93 ID:Nrv7vZbp
解決したようだが、英語的には created_user_id がしっくりくる
The user_id of the user who created the group.
781 :
2017/01/31(火) 10:32:47.33 ID:Y36a82QW
それを言うなら
The ID of a user who create the group

だよw
782 :
2017/01/31(火) 12:08:07.62 ID:BCkfu50I
それはcreatesでしょ
783 :
2017/01/31(火) 12:31:45.89 ID:BCkfu50I
それに the id ときたら of the user だな
時制も過去でよい
784 :
デフォルトの名無しさん
2017/01/31(火) 12:45:40.99 ID:Qoto7WxW
てか微妙な違いは気にするのにownerとcreateの違いはいいのかよw
785 :
2017/01/31(火) 12:50:09.79 ID:Y36a82QW
>>783
それは日本人英語だよw
786 :
2017/01/31(火) 13:01:23.62 ID:BCkfu50I
>>785
それほんとか?
ググってもof the user, createdのが多いぞ
787 :
2017/01/31(火) 17:34:44.14 ID:Y36a82QW
>>786
特に念頭にある対象でもないものに定冠詞を使うのはおかしい

過去形でもたぶん間違いとまでは言えないけど
具体的な過去のことではなく、抽象的な行為一般の話をしているときに
過去形を使うのは英語的ではないと思う
(日本人はthe goupが存在する時点ではcreateは過去だから過去形だろうと考えるけど、
英語話者は普通そうは考えないんじゃないか)

https://eow.alc.co.jp/search?q=who+make+a+mistake
788 :
2017/01/31(火) 18:05:14.48 ID:SsFPiHsN
>>787
結局見るのは日本人なんだから日本人に伝わればいいと思う
789 :
2017/01/31(火) 19:42:03.27 ID:kkhpQ9R6
主題をIDに置くこと自体が英語的ではない(というか欧米的ではない)ように感じる
欧米っぽくするなら行為主体を明確にしてcreated_by_idかcreator_idじゃないか
790 :
2017/02/01(水) 05:22:15.99 ID:KusZJReO
group API reference
owner_user_id
identifies a specific user who owns the group.
791 :
デフォルトの名無しさん
2017/02/05(日) 01:59:09.52 ID:zezXTZq3
bool値を返すメソッドってisValidとかcontainsとかつけるけど、
クラスメソッドの場合はどうすればいい?
例えばInterger.isPositive(x)って変だよね。
# 正の数かどうかならx > 0とかでいいだろっていうのは例なので気にしないで
792 :
2017/02/05(日) 02:32:36.59 ID:505DmxOH
別に変だとは思わないけど、何を気にしてるんだ…
Don't be negative.
793 :
2017/02/05(日) 02:51:14.45 ID:zezXTZq3
xがレシーバだとxが主語だから違和感ないけど、
xが引数になると、xが目的語になるような英語のほうがいいのかなと思ったんだ
794 :
2017/02/05(日) 03:10:21.61 ID:ZvhECW/O
isXXX(引数) ってよく見るけどな
英文法的にはおかしいけど、boolを返す関数だという分かりやすさはある
795 :
2017/02/05(日) 03:16:27.56 ID:zezXTZq3
結構みんな違和感ないのかな?
書き込んでから考えてて、
Integer.checkPositivity(x)とか、
HogeModel.validate(hoge)とかなるのかと考え始めたんだけど
796 :
2017/02/05(日) 03:20:14.72 ID:myS7jj1C
英語圏でも、違和感あるけど命名規則を統一した方がいいって意見があった
stackoverflowで探せば議論があるよ
797 :
2017/02/05(日) 04:13:54.49 ID:wvO4PFpl
クラスメソッドってクラス名を名前空間的に使うやつだっけ?

それなら「クラス名を主語とした文章にしない」かなあ。
もちろんクラス名なのかインスタンスなのか見て分かるような仕組みが必要だけど。
あとは「疑問形」型の命名でもいいと思う。
798 :
2017/02/05(日) 04:36:19.26 ID:myS7jj1C
こう考えればおかしくない
returns true if the integer is positive.
799 :
2017/02/05(日) 11:55:03.36 ID:wvO4PFpl
>>798
その方法だと文章がおかしくなるって話なのよ。
positiveかどうか聞きたいのは Integer じゃなくて x なわけだし
800 :
デフォルトの名無しさん
2017/02/05(日) 11:59:43.30 ID:5WbgBuL/
お前らみんなコボラーだろw
801 :
2017/02/05(日) 12:43:02.98 ID:8HS86KpH
PERFORM SUCHI_CHECK_B002.
802 :
2017/02/05(日) 13:00:08.30 ID:myS7jj1C
>>799
the integerだよ
その整数が正ならtrueを返す
その整数、つまり引数x
803 :
2017/02/05(日) 13:28:23.23 ID:myS7jj1C
無理やりっちゃ無理やりだが
804 :
2017/02/05(日) 15:43:15.88 ID:zezXTZq3
みんなありがとう
インスタンスメソッドの場合と同じ名前にするっていう意見が多いのね
たしかにクラスはモノそのものじゃなくて種類とかだから
クラスが主語になるのはそれはそれでおかしいのかもだし
805 :
2017/02/05(日) 16:07:41.42 ID:JJBphtlB
IntegerIsPosivive : ISpecification<int> { ... }

var spec = new IntegerIsPositive();

If(spec.IsSatisfied(value)) { ... }
806 :
2017/02/05(日) 17:40:46.59 ID:nRtV/D8r
>>804
クラスもオブジェクトの一種である、っていうのが普通のOOPの考え方だとは思うけどねw

それはともかく、この話題になるとオブジェクトを主語とする英文の動詞をメソッド名にすべきだっていう
原理主義的な人が必ず出てくるけど、それは自分の手足を縛るだけのくだらないこだわりだと思う。

もっと柔軟に、別に引数が主語になるようなメソッド名でもいいし、
現にそれは使われていて混乱も起きてない
807 :
2017/02/05(日) 18:34:05.03 ID:wvO4PFpl
>>802
ああ、なるほど。確かに無理矢理感は残るが、説明はできるな
808 :
2017/02/05(日) 18:50:24.23 ID:zezXTZq3
>>806
モノ、という言い方が悪かった。
オブジェクト指向の文脈でモノ=オブジェクトだわな。

>>797の「クラス名を主語とした文章にしない」に対して、
クラスが概念みたいなものを表す場合には動作の主体みたいに書くと
自然言語としては変な場合もあるからそのほうがいいかもね、というようなことが言いたかった。
809 :
2017/02/08(水) 12:47:06.97 ID:phT3UyOg
$user->follow()
これがフォローするメソッドだとすれば、フォローされるメソッド名はどのようなものが良いと思いますか?

isFollowedByはチェック用として使っているので、それ以外であれば
810 :
2017/02/08(水) 13:26:18.28 ID:QVHu+PfB
受動的というかイベントっぽい感じがするからOnFollowedとか?
811 :
2017/02/08(水) 15:36:31.95 ID:1GvtCO/d
>>809
addFollower
812 :
2017/02/08(水) 20:16:29.71 ID:6Dg3FALd
>>809
> フォローされるメソッド
って何をするの?
813 :
2017/02/08(水) 20:24:43.98 ID:QoBdKQyS
>>811
これ
814 :
2017/02/09(木) 19:05:47.40 ID:m/rQHIL4
silicon_greaseのgrease(グリス)みたいな不加算名詞の複数はどう表現すればいいんでしょう

データベースのテーブル命名で悩んでいます
815 :
2017/02/09(木) 20:47:57.56 ID:wAatsUnZ
>>814
テーブル名ならそのまま grease table でいいんじゃね?
複数入ってるのはわかるし
816 :
2017/02/09(木) 22:32:43.45 ID:OzXksFO3
greases
817 :
2017/02/09(木) 22:55:45.38 ID:2Ay8HMWw
DBのテーブルやカラムは単数形ってイメージあるな
あくまで個人的な感想
818 :
2017/02/09(木) 23:23:50.63 ID:WFUDbJHK
>>817
社員テーブルでもいちいち employees とかしないしな
819 :
デフォルトの名無しさん
2017/02/09(木) 23:59:44.64 ID:W9c8fNbT
うちはシャインズにしてる
820 :
2017/02/10(金) 01:38:25.85 ID:eXuE+DWe
お笑いコンビかよ
821 :
2017/02/10(金) 03:49:01.03 ID:JAXwIh9x
普通の変数は単数形、配列やコンテナは複数形にするって人は珍しくないけど
それはあくまで区別のためで、DBは最初から複数データが入る前提だからってのもあるのかな?
822 :
2017/02/10(金) 03:51:28.92 ID:JAXwIh9x
書き込んでから気付いたわ

DBのテーブル設計上、1つのフィールドに複数のデータを入れなきゃならない場合があって
そういうとき単数形を原則にしておくと、特定のフィールドだけ複数形にできるメリットがあるな
823 :
2017/02/10(金) 07:04:05.80 ID:KfJ87yGf
フィールドはレコード単位で考えることが多いから普通は単数形でしょ
824 :
2017/02/10(金) 07:14:40.33 ID:R8SjjpuZ
>>822
そんな設計はない
825 :
2017/02/10(金) 07:19:15.11 ID:t9i0eRDr
>>824
postgresならありえるんじゃね?
826 :
2017/02/10(金) 07:24:40.17 ID:7mXc6D7Y
ドカタの日常やで
827 :
2017/02/10(金) 21:32:12.68 ID:JAXwIh9x
>>824
「SQLアンチパターン」に、状況次第で使っても良い例として載ってた気がする
828 :
デフォルトの名無しさん
2017/02/10(金) 22:49:22.64 ID:Tmi1uInj
何が良いか悪いかは俺が自分で決める
お前らだってそれでいいんだぜ
829 :
2017/02/11(土) 01:42:14.70 ID:NjUW0EqN
英語の略語は使っていいですよね?
cpuとかclsとか。
830 :
2017/02/11(土) 02:01:43.52 ID:b1Q6karq
いいと思うよ。
ただし意味がどの程度明確か(どの程度普及している略称か)、
あるいは変数の寿命はどれくらいかによる。

例えばCPUは、正式名称にされると逆に分からなくなるタイプの語だろう。
CLSはコンピュータ関連に限っても複数あるらしいので難しいだろう。

逆にどんなマイナーな略語であっても、十分に短い関数の中とかで
cls = new CoolLuckySuteki();
とかなら何も問題ないだろう。
831 :
2017/02/11(土) 12:59:06.83 ID:Z2oJz4Ts
Dim x As Hoge
Set x = New Hoge()

ってあるとしてこれをトークンに分割した時にそれぞれに適当な名前を付けたい
どんな感じがいいだろうか

Dim -> ?
x -> identifier
As -> ?
Hoge -> identifier
Set -> command ? identifier ?
= -> operator
New -> command ? identifier ? operator ?
( -> operator
) -> operator
832 :
2017/02/11(土) 13:11:57.20 ID:ArXTdjPj
>>831
パーサならtoken_dimとかtoken_setのようにそのまんまの名前にするのが普通だと思う
xやHogeはidentifier
833 :
2017/02/11(土) 13:23:19.58 ID:UqEwFB/d
>>831
VB6の仕様書見た方が早いんじゃないの?w
https://msdn.microsoft.com/ja-jp/library/office/jj692818.aspx
834 :
2017/02/11(土) 13:45:24.35 ID:UqEwFB/d
でもVB6はNewする時型名の後に()はつかないよな
https://msdn.microsoft.com/ja-jp/library/office/gg251642.aspx
835 :
2017/02/11(土) 14:18:49.77 ID:VLfM/32P
>>831
> = -> operator
VB 系の言語ならトークンにした段階だと
Let A = B

If A = B
で意味が違うからそこは普通に TokenEqual とかの方がいいと思う
Operator と判断するのは構文解析のあと
また Dim, As, Set 等がキーワードなら >>832 の言うように TokenDim とか KW_Dim とかかな
836 :
2017/02/11(土) 19:00:42.88 ID:NjUW0EqN
>>830
ありがとうございます。
使います。
837 :
2017/02/11(土) 21:38:23.15 ID:IgjSYxMt
構成、組み合わせ、といったものはどう表現するのでしょうか

例えばパソコンのパーツの「OSはこれで、CPUはこれで…」といった組み合わせを、どう変数名にすれば良いでしょう

computer_structure
computer_constitution
だとちょっとしっくりこないし…

computer_recipe
レシピが一番しっくりくるでしょうか

(できれば、Partsという単語は使いたくないです)
838 :
2017/02/11(土) 21:51:53.20 ID:/5e0Kihi
>>837
configuration
839 :
2017/02/12(日) 00:05:00.60 ID:WbUDQsun
>>837
型名じゃなくて変数名?
それってどんな型なの?
まさか文字列?
840 :
2017/02/12(日) 00:11:47.05 ID:QFyd4EUF
>>839
変数名と若干抽象的でしたが、実際にはクラス名やテーブル名でも使われます
841 :
2017/02/12(日) 00:29:45.70 ID:WbUDQsun
Windwosのmsinfo32やsysteminfoで列挙されるような情報を詰める型なら
そのまんまSystemInfoでいいんじゃない?

何にしても話が曖昧すぎると名前つけようがないよね
842 :
2017/02/12(日) 08:44:22.20 ID:H5U2vUxz
configurationが近いと思うけど、結構多義的な語でもあるので
hardware_configurationくらい限定した方がいいかも
843 :
2017/02/12(日) 18:43:37.53 ID:foFsLAUJ
略すならconf? config?
ローカル変数ならcfgでもいいんだろうけど

どうでもいいけどconfigurationのuをいつも付け忘れる
844 :
2017/02/12(日) 18:50:13.70 ID:ashgYgUc
config
.confとかならわかるけど
一般的なプログラムでその2文字を節約する価値がある場合って今はほとんどない気がする
845 :
デフォルトの名無しさん
2017/02/12(日) 18:56:41.66 ID:amMPaDhL
confってのは省略というより今やコンピューター業界の一般名詞になってる
常識の問題
846 :
2017/02/12(日) 19:00:54.66 ID:X3Hv2qUV
>>837
compo_combo
847 :
2017/02/12(日) 19:22:13.26 ID:QFyd4EUF
商品の数量(int)を格納するテーブルカラム名は

・product_amount
・product_quantity
どっちを選べばいいんですか
848 :
2017/02/12(日) 19:24:41.82 ID:QFyd4EUF
>>847
MISTAKE SORRY
849 :
2017/02/12(日) 19:31:16.91 ID:RQ58gzfk
>>847
抽象的すぎる
在庫なのか販売数なのか発注数なのか
それを名前にしたらいい
850 :
デフォルトの名無しさん
2017/02/12(日) 19:37:32.03 ID:amMPaDhL
在庫なのか販売数なのか発注数なのかわからないテーブルって何テーブルだよ
851 :
2017/02/12(日) 20:17:27.96 ID:z9rqQBda
>>845
なってないでしょ
むしろ昔のUNIXやCの時代の悪弊の一例としか思えん
852 :
2017/02/12(日) 20:28:44.11 ID:vM2j5Kno
>>845
config
853 :
デフォルトの名無しさん
2017/02/12(日) 20:30:50.41 ID:amMPaDhL
>>851
そう習ったのかもしれないけど
今でも当たり前に使われているんだよなあ
854 :
2017/02/12(日) 20:36:11.30 ID:IjteT4RE
855 :
2017/02/12(日) 20:36:37.36 ID:RQ58gzfk
それより設定をconfigurationっていうのやめてほしい
そのお陰で>>837の意味で使いづらいんだよ
設定はsettingsがあるんだから出しゃばらないでほしい
856 :
2017/02/12(日) 20:37:04.14 ID:vM2j5Kno
>>853
わざわざ曖昧な単語使うなよバカ
857 :
デフォルトの名無しさん
2017/02/12(日) 20:39:33.59 ID:amMPaDhL
>>856
偉大なる先人達にそれを言ってるのだとしたらバカなのはお前の方
858 :
2017/02/12(日) 20:44:23.89 ID:vM2j5Kno
>>857
どう考えてもお前に言ってるだろカス
859 :
デフォルトの名無しさん
2017/02/12(日) 20:46:38.11 ID:amMPaDhL
>>858
あ、そうなのかw言い慣れてないもんですまんなw
2chて新鮮だね
860 :
2017/02/12(日) 20:55:51.63 ID:yxF5W3i1
861 :
2017/02/12(日) 21:58:56.35 ID:ashgYgUc
>>847
quantity
でも>>849の指摘について先に考えたほうがいい気がする
個人的にはproduct_ってのもちょっと引っかかる
862 :
2017/02/12(日) 23:49:32.56 ID:6Sk2Uqtp
congratulation
863 :
2017/02/13(月) 19:44:14.93 ID:SeGoKVuK
quantityも紛らわしいわ
小麦粉のquantityが500と言われたら500gをイメージしてしまう
864 :
2017/02/13(月) 20:27:27.82 ID:F7tWYx14
quantum
865 :
2017/02/13(月) 21:02:11.50 ID:s/tywzZZ
>>863
それでなんの問題があるんだ?
866 :
2017/02/13(月) 22:21:20.23 ID:tn7uWAuX
>>863
食品パッケージとかに書かれてるのは普通net weightだな
”商品”を扱う文脈で単にquantityと言って内容量を意味するのはかなり特殊だと思う

500gの小麦粉2個セットで1つの商品アイテムとして扱うみたいな状況で
その2個を示す数量ならquantity per setとか
867 :
2017/02/14(火) 16:51:07.77 ID:8Vu7a7JH
fetchProducts(複数)
fetchProduct(単数)

この見分けが鬱陶しいから代替案教えてくれ…
868 :
2017/02/14(火) 17:22:51.99 ID:PdY4D7f4
明示的にArrayとかListとかSequenceとかつける
前も書いた気がする
869 :
2017/02/14(火) 17:33:50.13 ID:8Vu7a7JH
>>868
すまん

なるべく単数のネーミングを変えたいんだが、
fetchSingleProduct以外に良い案あるかな?

eachはあんまりふさわしくないか
870 :
2017/02/14(火) 17:57:31.84 ID:PdY4D7f4
Singleでいいんじゃないでしょうか
一番いいのは>>867のまんま使うことだと思うけどw
Oneとかつけても馬鹿っぽいしUniとかMonoとか混乱するだけだし...
871 :
2017/02/14(火) 18:06:23.39 ID:1QNRYi8s
どっちもfetchProductsで引数変えればいいじゃん
872 :
2017/02/14(火) 18:36:07.85 ID:gfvqdCIF
複数にAllとかの修飾子を付けたほうがわかりやすいじゃ?
単数は見つかった最初の一つなのかキー指定で必ず一つになる条件なのかみたいなのでも変わるし
引数の名前も合わせて考えたほうがいい
873 :
2017/02/14(火) 19:01:01.50 ID:uUAiAa64
Productクラスを作れば、Product.fetch()とProduct.fetchAll()で何も悩まなくて済む。
874 :
2017/02/14(火) 19:32:13.21 ID:KOYliiZd
>>871
そうするなら俺なら fetchProduct( ) にするかな
875 :
2017/02/24(金) 21:54:46.37 ID:KoPUq/lv
fetch get find search
876 :
2017/02/25(土) 00:56:45.74 ID:AAACSty6
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160307/012004.html
Swiftが辞書に載っていない"failable"とかいう言葉を文法用語(failable initializer)に採用した経緯
877 :
2017/03/01(水) 19:27:36.19 ID:PR7YLHWZ
変数名って大事だったんだな
識別子が全部管理用IDで可読不能なシステムに当たってしまった
ほんとどうすればいいんだこれ
878 :
2017/03/01(水) 20:22:58.38 ID:moduTScb
>>877
保守で稼ぐつもりなら有効な方法だよ
それだけで保守工数を大幅に水増しできる上、客を囲い込める
879 :
2017/03/01(水) 20:25:13.66 ID:dbhoX2Op
おとなきたない
880 :
2017/03/01(水) 21:48:41.40 ID:uGJVx5D1
>>877
管理用IDに紐づく名前の辞書をつくってインテリセンス的なもので表示する
もしくは一旦書き換えてビルド時にまた書き戻すような処理を挟む
881 :
2017/03/01(水) 22:24:39.33 ID:tEvJ6jqw
グローバル変数だらけってことかw
882 :
2017/03/02(木) 08:10:29.45 ID:Ht7v5Bb2
スコープごとに識別子が違う可能性も
883 :
2017/03/15(水) 08:10:00.78 ID:wuMjIvih
>>877
ソース盗まれても被害最小限にするように
そんなPJもある
884 :
2017/03/15(水) 17:33:54.86 ID:o+Dr+01e
グローバル複数置換マクロが捗りそう
885 :
2017/03/15(水) 19:17:14.72 ID:vLzxteC2
盗まれたら困るほど大事なソースを保守不能にしてどうすんだよ
886 :
2017/03/18(土) 13:37:00.81 ID:hi52G3un
リストに表示される/されないってどう表現する?
appearsInList?
showsUpInList?

displaysInListだとdisplayが自動詞だし変かも
887 :
2017/03/18(土) 13:37:58.33 ID:hi52G3un
displayは他動詞だった

だからと言って過去分詞にしてwillBeDisplayedInListとは普通はつけまい
888 :
2017/03/18(土) 13:48:32.67 ID:Gq5Dbfze
ListItem.Visible = booleanValue;

名前に迷ったらまず構造を見直そう
889 :
デフォルトの名無しさん
2017/03/18(土) 13:51:18.75 ID:3z3tSwvl
通常はリストに表示されるが、非表示にしたい場合もたまにあるというなら
hidden を使うといいのでは
890 :
デフォルトの名無しさん
2017/03/18(土) 13:53:21.94 ID:8MFf4E1I
test
891 :
2017/03/18(土) 14:11:31.89 ID:hi52G3un
ありがとう
大半は表示するからHiddenで良いかも

Visibleがリスト項目に使われることもあるみたいだし
892 :
2017/03/18(土) 14:19:37.59 ID:6cW+qOXP
>>885
盗まれたら困るほど重要なソースはどれだけコストがかかろうが保守はされるから、
むしろ保守性が低ければ低いほど工数が増えて客から搾取できるんやで
893 :
2017/03/18(土) 14:27:45.52 ID:Gq5Dbfze
>>892
バカだな
国際競争力失って全体が下がるだけ
894 :
2017/03/19(日) 11:07:45.44 ID:7RBNWPmY
Address
Id
ZipCode
都道府県
市区町村
ビル名部屋番号など

下3つの明快で短い英語名は?
895 :
2017/03/19(日) 11:17:15.95 ID:xqSElSFg
>>894
都道府県: Prefecture
市区町村: City
ビル名部屋番号など: Address
あと郵便番号はPostalCodeの方がいい
ZipCodeはアメリカだけの固有名称
896 :
2017/03/19(日) 11:22:50.44 ID:7RBNWPmY
>>895
なるほど
しかしそうすると全体をまとめるAddressとビル名部屋番号などのAddressが被っちゃうね
897 :
2017/03/19(日) 13:31:31.77 ID:VaNXP3pP
>>896
全体のは location にすれば
898 :
2017/03/19(日) 13:34:05.63 ID:A1JGvznu
>>894
CityAndStreet
BuildingAndRoom
こんなところ?
日本語でも英語でも定型的な表現はないような気がする
知らんけど
899 :
2017/03/19(日) 21:37:27.67 ID:Lj5IhMr8
PostalCode
Prefecture
City
Street <―日本はStreetじゃない場合がほとんどだけどよく使う
Building

こういうの参考にするといいと思う
http://stackoverflow.com/questions/310540/
http://www.post.japanpost.jp/int/use/writing/normal_en.html
https://en.wikipedia.org/wiki/Backus–Naur_form#Example
https://en.wikipedia.org/wiki/Japanese_addressing_system
900 :
2017/03/20(月) 11:51:33.86 ID:g7/spbRo
>>877
IDと意味の対応がちゃんと管理されてれば可読だろ
901 :
2017/03/20(月) 12:06:19.58 ID:s7EAfOiy
ユーザーが退会した時のイベントクラス名なんですけど
UserWithdrew で不自然じゃないですかね?
902 :
デフォルトの名無しさん
2017/03/20(月) 12:16:48.09 ID:pi/vFj6F
>>893
大規模案件だと全員に複雑さを
浸透させるのは難しいが
小規模案件で関わる人数少なくて
しかもセキュリティガチガチだと
わざと複雑にさせてるよ。
なんならお前ハックしてみ。できないだろ。
903 :
2017/03/20(月) 12:18:15.18 ID:RgF3Qd7a
FuckingUserIsGone
904 :
2017/03/20(月) 12:22:45.36 ID:e8/iLJpf
>>901
それだとヒッキーになっちゃったみたいだからresignedの方がいいかもね
905 :
2017/03/20(月) 12:27:57.86 ID:RgF3Qd7a
海外のWebサイトで、(メルマガの類じゃなく)Webサービスの登録解除の意味でUnsubscribeを使ってるのを見かけるけど
あれってアカウントは残るけど特定のサービスは外すみたいな意味合いなのかな
906 :
2017/03/20(月) 12:34:39.21 ID:RgF3Qd7a
調べたらSubscribeって金を払うというニュアンスがあるんだな
有料オプションを外すことをUnsubscribeと表現するのはそれでか
907 :
2017/03/20(月) 15:37:14.74 ID:G9+XvfW+
>>901
不自然
イベントなら普通は過去分詞を使うからUserWithdrawnにするけど
UserはWithdrawされるんじゃなくてするほうだからこれも不自然
退会があるなら入会があるわけで入会する対象が何なのかを考えてその名詞を使う

Membership Cancelled
Subscription Cancelled

withdrawみたいな小難しい単語よりも
背伸びせずなるべく簡単な単語を選択したほうがいい
908 :
2017/03/20(月) 16:22:16.52 ID:daiPL7zU
partとかleaveとか、あるいはremoveでも良いかもしらん
909 :
2017/03/20(月) 16:56:41.11 ID:2INk+TQL
>>907
おいおい突っ込みどころ満載だなw

まずちょっと考えれば分かるはずだけど、イベントはGUI部品がユーザーに操作された
場合のような受け身のものだけじゃないし、動作の完了を現すときにいちいち現在完了形
なんか使わないから「普通は過去分詞を使う」なんてことはまったくない。

それから、小難しい表現を使ってるのは君の方だろうww
お前さん、>>901の言ってるような出来事を日本語で「メンバーシップがキャンセルされた」なんて言うのかいww
ターミネーター2のシュワの"affirmative"って台詞みたいだよそれじゃw
910 :
2017/03/20(月) 16:59:27.88 ID:ixIx9fRF
>>907
不自然すぎワロタ
911 :
2017/03/20(月) 17:07:24.98 ID:eVUp3vL+
cancel |ˈkansəl|
verb (cancels, canceling, canceled; British cancels, cancelling, cancelled) [with object]
1 decide or announce that (an arranged or planned event) will not take place: he was forced to cancel his visit.

カタカナ語の語感からも分かるとは思うが、"arranged or planned event"に適用するもんやで
すでに起こって(完了)いることには使わない
912 :
2017/03/20(月) 17:15:12.32 ID:yAii5Tr5
まあmembershipやsubscriptionならcancelを使わないことも無いとは思うけど>>907はアカウントを指すのにuserと言う用語を採用してるっぽいからあまり馴染まんわな
913 :
2017/03/20(月) 17:35:31.85 ID:N/1+9uyT
quit だと変?
914 :
2017/03/20(月) 17:40:16.84 ID:G9+XvfW+
>>909
マジでイベント名に過去形使うのならいくつか例示してみてよ
あとこの文脈の過去分詞は現在完了形じゃなくてuserを修飾する形容詞だぞ

>日本語で「メンバーシップがキャンセルされた」なんて言うのかいww
だからメンバーシップにあたる名詞に何を使ってるか考えろと言ってるじゃん
915 :
2017/03/20(月) 17:43:29.66 ID:s7EAfOiy
Laravelのサンプルだと普通に
OrderShippedとかUserRegisteredとか使ってましたね

自分が疑問に思ったのは過去形云々ではなくwithdrawという動詞が適しているかどうかです
916 :
2017/03/20(月) 17:44:17.68 ID:G9+XvfW+
>>912
「ユーザーが退会した」だからUserWithdrewってしてるけど正確には「ユーザーがXXを退会した」だろ?
そのXXが明確にしたほうがいいよって話でmembershipやsubscriptionを使えって言ってるんじゃないぞ
917 :
2017/03/20(月) 18:50:03.01 ID:eVUp3vL+
例えばユーザーがXXを退会する状況とYYを退会する状況が同一のコードベースに混在しててそれらの区別を明確にする必要があるのってどういうケース?
ああ、StackExchangeみたいなのがあるか……いや、それだとmembershipでも不明瞭なことには変わりないしなあ
一つのmembershipで複数のサービスをunsubscribeする場合? いや、そもそも>>901はそんなこと聞いてないよなあ……
918 :
2017/03/20(月) 18:55:30.32 ID:PJZN3fl9
反語やめい
919 :
2017/03/20(月) 20:37:21.79 ID:5kWf/Ynz
>>914
あのねえ、例えば〜Completedとか〜Finishedとか普通に使うでしょ

後半は、まだそんな寝ぼけたこと言ってるけど普通は>>901が言うように
素直に「ユーザーが退会した」という

○○がキャンセルなんて言わないよ絶対ww
ばっかじゃないの
920 :
2017/03/20(月) 20:44:20.33 ID:G9+XvfW+
>>919
それどっちも過去分詞だよ
さすがに中学校の英語は理解しようか
921 :
2017/03/20(月) 21:06:36.87 ID:5kWf/Ynz
>>920
あーcompleteは確かに他動詞の用法しかないがfinishは自動詞の意味もあるので、
例えばcalculuation finishedは過去分詞じゃなくて過去形

別の例を挙げると、オブジェクトの属性が変わった時の〜Changedは過去形だと解釈するのが普通だろう。
なぜなら値は必ずしも受動的に変わるとは限らないからだ
922 :
2017/03/20(月) 21:19:10.75 ID:G9+XvfW+
>>921
中学英語勉強してね
それはcalculation is finishedを縮めてるだけ
calculationが自分でfinishしたりしない

もしかして>>915の人もOrderShippedとかUserRegisteredとかも
過去形だと思ってるから書いたのかな
923 :
2017/03/20(月) 21:25:40.57 ID:eVUp3vL+
Calculationは自分でfinishできるよ
• [no object] (of an activity) come to an end: the war has finished but nothing has changed.
924 :
2017/03/20(月) 21:44:47.22 ID:5kWf/Ynz
自動詞の用法があるって言ってるのにww
925 :
2017/03/20(月) 21:59:10.86 ID:G9+XvfW+
>>923
ハイハイ、それでその場合のfinishedは過去形なの?
926 :
2017/03/21(火) 01:40:52.61 ID:ceL69wRz
英語苦手なオイラだとwithdrawと言われても分からんかなあ
それこそ中学英語の頻出単語とかでなんとかして欲しい
927 :
2017/03/21(火) 02:19:08.66 ID:jk3eF43Z
っていうかwithdrawって聞いて真っ先に連想するのはsocial withdrawal、つまり引きこもりだなw
928 :
2017/03/22(水) 16:59:47.30 ID:tZY6T4Dk
hogeとかfooとか書いてあるかと思ったらただの英語スレだった
310KB

新着レスの表示

レス数が900を超えています。1000を超えると表\示できなくなるよ。
★スマホ版★■掲示板に戻る■全部前100次100最新50

名前:E-mail: