ハッシュ使うのやめてクラスにしましょう

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/06/21(土) 14:23:45.09ID:pvC0Kc9P
ハッシュで使っていいのは、
キーの数が5つ程度まででしょうな。

それより大きなものになると
クラスにした方がいい。

ただの値の塊であるハッシュは
メンテナンス性が悪く変更に弱い。

0070デフォルトの名無しさん2014/06/30(月) 12:29:39.10ID:qldQtFdW
このように入力に対して一連の手順で加工しその結果を出力として返す処理をバッチ処理といいます

0071桃白白 ◆9Jro6YFwm650 2014/06/30(月) 19:42:02.18ID:eTaIRXON
>>70
入力に対して一連の手順で加工しその結果を出力として返す処理をバッチ処理と
仮定してもバッチ処理する考えすら思い浮かばないから静的言語しか出来ないんだ
とのつながりがわからなくない?だからたぶん違うんだと思うよ。

0072デフォルトの名無しさん2014/06/30(月) 22:12:25.51ID:vnwGd8nb
頭の悪い奴はたったの3行でも読みにくい文章を書く
死ねゴミ

0073デフォルトの名無しさん2014/06/30(月) 22:24:54.23ID:CGk8SAom
「バッチ処理とは」で検索

0074デフォルトの名無しさん2014/06/30(月) 22:33:38.79ID:wDbm3UZD
というかお前ら>>67の言わんとしてる事が理解出来るの?

0075デフォルトの名無しさん2014/07/01(火) 00:02:02.33ID:w9GeHa8v
2行目以外は分かるよ

0076デフォルトの名無しさん2014/07/01(火) 01:55:22.99ID:+GO+7q0G
別に一生理解しなくても困らないならいいんじゃないのって思う
周りで誰もやってないならそういうレベルの場所にいるってだけ

0077デフォルトの名無しさん2014/07/01(火) 10:52:15.47ID:WdBXMFPF
バックグラウンド系の話かと思ったが
コマンドのチェーンの方を言いたかったのか

0078デフォルトの名無しさん2014/07/01(火) 19:38:27.91ID:XUFkTk0Y
オブジェクトとハッシュテーブルの区別がない言語もあるのに。
そもそもそれぞれ用途が違うし、どういう文脈の話なの
beanに限った話?クラスがわりにハッシュ使うのやめろって話?

0079桃白白 ◆9Jro6YFwm650 2014/07/01(火) 20:33:51.57ID:zDJRF/6W
>>78
Map<String, String> getPerson() {
 Map<String, String> person = new HashMap<>();
 person.put("name", "たおぱいぱい");
 person.put("bloodType", "O");
 return person;
}

こういうのやめろってことだと思うよ。

0080デフォルトの名無しさん2014/07/01(火) 22:31:35.08ID:KOAQWGzg
>>79
なるほど。やっぱり言語や用途によるとしか言えないね
静的型の場合、ハッシュじゃ型情報が1個になるから基本クラスでいいけど、
メンバを動的に増やしたい時はハッシュになる。JavaのPropertiesみたいに。
動的型の場合は使い分けがあんま分からんね。

0081桃白白 ◆9Jro6YFwm650 2014/07/02(水) 05:37:43.36ID:TNx19tqM
>>80
メンバを動的に増やしたいときってどういうときに必要なの?
リストじゃあかんの?

0082桃白白 ◆9Jro6YFwm650 2014/07/02(水) 06:33:01.28ID:TNx19tqM
>>80
PropertiesはクラスでラップしてるからOKの部類っすよね。
なので、>>80>>7とほぼ同じ考えかと。

0083デフォルトの名無しさん2014/07/02(水) 07:26:42.13ID:+hn9NLnx
>>81
話がまた戻るが速度次第でしょ
キーが多いとか実行環境が遅いとかならリストじゃつらい

そもそもMapなりハッシュMapなりを使う理由の大半は速度だろ?

0084デフォルトの名無しさん2014/07/02(水) 07:33:21.74ID:fO8xTu4u
>>83
速度が必要ないのに、クラスの代わりに使う人がいるんだよ。
定義するのめんどくさ〜いって。
それをどう思う?

0085デフォルトの名無しさん2014/07/02(水) 07:58:51.06ID:+hn9NLnx
>>84
その方がコードが速く書けて仕事が速く終わるというならアリなのかもしれない
仕事の速さも要求されてないのにそんな事してるならタダの物臭

0086デフォルトの名無しさん2014/07/02(水) 08:37:13.22ID:z9ukTCQj
>>81
リストでもいいけど、添え字アクセスになっちゃう
用途の違うメンバを0,1でアクセスしたくない
ハッシュテーブルは連想配列のインターフェースがあるわけで。
>>84
クラス使えでいいよ。ハッシュリテラルでもなきゃ
ハッシュで書いた所で楽にならんし、型チェックも効かないし

0087デフォルトの名無しさん2014/07/02(水) 11:28:26.03ID:0D3KAMsP
クラスに置き換えるべきタイミングの見極めが適切にできて
その作業を確実に素早くできるなら問題ない

まあ単に俺カコイイってだけの自己満臭が拭えないけど

0088デフォルトの名無しさん2014/07/02(水) 12:04:16.14ID:I2GsCX38
後でクラスに置き換える必要が出るなら
最初からクラスつかえや、と思うな
クラスで実現できない部分があるからハッシュ使うわけで

0089デフォルトの名無しさん2014/07/02(水) 13:40:12.80ID:0D3KAMsP
なるほど思い出した
システムハンガリアンで簡易型チェックを組み込んだりしたわ

0090デフォルトの名無しさん2014/07/03(木) 22:07:39.01ID:8qMHD38+
>>1
せめて痛い目を何度か見てからスレ立てろよ

0091デフォルトの名無しさん2014/07/03(木) 23:07:35.61ID:cXWcwOau
つかよっぽど小規模なツールでもなきゃハッシュとか使うな
O/Rマッパー使えよう

0092デフォルトの名無しさん2014/07/04(金) 21:44:22.79ID:U0QsrvM0
JavaScript「連想配列がObjectなワシはどないしたらええんじゃ…」

0093デフォルトの名無しさん2014/07/04(金) 22:26:19.32ID:RlFM+Deh
javascript使うのやめてjavaにしましょう

0094デフォルトの名無しさん2014/07/04(金) 23:28:03.07ID:3CBe3NKw
JavaScriptの仕様は無法もいいとこだが、こうもブラウザで使われてちゃあな。

0095デフォルトの名無しさん2014/07/13(日) 10:43:02.34ID:i1AGG7+J
連想配列よりC#のDataSetのほうが許せん
なんなんだよアレ

0096デフォルトの名無しさん2014/07/13(日) 14:34:22.20ID:9WAtT9iu
配列の配列の連想配列

0097デフォルトの名無しさん2014/07/17(木) 22:02:31.46ID:0zYOxTli
ttp://www.24w.jp/study_contents.php?bid=javascript&iid=javascript&sid=array&cid=005
こういうのとか逆のケース多く感じる
連想配列って紹介してるけどそりゃプロパティだろ
ハッシュっぽくプロパティ指定できるJscriptにも問題あるが

0098デフォルトの名無しさん2014/07/19(土) 06:44:38.73ID:Re2xciNP
>>97
そのページは連想配列っぽい使い方だからおかしくないが

0099デフォルトの名無しさん2014/07/22(火) 11:38:37.63ID:mFr1Tp1w
JAVAがメインな奴って
明らかにズレてるからレスで分かる

0100デフォルトの名無しさん2014/08/02(土) 16:31:24.63ID:fLjR5gdB
Javaしか知らんやつが指示をだすとマジでヤバいからな
プロジェクトが膠着する

0101デフォルトの名無しさん2014/08/03(日) 12:36:17.25ID:H3a6nHDk
kvsとか全部ハッシュやん

0102デフォルトの名無しさん2014/08/30(土) 15:59:30.60ID:MyBDQzwm
連想配列というかメッセージのオブジェクトに連想配列を使うことがあるけど、
流石に数が増えてきたらプロキシオブジェクトを使うよね
単純にそういうことでしょ?

0103デフォルトの名無しさん2014/08/31(日) 04:34:25.60ID:igojaLD4
perlもクラスはハッシュで出来ている。クラスとハッシュは同じものを違う側面からみてるだけ。
定義するのが億劫なだけで、定義さえしてしまえばクラスの方が使い易い。

0104デフォルトの名無しさん2014/09/08(月) 12:27:06.00ID:PdjWIo2x
>>100
き・・・、膠着

0105デフォルトの名無しさん2014/09/16(火) 06:25:04.15ID:vBRAT7SH
インスタンスを配列にするのか

0106デフォルトの名無しさん2014/09/16(火) 21:17:00.65ID:hzlXvld1
    〃〃∩  _, ,_
     ⊂⌒( `Д´) < ヤダヤダ!ハッシュがいい!
       `ヽ_つ ⊂ノ
              ジタバタ

    〃〃∩  _, ,_
     ⊂⌒( `Д´) < クラス使うなんて、ヤダヤダ!
       `ヽ_つ__つ
              ジタバタ

      _, ,_
     (`Д´ ∩ < ヤダヤダ
     ⊂   (
       ヽ∩ つ  ジタバタ
         〃〃

    〃〃∩  _, ,_
     ⊂⌒( つД´) < ヤダヤダ
       `ヽ_ ノ ⊂ノ
              ジタバタ

       ∩
     ⊂⌒(  _, ,_) < ヤダヤダ…
       `ヽ_つ ⊂ノ
              ヒック...ヒック...

       ∩
     ⊂⌒(  _, ,_) 
       `ヽ_つ ⊂ノ  zzz…

0107デフォルトの名無しさん2014/10/29(水) 15:15:37.22ID:jBixlkaY
コンパイラとインタプリタとideが賢くなればいいんじゃね

0108デフォルトの名無しさん2014/11/12(水) 12:51:46.44ID:WLaj3/0V
仕事の速さと実効速度が優先されて、
安全性やらメンテナンス性の犠牲が許されるなら
ハイパースパゲッティワンメソッドコピペプログラミングが一番早かったりするな

綺麗に作ってある部品を取り込もうとするとその流儀にあわせる必要が出るからあわせるが
そういう物がない部分なら綺麗に作るのは先行投資的コストになる

先にコストを払ってハッシュマップやら何やらをラッピングするか
後にコストを払ってバグ修正やメンテナンスに苦労するか
の選択、後者はリスクコストであって確定コストじゃないからかなり軽視さされるけどね

品質低かろうかバレなきゃ直す必要ない?コストかけるなんて無駄?せやね

0109デフォルトの名無しさん2014/11/28(金) 21:36:36.78ID:0L0QhUWo
>>108
コピペするってことはすでに使用されている実績のある
安定したコードがあるってことだ。コピペこそ最高のプログラミングテクニック。
素人にはわからないだろうがな。

0110デフォルトの名無しさん2014/11/29(土) 01:13:52.42ID:LkFcK9EV
そうして無駄な処理が量産されるのだな
かつ、本人もメンテできないという…

0111デフォルトの名無しさん2014/11/29(土) 07:29:28.60ID:tXOkW3nV
>>110
本番運用に入ったら基本触らないからな
実績のある安定したコードだからメンテする必要もない
コピペが悪いというのは自分でコードを書きたい素人が陥る自己満

0112デフォルトの名無しさん2014/11/29(土) 11:28:18.45ID:x5tELjcp
>>111
客観的に判断しようぜw

0113デフォルトの名無しさん2014/11/29(土) 11:31:14.15ID:tXOkW3nV
>>112
は?何を?バカ?死ねよ

0114デフォルトの名無しさん2014/11/29(土) 22:02:58.32ID:BuoDtoGv
.NETの話だがEF知ってればハッシュ使う気にはならない

DataTableは型付も含めて滅びていい

0115デフォルトの名無しさん2014/11/30(日) 07:44:38.10ID:e3kRcK1P
マクロ使って二度書き超絶回避されるよりコピペの方がいいわな
あと本質的に違うものだけどいまは同じ処理をしてるものもコピペの方がいい

0116uy ◆Qawu9.2l1E 2015/11/09(月) 13:51:34.99ID:VP0GkkkJ
ハッシュいらない
リストで良い

:a => 1
[:a , 1]

0117uy ◆Qawu9.2l1E 2015/11/09(月) 14:01:33.32ID:VP0GkkkJ
case
when 1
 関数A(引数a);
 関数C(引数c);
when 2
 関数A(引数a);
 関数B(引数b);
 関数C(引数c);
when 3
 関数A(引数d);
 関数B(引数e);
 関数C(引数f);
end

こんな処理が今あるけど、事実上のコピペしてるな
when 2 , 3 はmapでも良いけど
when 1 に関してのコピペをやめるなら こんな事になる

def f
 関数A(引数a);
end
def f_1
 f()
 関数C(引数c);
end
def f_2_3
 f()
 関数B(引数b);
 f_1()
end

0118デフォルトの名無しさん2018/05/23(水) 22:18:37.63ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

UL2UM

0119デフォルトの名無しさん2018/07/04(水) 23:45:41.78ID:gFgZc5FG
UQQ

0120デフォルトの名無しさん2018/12/17(月) 17:04:41.90ID:p5GausWG
パンケーキソート中

■ このスレッドは過去ログ倉庫に格納されています