トップページ > プログラム > 2014年06月21日 > Sibwh2QA

書き込み順位&時間帯一覧

7 位/220 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000041000000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ハッシュ使うのやめてクラスにしましょう

書き込みレス一覧

ハッシュ使うのやめてクラスにしましょう
3 :デフォルトの名無しさん[sage]:2014/06/21(土) 14:39:45.09 ID:Sibwh2QA
>>2
はい、そうです。

データベースから取ってきた値を
そのままハッシュ(連想配列)にする。

データベースのカラムとハッシュのキーが
一対一で結びついている。

こういう設計は最悪です。
メンテナンス性が悪すぎます。
ハッシュ使うのやめてクラスにしましょう
5 :デフォルトの名無しさん[sage]:2014/06/21(土) 14:44:52.21 ID:Sibwh2QA
連想配列のほうが良さそうなので言い方変えますよ。

設定ファイルでもありますね。

ファイル(例YAML)を読み込んで
その構造がそのまま連想配列になってる。
それをアプリからそのまま参照するとか。
ハッシュ使うのやめてクラスにしましょう
7 :デフォルトの名無しさん[sage]:2014/06/21(土) 14:50:16.61 ID:Sibwh2QA
>>4

「キーのスペルミスに弱い」という話ですね。

それも一つです。

まず自由なキーが使えた方がいい。という例は少ないです。
使えるキーは普通あらかじめ決まっているものです。

スクリプト言語のせいで連想配列が簡単に
使えるように成りましたが、大規模アプリを作る上で
連想配列はデメリットも多いです。

そうそう、クラスにした時の内部データ(プライベート)であれば
連想配列でいいですよ。連想配列のままアプリ全体で使うのではなく
クラスでラップしろってことです。
ハッシュ使うのやめてクラスにしましょう
8 :デフォルトの名無しさん[sage]:2014/06/21(土) 14:54:07.28 ID:Sibwh2QA
連想配列だとリファクタリングにも弱いですね。

設定ファイルのキーの名前を変えようと思っただけでも、
連想配列を直接使用していると、その影響範囲が
どこまで及ぶかわからない。

クラスであれば、メソッド名(プロパティ)の
変更のリファクタリングを行うだけ

互換性を維持するために、設定ファイルで古い値を
使えるようにしたり旧メソッドを残しておくということも簡単です。
ハッシュ使うのやめてクラスにしましょう
11 :デフォルトの名無しさん[sage]:2014/06/21(土) 15:09:33.16 ID:Sibwh2QA
>>10
それ、値がオブジェクトになっただけだろw

KEy => 値

これを

メソッド => 値
(または、プロパティ=> 値)

こうしろって話。

ちなみに俺がプロパティと呼んでいるものは、
変数と直接繋がっているわけじゃなくて
内部的にメソッド呼び出しに変換されているもののこと
説明しなくてもわかると思うけど。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。