トップページtech
988コメント450KB

eXtreme Programming

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
12のプラクティスがありますが、
実際実用的と思われるのはTesting, Refactoringの2つだと。
Cording Standardsは常識と考えればね。

XP全般について語ってもいいですが、
むしろTesting, Refactoringの二つをメインに語りましょう。
Testingのテクニックなんざをね。

参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
00021NGNG
JUnit (for Java)
http://www.junit.org

RubyUnit
http://homepage1.nifty.com/markey/ruby/rubyunit/index.html
その他は1のリンクのFAQ見るべし
0003デフォルトの名無しさんNGNG
XPって理想ではあるけど殆ど妄想かも…

チームメンバの能力が相当高くないと成り立たないよね。
あとモラルも。

何も分かってないくせに、リファクタリングにかこつけて意味もなくコード
いじるオタクちゃんが絶対出てきそうだし。

テストの妥当性とか突き詰めていけばキリがなさそうだし…
そもそも、テスト書く人間のスキルがそれなりに高くないとダメだし。

ペアプログラミングと、個人の端末は持たないってのは論外。出来るわけない。
0004デフォルトの名無しさんNGNG
実際に導入してるところの本音とか聞きたいなぁ
0005デフォルトの名無しさんNGNG
>>3
>ペアプログラミングと、個人の端末は持たないってのは論外。出来るわけない。

出来ないんならやらなきゃいいのでは?
やってるとこはやってるらしいよ。
0006デフォルトの名無しさんNGNG
UnitTestツールは便利だよ。
うまくいって欲しい時のテストはもちろん、
例外時のテストも可能だし。
システム止まってもらっちゃ困るから、
しっかり例外時のテストしなきゃね。
0007デフォルトの名無しさんNGNG
>>3
>チームメンバの能力が相当高くないと成り立たないよね。

それ有りそう。たとえば馬鹿がコードを書くならば、
リファクタすればするほど改悪するかも知れないし、
馬鹿が二人そろっていれば、ペアプロで改悪が加速される。
馬鹿がコード規約を定めれば作業は瓦解する。

実際いるんだよねえ。プログラマ側にもマネージャにも客にも、馬鹿が。
まともに頭使ったら絶対こんな答え出すまい?っていうような答えを出して、
しかも平然としてる奴って。

>ペアプログラミングと、個人の端末は持たないってのは論外。

個人の端末持たないなんてPracticeは、無かったと思いますが?
それじゃネットワーク分散開発がやれないじゃん。自宅にPC持てないから。
それにHHKの売り文句みたいに「自分の気に入った操作環境」は超重要ですから、
それを拒否するなんて馬鹿なことをXPがスルとも思いがたい。

もしかして、ソースを個人で抱え込まないっていう話ですか?
>共同所有権(Collective Ownership)
>誰でも、どのコードでも、どこででも、いつでも、プログラマはコードを修正できる。

それなら、ソースを個人pcじゃなくて、サーバーのver管理ツールに置くのと、
修正を各自が勝手にやる(ことを許す)ってので、OKな筈です。

なおこーゆーことをするには、いや、しない普通の開発の場合でも、
ver管理ツールの存在は大前提っす。XPをしてなくても、これは実感。
偶発や故意(馬鹿も含めて)のソースの修正の安全性が段違いになるので。
俺んとこでもVSS(笑)使い始めてから開発「安定」性がはっきり上がった感じです。

まぁこれはXPに興味持つような人になら釈迦説法だろうけど。
RCS/CVS/VSSスレと、ゲーム開発スレを、参照どぞ。
0008デフォルトの名無しさんNGNG
っていうか、何で「バカがやると」とかいう前提で考えるんだ?

自分や、自分が所属する人間が、現在のやり方を捨て、
XPを実践したらどうなるかを考えたほうが健全では?

「バカ」がやれば、ウォーターフォールでもスパイラルでも
失敗するに違いないでしょ。
0009デフォルトの名無しさんNGNG
>何で「バカがやると」とかいう前提で考えるんだ?

>自分や、自分が所属する人間が、現在のやり方を捨て、
>XPを実践したらどうなるかを考えたほうが健全では?

ん???

一般論として「馬鹿」を考えた後で、
自分たちがその馬鹿に該当するかどうかを考える
という二段構えでも、おかしくないっしょ?
00108NGNG
ん、だから、バカに関する考察して何の益があるんだろう?という
疑問なんですが。

バカがやると失敗するが、スキルのある人がやると成功する、
とかいう考察をしたいんでしょうか?
0011デフォルトの名無しさんNGNG
C/C++用のTestUnitが数種類あるみたいだけど、
どれが一番使いやすいかな?
0012デフォルトの名無しさんNGNG
結論

駄目プログラマは、どんな手法を用いても駄目
天才プログラマは、どんな手法を用いても天才
0013デフォルトの名無しさんNGNG
XPは、いろんな開発手法をやってきてそれでも上手く行かなかった組織が
取り上げたところで効率が良くなる手法ではないと思う。
ある程度のノウハウがあり、そこそこ開発効率の高い組織がさらに上を
目指して取り入れた場合のみ効果があるのではないか?

いずれにしても銀の弾など存在しないのだから過剰な期待は禁物。
0014>13NGNG
厨房には向かないってのはもうわかったから次いこうや。
0015デフォルトの名無しさんNGNG
UnitTestはただテストのコードとして書くだけじゃなくて、
クラスの設計時に合わせて書くといいよ。
なぜなら設計時にテストコードを書くことは
事前に(仮想的な)クラスを使ってみることを意味するので
クラスがどうあるべきかというイメージがはっきりする。
# UMLだけ書いているときと比べてやりやすい気がする。

またテストコードがクラスのドキュメント的な性格を持つので、
UML図、仕様書とコードを常に同期させるコストを低減できる
# ことが期待される。このあたりの効果はまだ不明。

いずれにしても厨房はまともなテストが書けない。
まともなリファクタリングができないといっても不毛だよ。
厨房がXPの実践を通して設計・テスト・リファクタリングの
経験をつめると考えれば従来のコーダよりも得られるものは
はるかに大きいと思う。
0016デフォルトの名無しさんNGNG
>>12
その考えには反対だな。
馬鹿が集まればどんな方法論使っても失敗するけど、
優秀なやつだけで固めてもプロジェクトは失敗するときがある、
ってことでみんな頭を悩ませていたわけでしょ。
で、いろいろなプロジェクト進行法が考え出されて、そのなかで
もっとも現代的で現実的なのがXPってことでしょ。
XPを用いても優秀な人材がいないとだめってのはいっしょってことだな。
■ このスレッドは過去ログ倉庫に格納されています