客を団体としてクラス化した意味はなかったことに今更気づきました。。RT @hidenorigoto: 関心の分離という点で @qckanemoto さんがクラス4つ、@871_ さんのもクラス4つですが、お二人で視点が大きく異なるのは面白いですね #nagoyaphp
2014-03-17 20:00:11@qckanemoto 入り口として登場するのは自然ですよ。今回の問題のケースでは、団体として扱いたいのは行列に並ぶまでで、それ以降は団体であることには関係ない、と分かった段階で、次に何をどうリファクタリングするのかでしょうね。 #nagoyaphp
2014-03-17 20:09:56これは、かなり勉強になる。 SplQueueクラスの存在を知っていれば、配列管理の情報をもっと明示的に扱えたのに・・・ 一度、最新のリファレンスに目を通す必用があるな #nagoyaphp
2014-03-17 20:43:50@77web 77webさんのCalculatorのコードで気になるのは、$shoppersをなぜクラスのメンバーとしているのか、です。 #nagoyaphp
2014-03-17 22:08:51@hidenorigoto @77web さすが鋭いですねえ、言われてみれば確かに。コンストラクタにどういったことをさせるかとかも含めて、色々意見を聞くのも面白いかもですね。 #nagoyaphp
2014-03-17 23:18:06@longkey1 ですよね。あとは本に書いてあるパターンを適用してみる題材としても良いので、longkey1さんは是非チャレンジをw /cc @77web #nagoyaphp
2014-03-17 23:53:33@hidenorigoto Calculatorのshoppersは実際の買い物客の何かではなく、入力される文字列(数字とxと.の羅列)なのですが、最初にrunの引数にするか、コンストラクタ引数にしてメンバーに持たせるか一瞬悩んで後者にしたものですね。 #nagoyaphp
2014-03-17 22:45:47@hidenorigoto 入力データの投入にphpunitのdataProviderを使うことを最初から考えていたので、Calculatorが異なる入力を複数受け付けて処理する必要はないと思ったので。 #nagoyaphp
2014-03-17 22:48:27@77web なるほど。この話題は些細に見えるかもしれませんが、わりと重要で、多分次回テーマのBEAR.Sundayにつながる話なので、またネタにしましょう。 #nagoyaphp
2014-03-17 23:05:21懇親会で酔ってて(?)うまく説明できなかったけど、開発するときにユーザーと直接話してドメインを知っておくと何がうれしいか。仕様漏れとか仕様の隙間部分をエスパーするときにだいたいユーザーの想定に近く実装できる可能性が高まって、手戻りが減るのを私は期待してます。 #nagoyaphp
2014-03-17 22:53:29「xが来たら$jammedlistに追加する」がトリッキー過ぎるかな。もし、「xは通常の客の2倍の処理時間がかかる」だと、大幅に変更が必要になる。 ounziw.com/2014/03/16/nag… #nagoyaphp
2014-03-18 08:33:13@ounziw 今回の問題に限るなら「客ごとの処理時間は一定とする(xは例外)」ということは前提ですしね。皆さん暗にその前提である程度問題を最適化・簡略化していますよね。この前提を外して客ごとに処理時間が可変となる場合、処理モデルが変わりますよね。 #nagoyaphp
2014-03-18 13:13:38@hidenorigoto 処理時間、じゃないですね。処理量とでも言うんでしょうか。 #nagoyaphp
2014-03-18 13:35:08@ounziw むしろ、Nagoya.phpでのような実装をうまく拡張していると思いました。あの問題に対しては最適かも知れません #nagoyaphp
2014-03-18 11:13:39@kenji_s あの問題を解く、という観点からだと、かなり上手い方法だと思います。他の人はまた違う視点で書いているので、そこが面白いですね。次回は今回のコードの批評から初めても良いかもしれないですね。 #nagoyaphp
2014-03-18 11:32:15まさに #nagoyaphp 三大フレームワークでした(w RT @gihyosd: SoftwareDesign4月号…「特集1 なぜMVCモデルは誤解されるのか?」第3章はPHPです。CakePHP、そしてFuelPHP、Symphony2です…
2014-03-18 14:26:55