TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
mallocの後にfree不要と言うバカいるの?Part2
Javaはもう死んだの?
Java入門・初心者質問スレ Part.7
C/C++以外の推薦図書/必読書のためのスレッド
Vim vs Emacs Part2
0から始める2chブラウザfor超漢字 "2ch de BTRON"
[RPA]PC自動化技術総合スレ[効率化] Part.3
[RPA]PC自動化技術総合スレ[効率化] Part.7
2chの荒らし報告の書式対応のプログラム
ハッシュ使うのやめてクラスにしましょう
ハッシュ使うのやめてクラスにしましょう
- 1 :2014/06/21 〜 最終レス :2018/12/17
- ハッシュで使っていいのは、
キーの数が5つ程度まででしょうな。
それより大きなものになると
クラスにした方がいい。
ただの値の塊であるハッシュは
メンテナンス性が悪く変更に弱い。
- 2 :
- >>1
ハッシュって連想配列って意味で使ってますか?
- 3 :
- >>2
はい、そうです。
データベースから取ってきた値を
そのままハッシュ(連想配列)にする。
データベースのカラムとハッシュのキーが
一対一で結びついている。
こういう設計は最悪です。
メンテナンス性が悪すぎます。
- 4 :
- >>3
たしかにそういう側面はあるよねえ。
静的型付言語だととくにコンパイル時の型チェックで名前が正しいか
チェックされないっていうのがあるし。
- 5 :
- 連想配列のほうが良さそうなので言い方変えますよ。
設定ファイルでもありますね。
ファイル(例YAML)を読み込んで
その構造がそのまま連想配列になってる。
それをアプリからそのまま参照するとか。
- 6 :
- また手続き脳か
- 7 :
- >>4
「キーのスペルミスに弱い」という話ですね。
それも一つです。
まず自由なキーが使えた方がいい。という例は少ないです。
使えるキーは普通あらかじめ決まっているものです。
スクリプト言語のせいで連想配列が簡単に
使えるように成りましたが、大規模アプリを作る上で
連想配列はデメリットも多いです。
そうそう、クラスにした時の内部データ(プライベート)であれば
連想配列でいいですよ。連想配列のままアプリ全体で使うのではなく
クラスでラップしろってことです。
- 8 :
- 連想配列だとリファクタリングにも弱いですね。
設定ファイルのキーの名前を変えようと思っただけでも、
連想配列を直接使用していると、その影響範囲が
どこまで及ぶかわからない。
クラスであれば、メソッド名(プロパティ)の
変更のリファクタリングを行うだけ
互換性を維持するために、設定ファイルで古い値を
使えるようにしたり旧メソッドを残しておくということも簡単です。
- 9 :
- >>7
ふむ、なるほどね。全面的に同意する。
- 10 :
- だから
KEy => 値
これを
KEy => クラスオブジェクト
で、良いんだろ?
- 11 :
- >>10
それ、値がオブジェクトになっただけだろw
KEy => 値
これを
メソッド => 値
(または、プロパティ=> 値)
こうしろって話。
ちなみに俺がプロパティと呼んでいるものは、
変数と直接繋がっているわけじゃなくて
内部的にメソッド呼び出しに変換されているもののこと
説明しなくてもわかると思うけど。
- 12 :
- >>11
いや全くわからん
最初クラスって言ってたのにてメソッドだとかプロパティになってるし
Keyをメソッドにするって事は、1回1回のハッシュ検索にメソッド呼び出す事になんの?
- 13 :
- メソッド呼び出ししてても、内部でハッシュを使ってるなら、
高速に値を検索可能ですよ。
- 14 :
- 関連スレです。
こちらも是非ご覧下さい。
【毛の壁】脱アルゴリズム宣言【FXST】
ttp://peace.2ch.sc/test/read.cgi/tech/1403215505/
- 15 :
- >>13
別の事やる為に速度妥協してるアルゴリズムを高速とは言わない
- 16 :
- >>15
大部分の速度が必要ない所に、速度を求めてどうするw
速度厨房はこれだから、役に立たないんだよ。
そんな小手先の最適化よりもメンテナンス性が大事。
内部でハッシュを使っているなら、たんなる
メソッド呼び出し程度の速度低下しかおこらん。
- 17 :
- >>16
メソッド呼び出し程度の速度低下って。
素のハッシュ検索に比べてどの程度、速度落ちると思ってんだよ
話にならん雑魚だな
- 18 :
- つうか速度落とさずそれと同じ事やるなら二重ハッシュだろうが
管理的な何か => { Key => 値 }
これをわざわざ
クラス => 値
にしたらおせーだろうが知的障害か
あと、こういうのは別にハッシュの使い方自体を変えるんじゃなく、
ハッシュ自体は今まで通りのハッシュの使い方で
YAMLとかにバッチ処理与えるスクリプトかけば終わるんだよ
新しい規格を広めるよりそっちのほうが格段にコスパが良い
そもそもクラスって概念の応用ごときで新しいものは生まれない
新しいもの作るならラムダまで掘り下げろ
ラムダを二重にしたものがクラスなんだが、それは理解しているのかと
雑魚は入門からやり直せ
- 19 :
- > 管理的な何か => { Key => 値 }
>
> これをわざわざ
> クラス => 値
>
> にしたらおせーだろうが知的障害か
誰もそんなこと言ってないだろ?
クラス => { メソッド => 値 }
こうだろ。大丈夫かなこいつ?
だいたいなんで速度とか言い始めたんだ?
速度が重要な場所の話なんかしてないし。
- 20 :
- 学力足りてねーよ
そしていってる事が2転3転して説明能力さえない
それだけで学歴の低さがうかがえる
1回もプレゼンテーションやったこと無いだろお前
高校生か?高卒か?
R
- 21 :
- ほらね。人格否定に走っちゃった。
これは最初の書き込み内容から、
その後の発言まで想像できたね。
- 22 :
- 人格どうこうではなく言ってる事がどんどん変わってんだよお前は
その知能でプログラミングするのは難しかろうよ
脳トレでもやっとけ
- 23 :
- http://flashfabrica.com/f_learning/brain/brain.html
やっとけ
- 24 :
- >>1 の言いたいことは分からんでもないけど、あくまで連想配列の特殊な場合だから
前提なりを示さないと他人に通じないと思う。
自分は Perl の連想配列(ハッシュ)をまずイメージするから、
「連想配列のキーが自由なことは少ない」というのは理解できなかった。
データベースでも環境変数でも、キーはどんどん追加される
>>1 が考えている連想配列は、プログラムのインタフェースに使われるもの、
もっと言えば、クラスで置き換えられるような連想配列において成立する。
そういう前提であれば分からんでもない
ただし、「クラスにした方がいい連想配列の使い方してたら、クラスにした方がいい」
っていうトートロジーのような気がしないでもない
- 25 :
- > データベースでも環境変数でも、キーはどんどん追加される
データベースのカラム名、nameとかtelとか、
この名前がどんどん追加される場合ってどういう時?
- 26 :
- >>25
カラムは増えないね
関係データベースで言うと微妙になっちゃうけど、
キー値が増える(列が増える)って意味で。
- 27 :
- ハッシュって何?
- 28 :
- SHA256とかのやつじゃね
- 29 :
- そもそも普通はそんな使い方しねーよという使い方をして、
連想配列だめじゃんって言っている気がしなくもない。
- 30 :
- >>1は静的型言語限定の話だよね?
それなら理解できる。
動的型言語なら条件付きで理解できるが、
同意はほとんどできない。
- 31 :
- >>1と同じようのはコードスメルにもあるよ
http://c2.com/cgi/wiki?PrimitiveObsession
- 32 :
- ってか古の時代からさんざん議論されてきたことをスレ立ててまで言うことか
やはりアイちゃんの釣りスレなのか
- 33 :
- ハッシュと同じ機能をクラスで実装するって意味がわからん。
クラスって単にある機能をカプセル化したオブジェクトだから
ハッシュを実装したクラスとかリンクリストを実装したクラスとか
そういう概念になるんじゃないの?
- 34 :
- ハッシュのなかにクラス入れちゃダメって言ってるの?
- 35 :
- JavaでもO/Rマッパー(JPA)やO/Xマッパー(JAXB)が一概に良いとは言えんけどな
あと静的型言語でもphpとかみたいに動的配列と連装配列にシンタックスシュガーほしい
- 36 :
- ハッシュやめてクラスっていう意味がわからん
ハッシュテーブルもやめるの?
- 37 :
- 設定とかのキーが固定の場合はクラスを使えってことだろ?
キーが不定で増える場合とか、キーの名前を動的に作り出す場合とかは連想配列だろう
- 38 :
- Hackのshapeは連想配列だけどキーの文字列が固定されていて
宣言していないキーを入れたり宣言されているキーが足りなかったりすると型エラーになる
- 39 :
- まぁ>>1みたいなのはアプリの全体設計とかしたこと無い人が考えることだな
CIとかも使ってなさそう
staticおじさん臭もほのかに漂う
若いなら、まぁ誰もが通る道ではある
- 40 :
- typoに弱いのは事実なんだが、いちいちアクセス用のbeanクラスのようなものを
作ってという生産性を落とすようなのとは結局のところトレードオフなんだよね、
で終わるような話題だよな。
- 41 :
- >>40
そもそも構造体代わりのBeanなんて作るなよ。
Objectから値を取り出すときは、常に何らかの処理をして出せよ。
- 42 :
- BeansはBeanInfo実装したりBeanの中にPropertyChangeSupport入れなきゃならなかったりするのに、
単なる構造体のようなclass作ってbeansだと
言い張るアホが多いコト多いコトから。
それじゃjava.beansの恩恵を受けられずに意味がないってのに。
- 43 :
- 1 は腕自慢の新人で、できそこないのオッサンのコード見て叩いて俺スゲーって思ったんだろう。
みんながそんなヘボと仕事してるわけじゃないんだから、なかなか共感が得られなくても仕方ない。
必要なときにはやるけど必要じゃなければやらない。そんだけ。
普通しないことは普通しない。そうだね。
まあ、まるきり >24 だね。
- 44 :
- PHPでは、ちょっとしたものを作るとき、クラスとハッシュのどちらの実装がいいか?
- 45 :
- ハッシュテーブルの事をハッシュって略すのって普通なの?
- 46 :
- >>45
普通だと思うよ。ティッシュペーパーをテッシュって言うでしょ。
だから全然ふつうのことだと思うよ。
- 47 :
- パイパイがそう言うなら納得した
- 48 :
- 紛らわしいから避けるべき用法な気はするけど、特にスクリプトでは結構使われてるんだよな
- 49 :
- ディクショナリとディレクトリを言い間違える
- 50 :
- ハッシュテーブルと連想配列は別物
- 51 :
- オブジェクト指向は害悪だな
- 52 :
- 要約値表って言い方は中々普及しないな
- 53 :
- 連想配列の実装がハッシュテーブルである保証はあるのか?
- 54 :
- なんか20近辺までそこはかとなく自演臭い
- 55 :
- 2chでそういうの疑い始めたら末期
- 56 :
- このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
- 57 :
- >>56
あい。
- 58 :
- アイと研究員の議論を邪魔しないでくれ
- 59 :
- じゃっぷまた負けたのかwwwwww
- 60 :
- >>46
vb(a|s)に連想配列ないから帰れよ
Dictionary オブジェクト使わせてもらってる身分でしゃしゃってんじゃねえぞ
- 61 :
- 負けたのかwww
- 62 :
- >>60
, 、、 ,, 丿⌒ヽ、
, ' ____ " 、、 /⌒ ヽ
, ' /⌒三 ⌒\ ', ( す す )
; /( @)三(@)\ ; ) い ` (
; /::::::⌒(__人__)⌒:::::\ ; _ / ま 丿
| u |r┬-| u | ; ヽ 、_ノ せ /
\ u `,. -'"´´ ̄`ヽ ; ヽ、_ノヽ ん ノ
_ / (___ | ', ) : (
,、' / | ; ( /
、 ( ̄ | ; ヽ、_ノ
 ̄ ̄ ̄| | ;
- 63 :
- ジャップまた負けたのかwwwwwwwwwwwwwwww
- 64 :
- ペコwwwwwwペコwwwwww
ペコペコペコペコwwwwwwwww
ペコペコペコペコペコペコペコペコペコペコペコペコペコペコwwwwwwwwwwwww
ペコペコペコペコペコペコペコペコジャアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアwwwwwwwwwwwwwプwwwwwwwww
- 65 :
- オブジェクト指向は愚かな考え。
http://peace.2ch.sc/test/read.cgi/tech/1393660194/
- 66 :
- ハッシュは実装方法に関する表現なんだから
連想配列って言えよ
- 67 :
- どうせ1個か2個しか言語知らない奴のたてたスレ
バッチ処理する考えすら思い浮かばないから静的言語しか出来ないんだと思う
この手の発想に落ちるのはJAVA使いだろう
JAVAは害悪だな
- 68 :
- >>67
バッチ処理ってなあに?無知な桃白白にやさしく教えて
- 69 :
- 桃白白→桃→ピーチ→ビッチ→老化→婆ッチ→バッチ
- 70 :
- このように入力に対して一連の手順で加工しその結果を出力として返す処理をバッチ処理といいます
- 71 :
- >>70
入力に対して一連の手順で加工しその結果を出力として返す処理をバッチ処理と
仮定してもバッチ処理する考えすら思い浮かばないから静的言語しか出来ないんだ
とのつながりがわからなくない?だからたぶん違うんだと思うよ。
- 72 :
- 頭の悪い奴はたったの3行でも読みにくい文章を書く
Rゴミ
- 73 :
- 「バッチ処理とは」で検索
- 74 :
- というかお前ら>>67の言わんとしてる事が理解出来るの?
- 75 :
- 2行目以外は分かるよ
- 76 :
- 別に一生理解しなくても困らないならいいんじゃないのって思う
周りで誰もやってないならそういうレベルの場所にいるってだけ
- 77 :
- バックグラウンド系の話かと思ったが
コマンドのチェーンの方を言いたかったのか
- 78 :
- オブジェクトとハッシュテーブルの区別がない言語もあるのに。
そもそもそれぞれ用途が違うし、どういう文脈の話なの
beanに限った話?クラスがわりにハッシュ使うのやめろって話?
- 79 :
- >>78
Map<String, String> getPerson() {
Map<String, String> person = new HashMap<>();
person.put("name", "たおぱいぱい");
person.put("bloodType", "O");
return person;
}
こういうのやめろってことだと思うよ。
- 80 :
- >>79
なるほど。やっぱり言語や用途によるとしか言えないね
静的型の場合、ハッシュじゃ型情報が1個になるから基本クラスでいいけど、
メンバを動的に増やしたい時はハッシュになる。JavaのPropertiesみたいに。
動的型の場合は使い分けがあんま分からんね。
- 81 :
- >>80
メンバを動的に増やしたいときってどういうときに必要なの?
リストじゃあかんの?
- 82 :
- >>80
PropertiesはクラスでラップしてるからOKの部類っすよね。
なので、>>80も>>7とほぼ同じ考えかと。
- 83 :
- >>81
話がまた戻るが速度次第でしょ
キーが多いとか実行環境が遅いとかならリストじゃつらい
そもそもMapなりハッシュMapなりを使う理由の大半は速度だろ?
- 84 :
- >>83
速度が必要ないのに、クラスの代わりに使う人がいるんだよ。
定義するのめんどくさ〜いって。
それをどう思う?
- 85 :
- >>84
その方がコードが速く書けて仕事が速く終わるというならアリなのかもしれない
仕事の速さも要求されてないのにそんな事してるならタダの物臭
- 86 :
- >>81
リストでもいいけど、添え字アクセスになっちゃう
用途の違うメンバを0,1でアクセスしたくない
ハッシュテーブルは連想配列のインターフェースがあるわけで。
>>84
クラス使えでいいよ。ハッシュリテラルでもなきゃ
ハッシュで書いた所で楽にならんし、型チェックも効かないし
- 87 :
- クラスに置き換えるべきタイミングの見極めが適切にできて
その作業を確実に素早くできるなら問題ない
まあ単に俺カコイイってだけの自己満臭が拭えないけど
- 88 :
- 後でクラスに置き換える必要が出るなら
最初からクラスつかえや、と思うな
クラスで実現できない部分があるからハッシュ使うわけで
- 89 :
- なるほど思い出した
システムハンガリアンで簡易型チェックを組み込んだりしたわ
- 90 :
- >>1
せめて痛い目を何度か見てからスレ立てろよ
- 91 :
- つかよっぽど小規模なツールでもなきゃハッシュとか使うな
O/Rマッパー使えよう
- 92 :
- JavaScript「連想配列がObjectなワシはどないしたらええんじゃ…」
- 93 :
- javascript使うのやめてjavaにしましょう
- 94 :
- JavaScriptの仕様は無法もいいとこだが、こうもブラウザで使われてちゃあな。
- 95 :
- 連想配列よりC#のDataSetのほうが許せん
なんなんだよアレ
- 96 :
- 配列の配列の連想配列
- 97 :
- ttp://www.24w.jp/study_contents.php?bid=javascript&iid=javascript&sid=array&cid=005
こういうのとか逆のケース多く感じる
連想配列って紹介してるけどそりゃプロパティだろ
ハッシュっぽくプロパティ指定できるJscriptにも問題あるが
- 98 :
- >>97
そのページは連想配列っぽい使い方だからおかしくないが
- 99 :
- JAVAがメインな奴って
明らかにズレてるからレスで分かる
- 100 :
- Javaしか知らんやつが指示をだすとマジでヤバいからな
プロジェクトが膠着する
- 101 :
- kvsとか全部ハッシュやん
- 102 :
- 連想配列というかメッセージのオブジェクトに連想配列を使うことがあるけど、
流石に数が増えてきたらプロキシオブジェクトを使うよね
単純にそういうことでしょ?
- 103 :
- perlもクラスはハッシュで出来ている。クラスとハッシュは同じものを違う側面からみてるだけ。
定義するのが億劫なだけで、定義さえしてしまえばクラスの方が使い易い。
- 104 :
- >>100
き・・・、膠着
- 105 :
- インスタンスを配列にするのか
- 106 :
- 〃〃∩ _, ,_
⊂⌒( `Д´) < ヤダヤダ!ハッシュがいい!
`ヽ_つ ⊂ノ
ジタバタ
〃〃∩ _, ,_
⊂⌒( `Д´) < クラス使うなんて、ヤダヤダ!
`ヽ_つ__つ
ジタバタ
_, ,_
(`Д´ ∩ < ヤダヤダ
⊂ (
ヽ∩ つ ジタバタ
〃〃
〃〃∩ _, ,_
⊂⌒( つД´) < ヤダヤダ
`ヽ_ ノ ⊂ノ
ジタバタ
∩
⊂⌒( _, ,_) < ヤダヤダ…
`ヽ_つ ⊂ノ
ヒック...ヒック...
∩
⊂⌒( _, ,_)
`ヽ_つ ⊂ノ zzz…
- 107 :
- コンパイラとインタプリタとideが賢くなればいいんじゃね
- 108 :
- 仕事の速さと実効速度が優先されて、
安全性やらメンテナンス性の犠牲が許されるなら
ハイパースパゲッティワンメソッドコピペプログラミングが一番早かったりするな
綺麗に作ってある部品を取り込もうとするとその流儀にあわせる必要が出るからあわせるが
そういう物がない部分なら綺麗に作るのは先行投資的コストになる
先にコストを払ってハッシュマップやら何やらをラッピングするか
後にコストを払ってバグ修正やメンテナンスに苦労するか
の選択、後者はリスクコストであって確定コストじゃないからかなり軽視さされるけどね
品質低かろうかバレなきゃ直す必要ない?コストかけるなんて無駄?せやね
- 109 :
- >>108
コピペするってことはすでに使用されている実績のある
安定したコードがあるってことだ。コピペこそ最高のプログラミングテクニック。
素人にはわからないだろうがな。
- 110 :
- そうして無駄な処理が量産されるのだな
かつ、本人もメンテできないという…
- 111 :
- >>110
本番運用に入ったら基本触らないからな
実績のある安定したコードだからメンテする必要もない
コピペが悪いというのは自分でコードを書きたい素人が陥る自己満
- 112 :
- >>111
客観的に判断しようぜw
- 113 :
- >>112
は?何を?バカ?Rよ
- 114 :
- .NETの話だがEF知ってればハッシュ使う気にはならない
DataTableは型付も含めて滅びていい
- 115 :
- マクロ使って二度書き超絶回避されるよりコピペの方がいいわな
あと本質的に違うものだけどいまは同じ処理をしてるものもコピペの方がいい
- 116 :
- ハッシュいらない
リストで良い
:a => 1
[:a , 1]
- 117 :
- 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
- 118 :
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
UL2UM
- 119 :
- UQQ
- 120 :2018/12/17
- パンケーキソート中
Java/C++ VS C# どっちが好きか教えて
HSPだって
C++相談室 part146
【コメント】doxygen【コンソメ】
オブジェクト指向ってクソかよPart5
【GNU】スクリプト言語 Guile【scheme】
Excel VBA 質問スレ Part54
【SICP】計算機プログラムの構造と解釈 Part3
逆コンパイラCodeReverseを作る
C++相談室 part146
--------------------
付き合う前のデートの仕方part★86
☆ベジタリアン関連ニュース★
機動戦士ガンダムオンラインPart6314
本家ガチ競馬重賞等予想大会2020◎○▲産in麻雀板
【体育会】「お前は俺の下僕だ」下級生に部員30人の前でわいせつ行為をさせ撮影、日体大柏高ラグビー部
【PS4/XB1】Titanfall2 タイタンフォール2 Part147
ちょまど part3
田原俊彦さん、斉藤由貴化する
【ワールドウィッチーズ】ストライクウィッチーズ501部隊発進しますっ!1523rd JFW
THEカラオケ★バトル 36曲目
【ケダタァ】船見由衣がじゃがいも自慢って独学?
米軍は快楽のために人を殺しているのですよ
DMG Audio 2
【iOS/Android】消滅都市2初心者スレ part32
田舎に住んでると車移動ばっかで全然歩かなくなるな
CD・配信チャート速報/売り上げ議論・予想 スレッド 2018/07/24〜 【オリコンチャート】
普及活動とはなんなのか
【水泳】五輪コースが「くさい。トイレみたいな臭い」。海水の臭いに選手が不安訴える オープンウォーターテストイベント ★4
【徹底討論】国税アゲVS国税アンチ
うめ吉
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼