トップページ > プログラム > 2016年06月13日 > 6Ot446qT

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

1 位/204 ID中時間01234567891011121314151617181920212223Total
書き込み数33200000020000000000000111



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
開発速度と動作速度、どちらに最適化するべきか? [無断転載禁止]©2ch.net

書き込みレス一覧

+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
612 :デフォルトの名無しさん[sage]:2016/06/13(月) 00:05:59.69 ID:6Ot446qT
>>611
関数コピーできない。
日付がおかしくなる。
undefinedが消える。

使えないねw
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
615 :デフォルトの名無しさん[sage]:2016/06/13(月) 00:32:34.63 ID:6Ot446qT
>>613
> 値をコピーするなら十分でしょ。
勝手に決めるな。

日付がおかしくなる問題は解決できてないし、
undefinedが消えるっていうのは、キーが無くなるんだよ。
まったく使えないって言ってるだろ
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
616 :デフォルトの名無しさん[sage]:2016/06/13(月) 00:40:16.01 ID:6Ot446qT
>>614
どうするのが一番可読性が良いかを考えれば自ずと答えは出る。
可読性を高くするには、頭の中で覚えておくコードを少なくするということでもある。
だからより小さい範囲、つまりfor文の中で書くのが良い。

ただし、for文の行でいろいろ書くなよ?w
for (let i = 0, l = array.length; i < l; i++)
for文の行でやるのは多くてもこれだけ(インデックス用の変数と終了条件)だ

for (let i = 0, l = array.length, foo, bar, baz; i < l; i++)
なんてfor文とは関係ない変数を宣言しないように。

言い換えると、変数に代入しないletはやってはいけないってこと。

let v = 0; // OK
let v; // NG

またletではなくconstを使ったほうが良いぞ
constは再代入が不可能になる。つまり変数に入れた値を変えることが出来ない。
それでプログラミングが出来るのか?って思うかもしれないができるんだ。
関数型プログラミングの考え方を取り入れると殆どconstでよくなる。
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
102 :デフォルトの名無しさん[sage]:2016/06/13(月) 01:43:43.03 ID:6Ot446qT
題目が悪いからなぁ。

手続き型と関数型は相反するけど、
オブジェクト指向はどちらとも組み合わせて使うことが出来る。
その実例としてScalaがあるしね。

オブジェクト指向を使った設計の題目として適切なのは、
単一の処理を記述するものじゃなくて複数の独立したコンポーネントを
組み合わせて作るシステムの組み合わせる部分。
簡単に言えばフレームワーク。このフレームワークをオブジェクト指向で設計し
フレームワークから呼び出される個々の処理を手続き型か関数型で記述する。

だけど最近はこのフレームワークを自分で書かなくなってきたからね。
いまやオブジェクト指向設計はフレームワークとともに導入するもの
オブジェクト指向の有効性を語る時代じゃなくて深く浸透している時代なんだよね。

この目的としては○○システムのためのフレームワークを作りたい
って所だろうけど、ウェブとGUIとゲームと組み込み以外になにがあるかねぇ。
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
618 :デフォルトの名無しさん[sage]:2016/06/13(月) 01:49:05.39 ID:6Ot446qT
>>617
つまりこういうことでしょう?

for(let i = 0; i < 10; i++) {
 let value = i * 10
 console.log(value);
}

当然forの中だよ。中でしか使わないんだから。

そしてこれはconstに置き換えられる。

for(let i = 0; i < 10; i++) {
 const value = i * 10
 console.log(value);
}

ループ毎に新しく作られるからだ。

このconst valueをforの外に置くことは出来ない。
開発速度と動作速度、どちらに最適化するべきか? [無断転載禁止]©2ch.net
1 :デフォルトの名無しさん[sage]:2016/06/13(月) 01:51:12.21 ID:6Ot446qT
一方は開発時間は短くてすむが動作は遅い。
一方は動作は速いが、開発に時間がかかる。

どちらも、動作速度は必要十分であるとき、
どちらに最適化したコードを書くべきだろうか?
開発速度と動作速度、どちらに最適化するべきか? [無断転載禁止]©2ch.net
4 :デフォルトの名無しさん[sage]:2016/06/13(月) 02:22:57.31 ID:6Ot446qT
>>2

↓ちゃんと読んだ?

> どちらも、動作速度は必要十分であるとき、
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
621 :デフォルトの名無しさん[sage]:2016/06/13(月) 02:41:54.70 ID:6Ot446qT
俺はvarのときからforの中に書いていたけどね。
そこだけでしか使わないし、別に文法エラーでもなんでも無いんだから。
+ JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
625 :デフォルトの名無しさん[sage]:2016/06/13(月) 09:10:57.92 ID:6Ot446qT
>>622
> キーが無くなるのと、キーに対応する値にundefinedが入ってるのは同値だろ。

違うぞw
keysで出力されるもの見てみwww
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
110 :デフォルトの名無しさん[sage]:2016/06/13(月) 09:34:22.33 ID:6Ot446qT
>>109
お前何いってんの?
メソッドがなくてもそのクラスと認めてやる。
動かないけどなwwww

で何が解決してるんだよ?w
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
129 :デフォルトの名無しさん[sage]:2016/06/13(月) 23:43:18.56 ID:6Ot446qT
>>114
> ダックタイピングできるならインターフェース宣言すら不要なんだが、その煩雑性がユーザーにとっての再利用性にどう結び付くんだ?

インターフェース宣言が不要なのであって
インターフェースが不要なんじゃないよw

インターフェース、つまり動作するにはこの関数とこの関数が必要という
情報があることには変わらない。

あくまで宣言が不要なだけ。
で、宣言が不要っていうのは書くのは楽になるかもしれないが、
実際に動かしてみなければ足りないことがわからない。

テストを書けば良いのだが、ちゃんとテスト書いたっけ?
という悩みがどうしても消えない。

インターフェース宣言っていうのはその悩みを補完するための
あれば便利な道具だよ。


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