[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 11524] エクストリーム プログラミングエピソード( Re: JavaCC )



高橋(徹)です。

   "Murayama Toshikiyo <murayama@xxxxxxxxxxxxx>"さんは書きました:
> この本では「ボーリングゲーム」の例題が取り上げられていましたが,
> 「1個のゲーム=オブジェクトと10個のフレームオブジェクトから構成する.」
> という設計に「異論が無い」という点には,意義ありです.
この章は、XPの開発の様子を物語風に記述したものです。Webでも日本語訳が
公開されています。
http://agileware.jp/articles/xp/xpepisode.html(日本語訳)
http://agileware.jp/articles/xp/xpepisode-kansai.html(関西弁)

実は昨年の新人実習でペアプログラミングのイメージを理解してもらうために
この記事を実習生に読んでもらいました。XPのペアプログラミングのやり取り
をイメージアップすることはできました。
設計内容にはいろいろあるかと思います。しかし、XPを取り入れれば、初期の
設計なんてこんなものではないのでしょうか?
# 「こんな設計なら俺でもできる」と思わせることが趣旨ではないかと
# 疑いたくなる・・・

> 元の要件にもよりますが他にも多種多様な設計が考えられますし,おそらく
> それらの候補を検討しないことはないでしょう.またこの設計が理想的
> とも思えません.おそらく他の設計を採用します.
XPのスタイルでは、「設計案を複数挙げて比較検討を行って最もよいと判断
される設計を採用する」という初期設計重視はとらないです。担当したペア
が思いつく一見容易そうな設計をどんどん進めてしまいます。
アジャイルは、じっくり考えて最適解を選ぶという観点ではないですね。
ある意味いいかげん。思いついたらテストを書いて実装して、まずいところ
があったら見直して・・・、を繰り返してだんだんよい設計になっていく。

> それにボーリングゲーム程度ではロジックが単純だし処理も決まっているので,
> 配列を用意して保持するような形でも特に問題は無いですしね.例題として適切
> ではないと思います.
なんとなく以前に(オセロか碁か・・・?)盤面をオブジェクトにするか配列と
するかといった議論を思い出します。

> 他の部分も,ざっと見た感じでは「これは素晴らしい!」と感じさせるほどの
> ものはありませんでした.
> 
> ちなみに「アジャイル」の話をするのであれは「XPシリーズ」が原典です.
うーん、XPは、one of them ではないですか? 
最も有名なアジャイル開発手法ということならXPで賛同しますが、XPが原典
というのには賛同しかねます。

ところで、読書会(の一角)でちょっと話題に上ったハードコアJavaの訳本
「Java魂 −プログラミングを極める匠の技」
http://www.oreilly.co.jp/books/4873112079/
今月末に出版予定です。

名前がどうもすごい。amazon.comの書評は酷評ばかりという興味をそそられる
本です。
2章で、finalを多用する、3章の不変性 あたりが酷評のネタになっている
ようです。どんなことが書いてあるのでしょうか。
12章にJDK5.0(Tiger)のことが載っています。

# 推薦すべきかどうか悩みます

---
TAKAHASHI Toru