- 21 名前:前スレ5 mailto:sage [2015/12/19(土) 02:39:25.80 ID:BBkFE1FJ.net]
- ・コーディングストラテジー
peace.2ch.net/test/read.cgi/hp/1444186237/550 peace.2ch.net/test/read.cgi/hp/1444186237/562 JavaScriptに於けるコーディングストラテジーだが、単純には以下2つのどちらかだと思われる。 α. 安全重視、全箇所で型/値チェック。 β. 簡素化重視、最初に型チェック、以降は「型」までは確定、値については保証無し。 αは関数単位で抜き差しが可能。その点機能の追加/削除は楽だ。 各関数は型判定等を持つため複雑になるが、安全領域を管理する必要がない。 βは期待される型以外では何も考える必要がないため、その分関数の仕様が小さくなり、 デバッグが楽でバグも出にくく動作も速くなる。ただし、型チェックを既に通っているかを管理する必要がある。 ネットワークに於けるファイヤウォール内/外の管理のようなものだ。 基本的に関数毎の抜き差しはできない。型チェック部分+動作部分のセットでやらないと駄目だ。 だから関数単位での粗結合化はできない。 俺はβでやっている。 そして現実的にはβしかないように思えるのだが、どうか? 可能であれば直接本職の方々の意見が聞きたいが、 JavaScriptはソース見放題だから、企業のサイトのソース(=本職製)からの類推でもいい。 ダックタイピングを生かすのなら多分αじゃないと駄目なのだが、 俺は型システムに慣れているというのもあって、今のところダックタイピングの利点を感じられない。 αだと各関数で様々な型を処理しなければならず、これがバグの元になるので、 最初からStringならStringと決めうちで各関数を用意、Stringしか入力されないように上位階層で対応している。
|

|