トップページ⇒tech
1002コメント330KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/10/16(日) 08:01:30.20ID:NOg6ZxxU
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

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

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

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

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


と言う流れ。
全く関係ないが、善意でわざわざ君の質問にレスしてやると、この前の件だかに関して俺は一つもレスしてません。
やけに拘ってるところを見ると、あのくだらない喧嘩の当事者の一人かな?
確かあの喧嘩も日本語や論理のやりとりがおかしかったよな。
0004デフォルトの名無しさん2016/10/16(日) 11:34:54.41ID:m7EkH73x
>>990
>正直、企画連中が使う言葉なんてコロコロ変わるからそれに合わせて命名なんかやってらんない
>
>初期段階では「割引券」機能と言ってたくせに、実装が一通り終わってから「会議で正式名称は『RaCoupon』に決まりました!」なんてさ

モデルは常に進化する
割引券であるうちはクラス名も割引券が正しい
モデルが変化してRaCouponになったらコードに反映させてクラス名をRaCouponに変えるのが正しい
最初にクラス名をDiscountTicketに翻訳してモデルが変化してもそのままDiscountTicketを使い続けるのがモデルを無視した最悪のパターン
0005デフォルトの名無しさん2016/10/16(日) 11:58:17.40ID:8D32iC3X
>>4
名称(仮)
↓
正式名part1
↓ 部長が「語感が悪いから変えろ」ってさ
正式名part2
↓ごめん、商標引っかかってたわ…part1に戻すわ
正式名part1
↓やっぱ部長が嫌がって1と2の折衷案になった
正式名part3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

よくない名前なのは間違いない。
0066デフォルトの名無しさん2016/10/20(木) 23:42:01.97ID:f0mtZhOK
music->pop();

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

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

一部のジャンルのみGet***が実装されてるってのも気色悪いし
0100デフォルトの名無しさん2016/10/21(金) 23:59:09.23ID:SHIfRlxP
>>99
なんか勘違いしてるがハードコード版をいちいち追加する必要はないぞ
俺そんなこと言ったっけ?
要件で必要になった有用なクエリをカプセル化するんだよ
今の文脈ではGetPopsがそれに該当すると仮定している
0101デフォルトの名無しさん2016/10/22(土) 00:01:26.99ID:DAj343hD
>>100
だからそれが気色悪い
自分一人でシコシコ作ってる分にはそれで良いかもしれないが、チームで作る場合には
一部だけしか実装されてないgetとか吐き気がするわ
■ このスレッドは過去ログ倉庫に格納されています