[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/07 13:31 / Filesize : 268 KB / Number-of Response : 1020
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

クラス名・変数名に迷ったら書き込むスレ。Part27



1 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 08:01:30.20 ID:NOg6ZxxU.net]
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part26
echo.2ch.net/test/read.cgi/tech/1450622191/

82 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 22:30:34.34 ID:Hy0WD3wE.net]
ローカル変数ならpopsでmusicとか省略しても全然問題ないと思うな。
musicよりジャンルに注目してるなら。

83 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 22:33:38.69 ID:vcl3xMBv.net]
ローカル変数なら処理内容が分かりさえすればそれこそpとかでも一向に構わん
だが外に出す変数は命名規則厳守 守らん奴は腹を斬れ

84 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 22:36:49.05 ID:oqbYdZzo.net]
>>80
>>74 に言えよ...

85 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 22:37:39.24 ID:Cqu0mmbT.net]
GetPopsくん伝説のはじまりである…

86 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 22:37:42.74 ID:nbLPSbrD.net]
>>74
それ、例えば「プルダウン式でジャンルを選択して該当する音楽一覧を表示する」処理とかどうする気?
ジャンルの数だけswitch文書いたりするなよ…

87 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 22:48:26.15 ID:Cqu0mmbT.net]
>>85
てめぇGetPopsくんディスってんのか?
musicRepository.GetAnison()とか
musicRepository.GetClassic()とか
musicRepository.GetJazz()とか
musicRepository.GetTechno()とか
こーいうのを当然駆使するんだぜ?
ラクショーで分岐だぜ?

88 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:10:05.72 ID:vcl3xMBv.net]
>>86
OH KUSO

89 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:27:49.63 ID:SHIfRlxP.net]
>>76-78
ジョークにしても笑えないぞ
まさかガチの素人さんだったか?

90 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:33:21.23 ID:SHIfRlxP.net]
>>85
それは
musicRepository.Find(m => m.Genre == selectedGenre)
だろ
入力が可変ならパラメタライズする
決め打ちで取得するなら無様なリテラル文字列など使わずパラメータを隠蔽する
基本中の基本だよ



91 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:35:59.71 ID:SHIfRlxP.net]
もしかしてハードコード版を使うってとこから脊髄反射で逆にパラメタライズ版は使わないって誤認しちゃったのかな?
頭固いねぇ

92 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:36:44.52 ID:Cqu0mmbT.net]
お前がpops言うからみんなリテラルで書いてくれてんだよw
どこに着目してんだお前一人だけ周回遅れやめろw

93 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:39:31.47 ID:115GHNA9.net]
線形探索とか一番ないわ

94 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:40:59.85 ID:SHIfRlxP.net]
>>92
線形探索ってどこから出てきたん?

95 名前:デフォルトの名無しさん mailto:isage [2016/10/21(金) 23:42:03.35 ID:gbFOKPXv.net]
>>93
Findの中身を書いてみ

96 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:46:12.52 ID:SHIfRlxP.net]
>>94
return Music.Where(expression);

97 名前:デフォルトの名無しさん mailto:isage [2016/10/21(金) 23:47:53.74 ID:gbFOKPXv.net]
>>95
次はWhereの中身

98 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:48:45.91 ID:SHIfRlxP.net]
こっちのほうがいいか?
return Music.Where(predicate);

99 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:51:49.18 ID:SHIfRlxP.net]
>>96
そこから先はフレームワークの仕事だ
すぐには書けないよ

100 名前:デフォルトの名無しさん mailto:isage [2016/10/21(金) 23:53:19.16 ID:vcl3xMBv.net]
Linq使うならなおのことGet***は愚行だろ
せっかく自由にジャンルを新規追加できるようにデータを保持してるのに、新規追加のたびにGet***メソッドが爆誕するのは本末転倒

一部のジャンルのみGet***が実装されてるってのも気色悪いし



101 名前:デフォルトの名無しさん mailto:sage [2016/10/21(金) 23:59:09.23 ID:SHIfRlxP.net]
>>99
なんか勘違いしてるがハードコード版をいちいち追加する必要はないぞ
俺そんなこと言ったっけ?
要件で必要になった有用なクエリをカプセル化するんだよ
今の文脈ではGetPopsがそれに該当すると仮定している

102 名前:デフォルトの名無しさん mailto:isage [2016/10/22(土) 00:01:26.99 ID:DAj343hD.net]
>>100
だからそれが気色悪い
自分一人でシコシコ作ってる分にはそれで良いかもしれないが、チームで作る場合には
一部だけしか実装されてないgetとか吐き気がするわ

103 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 00:07:27.80 ID:IweOgR7T.net]
取得時に必ず実行したい処理(ログの掃き出しとかキャッシュの作成とか)を追加しようと思ったときに
Get系のメソッドが複数あると全部に手を加えなきゃいけなくなるから乱立は避けるべきやで

104 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 00:13:54.97 ID:e4+LVHZw.net]
GetPopsくんはお前らより周回遅れだから放置してもええんやで
無理に相手しなくても

105 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 00:55:11.05 ID:tiqhYV+3.net]
>>101
最後は感情論になっちゃうんだ

106 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 01:00:34.32 ID:jx4+pi2S.net]
>>102
そういうのはAOPなどの工夫で解決するべき問題
手で書くなんて時間の無駄はやめること
Getだろうがなんだろうがメソッドがいくつあっても手間にはならない

107 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 01:14:48.18 ID:ms5m8DIE.net]
>>104
感情論じゃあないだろう…
規則性が崩れた実装は混乱の元になる

やっぱりこの子まだまだ経験ないな

108 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 01:21:45.68 ID:iQvw8haZ.net]
いい加減、スレタイとテンプレ読めない奴は命名規則・設計スレでも立ててそっちでやれ

109 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 01:22:14.23 ID:nW+Ca5Fr.net]
>>106
優れた規則性を持っているでしょ?
必要十分なコード書けってだけの話
君のように気に入らないから必要なコードを書かない訳でもないし
使いもしないコードを書く訳でもない
無駄なコードもコードの不足も実装を大いに混乱させるものだよ
君はそろそろ入門書を卒業して実社会でコードに触れるべきだ

110 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 01:27:33.06 ID:aPWQrVEE.net]
>>108
もうとっくに10年以上働いてるわけだが

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

こんなやり取りを延々と続ける気か?



111 名前:デフォルトの名無しさん mailto:isage [2016/10/22(土) 01:35:05.87 ID:ms5m8DIE.net]
>>108
Get***は無駄なコードだよ
汎用性の高いFindがあるなら他は蛇足でしかない
カプセル化するにしてもジャンルを引数で指定してリストを返す取得メソッドが限度だな

112 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:03:39.73 ID:OXRjJseY.net]
>>109
それは管理能力が欠如してるだけ
10年ね

>>110
無駄なものもあれば必要なものもある
パラメタライズされたメソッドを使うか明示的なメソッドによるパラメータの削除を使うか
どちらが常に正しいということはない

113 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:10:12.20 ID:e4+LVHZw.net]
> 明示的なメソッドによるパラメータの削除を使う

ホビープログラマかな?

114 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:12:26.69 ID:WU36rjz+.net]
お前ん中ではそうなんだろうな、ってこういう場面で使うんだろうねw
連想配列で済むものをいちいちGetXXX用意するっていかにもダメグラマが考えそうな設計だねw

115 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:16:18.96 ID:aPWQrVEE.net]
>>111
本来必要のない部分で無駄な管理を発生させてる時点でお粗末な仕事よ

繰り返すけど、お前さんのそのやり方はサンプルプログラムに毛が生えたようなもんをシコシコと一人で作ってる学生の間でしか通用しない

116 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:16:49.75 ID:WU36rjz+.net]
これ繰り返しになるけど、いつもテンプレをコピペして直接命名の話題ではないがそれに関連する
真面目な議論をぶっ壊そうとする馬鹿がこのくっだらないヨタ話に参加してるのは間違いないけど、
どの面下げてやってるんだろうな

117 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:23:40.15 ID:OXRjJseY.net]
>>113
OOPを学ぶことを勧める

>>114
何度も言っているが必要かどうかは場合による


118 名前:示的なメソッドにする価値がない場合もあるし明示的なメソッドにしなかったことによって無駄な管理が増えることもある
プログラマにとってバランス感覚は重要なセンスだ
そしてバランスを取ることを最初から放棄することが最も愚かな選択であることは言うまでもない
[]
[ここ壊れてます]

119 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:30:22.79 ID:/AjGkbek.net]
>>116
明示的なメソッドにするなら最初から全種類明示的なものを用意しなきゃダメだよ

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

このとき、同じ演歌取得なのにFindで取得している箇所とGetEnkaで取得してる箇所が混在することになるか、
Aが実装した箇所を探し回ってGetEnkaに書き換える修正作業が入ることになる
とてもじゃないが綺麗なプロジェクトとは言い難い

120 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:34:22.94 ID:WU36rjz+.net]
OOPw
噴飯ものとはこのことかw

モノホンのダメグラマだなw



121 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 02:47:14.01 ID:eh8upSc0.net]
新卒社員に最初の研修で叩き込むレベルのことすら理解できてない若造が
プログラマを語っちゃってんだからギャグにしか見えんな

122 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 05:05:48.36 ID:nST3ahFj.net]
連想配列でも別に良いっちゃ良いんだけど(もちろん状況によるが)
IDE先生が補完してくれるかどうかが一番の課題よね

変数名やクラス名を付けるときって、
IDEの機能に引っ張られるってこと、結構多いんじゃない?

123 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 05:34:57.07 ID:NzADNRlY.net]
最近質問が少なすぎて、一つの質問で(無意味に)100レス引っ張る傾向がある

124 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 07:44:36.75 ID:DYgWbh/+.net]
リテラル文字列使うセンスは理解できん

125 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 08:22:44.12 ID:LhJjURpJ.net]
>>122
その通り

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

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

dao.findRock();
スッキリしていて読みやすく柔軟
振る舞いが全てクラスに凝集しているオブジェクト指向的良設計
入力補完の回数も少なくてすむ
クールな人はこれを選ぶ

126 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 08:23:25.65 ID:hBp8S2CN.net]
>>120
テキストエディタなら文字列リテラルも補完してくれるけど、IDEは補完してくれないものなのか

127 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 08:36:42.19 ID:DYgWbh/+.net]
>>123
音楽のジャンルだったら俺なら列挙型だな
例えば人の性別程度なら下の書き方にするかもね

128 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 09:16:07.42 ID:gU77zXKz.net]
>>123
foobar2000みたいにジャンルをユーザーが自由に設定できるような場合はどうするの?

www.foobar2000.org/images/img/freedb.png

129 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:17:13.07 ID:Me0jAF9q.net]
リテラルに拘ってるやつがレベル低いとおもうけどなw
GetPops同等のメソッド量産せずに、っていう例でしかないだろ>>76

>>126
ふつうはそう作るよな
ソフトウェア側からは単にユーザの入力文字列としか認識しない
pops = musicRepository.GetPops();
こんなのが出てくる余地はない
出るとしたら
list = musicRepository.Get(inputstr);
この形式しかありえない

130 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:34:42.47 ID:WDS1fqif.net]
>>126-127
なんど同じことを聞くんだ
バカなのか?



131 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:36:19.57 ID:WDS1fqif.net]
>>127
君の狭い世界ではそうなんだろうな

132 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:45:57.22 ID:s+2RjA6Z.net]
言い負かそうとせずにこれ以上は平行線だから終わりってならないのが不思議

133 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:51:00.38 ID:/a8S//3o.net]
>>122
サンプルコードと言うことすら理解できないんだな w

134 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:53:20.14 ID:NzADNRlY.net]
1

135 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 10:58:37.57 ID:/a8S//3o.net]
>>125
ジャンル増減する度にコードに手を入れるの?
法令とか規格で決まっててほとんど変更されないような選択肢なら列挙もあるかもしれないけど

136 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 11:23:09.18 ID:DYgWbh/+.net]
>>133
たかが音楽のジャンル程度なら俺は列挙型だな
自由にユーザーが追加できるようにするならリテラル文字列にするしかないけど

137 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 11:26:00.78 ID:XrOB7U1S.net]
昨日から何度か例に出てる音楽再生アプリだったら特定ジャンルのみ抽出する処理を固定で書く価値は確かにあまりないだろう
しかし例えば音楽ダウンロード販売サイトオーナーの顧客の要望により期間限定でポップスキャンペーン用の特設サイトを新規画面で素早く作りたいといった場合には特定ジャンルの抽出処理を定義済みクエリとして使い回す価値は大きい
こういった様々な状況を想定できず音楽再生アプリでは必要ないから全てが同じように必要ないんだ音楽再生アプリで使うのと同じ形式しかありえないんだと思い込んでしまう浅はかさが素人感を醸し出している
業務でプログラムを書いたことがある人間ならこのような視野の狭い思い込みなどしない

138 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:27:05.54 ID:4bv8Zxei.net]
>>135
もういい加減こんなアホな話やめて欲しいし、そもそも何の話をしてるのかも
いまいちよくわからんが、

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

恐らく(1)を否定する人はいない。
否定されてるのは(2)
こんなの絵に描いたようなダメな奴がやりそうなことだ。

139 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:37:03.46 ID:W/E63lh4.net]
>>136
状況を理解できてないぞ
(1)を否定するバカが少なからず居て粘着しているんだ

140 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:39:53.81 ID:4bv8Zxei.net]
いやいないと思うけど。

まあ「べき」は言い過ぎだった。
よく使う処理をショートカットするメソッドが「あってもいい」。
そもそもメソッドとはそういうものだし。



141 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:41:26.84 ID:NzADNRlY.net]
どうでもいい

142 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 12:44:34.83 ID:nST3ahFj.net]
>>124
お前は何を言ってるんだと言いたいところだが
その辺は全て補完機能の性能によるとしか言えんじゃろ

143 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 13:24:10.25 ID:s+2RjA6Z.net]
どうでもいい(どうでもよくない)

144 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 13:35:00.80 ID:hBp8S2CN.net]
>>140
・補完機能の優秀なIDEに乗り換える
・pluginで補完機能を拡張する
・IDE開発者に追加機能要望を出す

対策はたくさんあるのに何もせず、今使っているIDEにコードを最適化するのは勿体ないと

145 名前:いう話 []
[ここ壊れてます]

146 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 14:19:07.11 ID:JI+4c/sU.net]
>>138
使っても良いではなく使うべき
定義済みの部分集合の要件が変わった時に安全に対処できる

147 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 14:40:57.39 ID:k8mamnQ3.net]
どうでも良いけどfindRockとかfindPopも命名としては悪い
findSMAP(歌手)とかfind80s(年代)とかジャンル以外による検索を追加したときに、検索キーが異なるfind×××がゴチャ混ぜで大量に並ぶことになる

「ジャンルがRock」であることが分かる命名にすべき

148 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 15:16:25.99 ID:nST3ahFj.net]
>>142
それもそうだな。
しかし、連想配列の文字リテラルまで補完できるってのは普通に知らんかった。
言語によるのかしらね。

149 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 15:32:40.56 ID:9XGd15T1.net]
IDEで保管できてもリテラル使って辞書にアクセスとかやめてくれ
自殺者が普通にいるこの業界でそれは殺人行為に等しい

150 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 15:39:36.54 ID:nST3ahFj.net]
>>146
ローカルでしか使わんならそれでもいいけど
そうじゃないなら定数を使って欲しいところね

というわけで適切な定数名を考えよう(スレ的な意味で



151 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 17:03:27.92 ID:/a8S//3o.net]
>>146-147
動的に増やしたい時はどうするんだ?

152 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 17:09:30.19 ID:nST3ahFj.net]
動的に増やしたい場合で、
ソースにリテラルを直接書くことって、あんまり無さそう

もちろん "ID-0042" のような自動生成される文字列はあるにしても
前半だけでも定数化するとかの手段は模索したいなあ

153 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 17:11:57.64 ID:VPAELI2D.net]
この手の話を聞くたびに、後々増える可能性があるものはxmlでもcsvでも構わないから外部ファイルに出しとけよと思う
内部処理はfind(string category)でええわ

追加するたびにコード修正&再ビルドが必要な作りはメンテ性最悪

154 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 17:13:30.29 ID:hmjQA6vV.net]
ほんと、たったそれだけのことなのにな
なぜかメソッドのシグネチャじゃなくて
呼び出し例のリテラル部分にひっかかってる子がいるけど

155 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:12:39.08 ID:PmLwi55w.net]
>>149
まだ言ってるのか、どんだけ周回遅れよ w

> 動的に増やしたい場合で、
> ソースにリテラルを直接書くことって、あんまり無さそう
>>127

156 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:23:40.26 ID:rJrHw2K4.net]
>>150
複雑な業務システムだとオレオレ定義ファイルが複雑化、巨大化してコードよりメンテナンス性が悪くなる
そんなものをメンテナンスするぐらいならハードコードしたほうがまだマシ
モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし

157 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:23:56.20 ID:lAgDZlKo.net]
>>150
ステップ数でお給料が増減する文明圏の人たちになんてことを

158 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:37:34.74 ID:VPAELI2D.net]
>>153
商用なら音楽データの管理なんかそれこそRDBに置くべき案件

ましてや巨大なプロジェクトなら列挙型なんか論外中の論外だわ

159 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:43:34.46 ID:/a8S//3o.net]
>>153
> モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
例えばなに?

160 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:44:10.43 ID:rJrHw2K4.net]
>>155
当たり前だろ
今そんな話はしてない



161 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:45:08.68 ID:rJrHw2K4.net]
>>156
class , interface
基本だろ?

162 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:47:55.55 ID:VPAELI2D.net]
>>157
RDBに置くのにオレオレ定義とかハードコーディングとかアホなのか
所詮カテゴリなんてマスターデータの一種だろ
そんなものをいちいちハードコードするな

163 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:48:50.40 ID:IpUTRyqC.net]
>>152
それはコードが無駄に長くなるだけ

164 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:54:59.13 ID:IpUTRyqC.net]
>>74
getElementsByTagName, getElementsByClassName, getElementById 派

>>76-77
querySelectorAll 派

こんな感じ
応用力が高いのは後者、パフォーマンスが高いのは前者

165 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 18:59:54.45 ID:iLkbIGXh.net]
>>161
それすらないんだよね前者は
彼が主張してんのが
getElementsByGenreだったらそうだろうけど
getElementsPopsだからね

ここには巨大な隔たりがある
型と値の違いがある

166 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:00:02.31 ID:gYvFPuft.net]
マイクロ秒単位でシビアな応答速度が求められるものならまだしも、たかが音楽管理ツールにパフォーマンスを求めたって仕方あるまいて
マシンパワーの1%も使ってないだろう

167 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:03:01.93 ID:gYvFPuft.net]
>>162
ByGenreなら大いにアリだな
getPopsはどう考えても頭おかしい
key-valueで言うところのvalueに紐付けてメソッドを作るとかギャグだわ

168 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:03:46.45 ID:rJrHw2K4.net]
>>159
だから今そんな話してないだろ
増え続けるRDBへのクエリをどう管理するかって話で>>150はファイルで管理をすると言っているがそんなことをするぐらいならハードコードしろと言っている
マスターデータをハードコードとかどっから出てきたんだよ

169 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:05:51.49 ID:x4x3zU66.net]
>>165
マスターの管理は小規模なら外部ファイル、商用ならRDBにしろって話なんだが

RDBを外部ファイルで管理って頭沸いてんの?

170 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:09:18.63 ID:IpUTRyqC.net]
>>162
自分は汎用性と拡張性しか考えてなかった

例えば、>>161で特定の属性名を持つ要素ノード群を得るAPIを拡張したいとする
前者は getElementsByAttributeName を追加し、後者は querySelectorAll で属性セレクタを扱えるように拡張する
特価型APIを増やしていくか、汎用性の高いAPIを一つだけ用意するか、の違い



171 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:10:09.83 ID:IpUTRyqC.net]
特価型→特化型

172 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:10:17.82 ID:rJrHw2K4.net]
>>164
もしかして根本的なところから理解してないのか?
ここでいうGetPopsのPopsとはgenre=="Pops"のmusicのことじゃないぞ
もっとドメインレイヤよりの定義を持った集合にPopsという名前をつけたものだ
最も単純なシステムではたまたま両者は一致するというだけで現実のシステムではそんなに単純ではない

173 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:10:57.24 ID:rJrHw2K4.net]
>>166
だめだ全く理解してない

174 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:14:14.98 ID:2RMhh+15.net]
>>169
getpops本人まだいたのかよ
よくあんなアホらしいもんを思いついたもんだな
うちのアルバイトでももうちょいまともなもん作るぞ

175 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:15:38.57 ID:wVjPdD/+.net]
>>169
>>89を読み直してこい

176 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:16:45.35 ID:yvrzDyTu.net]
↓以下、ゲッポ君の「俺意外全員がバカ、世界のみんなが間違ってる」の主張をお楽しみください

177 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:19:25.85 ID:rJrHw2K4.net]
>>172
いつの話してんだ
話題は常に変化するもの
流れを呼んでこい

178 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:20:25.73 ID:wVjPdD/+.net]
>>174
それお前の中で変化してるだけじゃねーの

179 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:22:51.88 ID:rJrHw2K4.net]
>>173
世界は言い過ぎだけどこのスレ程度のレベルじゃ冗談抜きにその通りだと思うよ

180 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:23:36.80 ID:eh8upSc0.net]
さすがに頭おかしい



181 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:29:20.29 ID:eh8upSc0.net]
特別何かをするわけでもないただのエイリアスを無闇に増やすな

なんて新入社員研修で教えてることなんだが、なんでこんなことでグダグダといつまでも騒いでんだよ

182 名前:デフォルトの名無しさん mailto:sage [2016/10/22(土) 19:29:22.73 ID:rJrHw2K4.net]
>>177
だって君ら書き込みみれば






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef