Nagoya.php vol.4

0
nojimage @nojimage

#nagoyaphp のどう書く問題面白そうだぬん。

2014-03-17 19:43:37
たつきち👈#買ってよかった が集まるSNS「pocitta(ポチッタ)」 @ttskch

客を団体としてクラス化した意味はなかったことに今更気づきました。。RT @hidenorigoto: 関心の分離という点で @qckanemoto さんがクラス4つ、@871_ さんのもクラス4つですが、お二人で視点が大きく異なるのは面白いですね #nagoyaphp

2014-03-17 20:00:11
Hidenori Goto | COO and CTO at KabuK Style @hidenorigoto

@qckanemoto 入り口として登場するのは自然ですよ。今回の問題のケースでは、団体として扱いたいのは行列に並ぶまでで、それ以降は団体であることには関係ない、と分かった段階で、次に何をどうリファクタリングするのかでしょうね。 #nagoyaphp

2014-03-17 20:09:56
871@ I'll be back to yangon @871_

これは、かなり勉強になる。 SplQueueクラスの存在を知っていれば、配列管理の情報をもっと明示的に扱えたのに・・・  一度、最新のリファレンスに目を通す必用があるな #nagoyaphp

2014-03-17 20:43:50
ななうぇぶ @77web

コントローラ的な部分をクラス化したのが無用だったかと気にしていたら全然そんなことなかった #nagoyaphp

2014-03-17 20:05:05
Hidenori Goto | COO and CTO at KabuK Style @hidenorigoto

@77web 77webさんのCalculatorのコードで気になるのは、$shoppersをなぜクラスのメンバーとしているのか、です。 #nagoyaphp

2014-03-17 22:08:51
longkey1 @longkey1

@hidenorigoto @77web さすが鋭いですねえ、言われてみれば確かに。コンストラクタにどういったことをさせるかとかも含めて、色々意見を聞くのも面白いかもですね。 #nagoyaphp

2014-03-17 23:18:06
Hidenori Goto | COO and CTO at KabuK Style @hidenorigoto

@longkey1 ですよね。あとは本に書いてあるパターンを適用してみる題材としても良いので、longkey1さんは是非チャレンジをw /cc @77web #nagoyaphp

2014-03-17 23:53:33
ななうぇぶ @77web

@hidenorigoto Calculatorのshoppersは実際の買い物客の何かではなく、入力される文字列(数字とxと.の羅列)なのですが、最初にrunの引数にするか、コンストラクタ引数にしてメンバーに持たせるか一瞬悩んで後者にしたものですね。 #nagoyaphp

2014-03-17 22:45:47
ななうぇぶ @77web

@hidenorigoto 入力データの投入にphpunitのdataProviderを使うことを最初から考えていたので、Calculatorが異なる入力を複数受け付けて処理する必要はないと思ったので。 #nagoyaphp

2014-03-17 22:48:27
Hidenori Goto | COO and CTO at KabuK Style @hidenorigoto

@77web なるほど。この話題は些細に見えるかもしれませんが、わりと重要で、多分次回テーマのBEAR.Sundayにつながる話なので、またネタにしましょう。 #nagoyaphp

2014-03-17 23:05:21
ななうぇぶ @77web

懇親会で酔ってて(?)うまく説明できなかったけど、開発するときにユーザーと直接話してドメインを知っておくと何がうれしいか。仕様漏れとか仕様の隙間部分をエスパーするときにだいたいユーザーの想定に近く実装できる可能性が高まって、手戻りが減るのを私は期待してます。 #nagoyaphp

2014-03-17 22:53:29
Fumito Mizuno @ounziw

「xが来たら$jammedlistに追加する」がトリッキー過ぎるかな。もし、「xは通常の客の2倍の処理時間がかかる」だと、大幅に変更が必要になる。 ounziw.com/2014/03/16/nag… #nagoyaphp

2014-03-18 08:33:13
Hidenori Goto | COO and CTO at KabuK Style @hidenorigoto

@ounziw 今回の問題に限るなら「客ごとの処理時間は一定とする(xは例外)」ということは前提ですしね。皆さん暗にその前提である程度問題を最適化・簡略化していますよね。この前提を外して客ごとに処理時間が可変となる場合、処理モデルが変わりますよね。 #nagoyaphp

2014-03-18 13:13:38
Hidenori Goto | COO and CTO at KabuK Style @hidenorigoto

@hidenorigoto 処理時間、じゃないですね。処理量とでも言うんでしょうか。 #nagoyaphp

2014-03-18 13:35:08
kenjis @kenji_s

@ounziw むしろ、Nagoya.phpでのような実装をうまく拡張していると思いました。あの問題に対しては最適かも知れません #nagoyaphp

2014-03-18 11:13:39
Fumito Mizuno @ounziw

@kenji_s あの問題を解く、という観点からだと、かなり上手い方法だと思います。他の人はまた違う視点で書いているので、そこが面白いですね。次回は今回のコードの批評から初めても良いかもしれないですね。 #nagoyaphp

2014-03-18 11:32:15
kenjis @kenji_s

@ounziw そうですね。レビューしあうとおもしろいような気がします #nagoyaphp

2014-03-18 11:46:02
kenjis @kenji_s

他の人が結構みんなOOPなので書き直してみました :-) ow.ly/uGNyT #nagoyaphp

2014-03-18 11:21:37
kenjis @kenji_s

まさに #nagoyaphp 三大フレームワークでした(w RT @gihyosd: SoftwareDesign4月号…「特集1 なぜMVCモデルは誤解されるのか?」第3章はPHPです。CakePHP、そしてFuelPHP、Symphony2です…

2014-03-18 14:26:55