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

eXtreme Programming

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

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

参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
0781デフォルトの名無しさんNGNG
>>778
従来のパラダイムと違うっていっちゃったら,何でもありだよね.

私はXPは宗教だと思う。ただし従来のパラダイムとは違ってきているで
はないかと、、

と言えてします.学生時代と変わらず相変わらず可愛いかんじだな.
0782デフォルトの名無しさんNGNG
#で、ワイバーグは和田勉ではないかと、、
0783N00bNGNG
週40時間
Peoplewareかなんかに書いてあったけど、人間集中して人と議論できる時間の限界
週40は会社に出て来い(後は家でやれ)ってことじゃ・・・

オンサイト顧客
 顧客要望を取り込めないSEの言い訳っぽいなー。
発送の変更やらオーダーの変更やら契約形態の変更やら為替予約の付け替えやら
してる顧客に開発チームに常駐しろと言われても。

ペアプロ
 気の合わないペアの場合、ホントに効率上がってる?それとも小学校の遠足みたいに
好きな人同士〜て組んでやるの?

リファクタリング
 テストの完全性はどうやって担保取るの?テストの完全性がいえないうちに
リファクタリングしてデグレードしてもいいのかなー

この辺の疑問に答えてくれる人プリーズ
0784デフォルトの名無しさんNGNG
>>783
Kentの本にペアプロやコーディングスタイルの
準拠を拒む奴は追放とか書いてあったような。

実際うまくいかない場合どうすんだろね。
しょうもない点でもめるのは確かに消耗だよね。

>テストの完全性はどうやって担保取るの?テストの完全性がいえないうちに
>リファクタリングしてデグレードしてもいいのかなー
テストの完全性は必須ではないけど常に
十分なテストが用意されているのが大前提。

つまりリファクタリングする直前にはテストがあり、
リファクタリング後に別の作業に移る直前にも
テストコードがなければならない。
0785デフォルトの名無しさんNGNG
>発送の変更やらオーダーの変更やら契約形態の変更やら為替予約の付け替えやら
>してる顧客に開発チームに常駐しろと言われても。
きちんとしたシステムを得たいなら、仕事としてオンサイトすべしと。

むしろこれは権利だと思うんだよね。
謎仕様や糞実装にされてないか、
へぼい下請けに丸投げしてないかチェックしやすくなるんだから。

こんにち、端末と電話があればオンサイトしてても本来の業務の一部はできる。
原則としてオンサイトだから縄で縛って拘束するわけじゃない。

> 気の合わないペアの場合、ホントに効率上がってる?
気の合わない人と同じチームで…
気の合わない人と同じ部署で…
気の合わない人と同じ会社で…
0786デフォルトの名無しさんNGNG
>>783
>リファクタリング
> テストの完全性はどうやって担保取るの?テストの完全性がいえないうちに
>リファクタリングしてデグレードしてもいいのかなー

xUnit使えないDQNにはリファクタリングさせんなって事。
0787N00bNGNG
>>786
いやいや、xUnitに書いておくべきコードが充分なのかってこと。
なんとも、自分の「分かる」と他人の「分かる」って一致させるの
むずいな・・

>>784
そうなんだよ。充分なテストっていうのがね・・・
追放というのはソウユウ風に使われたら怖いね・・ココだけMgrクラスに
悪用されそうだ・・

>>785
遠隔でのXPは成り立たないんじゃなかったけ。即レスに感謝だが
この即レスが得られない状況を生み出す要素がまずいんでしょ。

PGなのに消耗品を買いに行かせられたり、契約チェックしなくちゃいけない
とかみたいに本来業務ではないが、システム実装のために必要なこととして
押し付けられてると顧客にはみられちゃうんだよね。
そうゆう業務に精通したSEが少ないって事だろうなんだろか
0788786NGNG
>>787
>xUnitに書いておくべきコードが充分なのかってこと。

一つ確認しておきたいんだけど、xUnitを業務で使ったことある?
0789デフォルトの名無しさんNGNG
テスト通過で承認を得るんだから、テストが不完全でも問題ないんじゃないの?
0790789NGNG
もちろん現実にはテストが不完全だった場合のリスクも織り込んだリリース計画
を立てるのが前提ね。
0791N00bNGNG
そうゆうもんだな、確かに。
VBunitを少々つかてますが、いつも100%っていうのに逆に不安が。
0792デフォルトの名無しさんNGNG
完全なテストってあるの?
0793789NGNG
完全な仕様ってあるの?
0794デフォルトの名無しさんNGNG
>793
脳内には。
0795786NGNG
>>791

関数レベルの単体テスト・結合テストをすべてxUnitでやってるなら、100%が出て
いる限り問題は無いはず。
リファクタリングしてもバグの存在確立は変動しない。
0796N00bNGNG
あ、そっか・・
XPといってもBug存在確率は同じか。
>>794
確かに、脳内にはある・・・
が3日で初期化されてること多し。
0797デフォルトの名無しさんNGNG
XP関係の翻訳本が3冊でるようですね.
また糞訳をする長瀬さんということで鬱です.
出版社はどういうつもりだ!
0798デフォルトの名無しさんNGNG
日本のXPの権威になんて事を・・・
0799デフォルトの名無しさんNGNG
権威だけ振りかざされても・・・
0800798NGNG
>799
すいません。(藁を付け忘れました(藁
0801デフォルトの名無しさんNGNG
>>798 テックアートではXPをやっていないと思われ....
というか, XPをやれるようなメンバがいないような....
0802デフォルトの名無しさんNGNG
ACCESSの開発でもテストファーストって実践できるかなぁ?
クエリを使った集計のテストをしたいんだけど、テスト用のデータ作って、
結果があっているかどうかの判別のコード書いて...
凄くめんどくさそう。
RDBMSを使った開発でのTestingについて、参考になるもがあったらおしえて
ください〜
0803デフォルトの名無しさんNGNG
テストツールない奴のテストファーストはむずいよね・・
便乗しちゃうと、OracleのPLSQLのテストなんかUnitテストあるといいなぁ
0804デフォルトの名無しさんNGNG
>>803
ここ見れ

http://oracle.oreilly.com/utplsql/
0805デフォルトの名無しさんNGNG
たまにはageていこう
0806デフォルトの名無しさんNGNG
>>804
COOOOLLL!
サンクスコ(・∀・)イイ!!
0807アストロ球団NGNG
超人XP萌え〜
0808デフォルトの名無しさんNGNG
次のサイトの掲示板で,XPについて厳しい批判があります.
MLで主張する勇気がないようで,一人で寂しくほえていて
かわいそうなので議論にお付き合いしてあげてください.
http://members.tripod.co.jp/aspara_2000
0809デフォルトの名無しさんNGNG
>>808
とりあえず、ひとりじゃペアプロできないよな(ワラ
コヤツも脳内だろうけど。
0810デフォルトの名無しさんNGNG
>>808
社会に出て同じ事を言いつづけて仕事がこなせればたいしたものだ(藁
0811デフォルトの名無しさんNGNG
下らん。ここも春厨だらけ。
0812デフォルトの名無しさんNGNG
2ちゃんねるだと、
開発方法論もてあそびつつ、
開発方法論作ろうとしてる学生も、
デムパ扱いかよ、おめでてーな。

きっとこいつら、開発方法論って輸入するのが
正しいやり方だと思ってるんだろーな(ぷ
#掲示板見てないけど
0813デフォルトの名無しさんNGNG
>>802ACCESSではないけど漏れも同じ悩み持ってます。
JXUnitを使うと何とかなるかなという期待を持ってますが
今修羅場なのでこの状況で新しい道具の検証・投入は逆に
リスク増になりそうで人海戦術に頼ってます。
0814デフォルトの名無しさんNGNG
>>808
ただの電波じゃん。見に行ってそんした。
0815デフォルトの名無しさんNGNG
Macromedia Flash の Action Script、Test Unit ってありますか。

0816narucy56 ◆wMOjCT4s NGNG
>>813

俺が思うに、やっぱりテスト用データは用意しなきゃダメ。

データ作るのが面倒でも、好きなスクリプト言語を使ってテストデータを
生成するとかして、何とかやりくりするべきでは。
0817デフォルトの名無しさんNGNG
>>816
>好きなスクリプト言語

xUnitが無いやつを使ってしまってテストデータ自体が信用できなくなる罠。
マジな話、テストデータの生成が多岐にわたるとUnit Testやらないと破綻する。
0818デフォルトの名無しさんNGNG
クラス間のインターフェイスをテストするためにスタブで置き換えやすい
設計にしておくにはどんなコツがありますか?
所有しているオブジェクトを取りかえるインターフェイスなんぞを
作ってしまっていいものなのか…、ちょっと不安です。
プロトタイプパターンを使って…とかも考えましたが、そのために複製するための
インターフェイスを用意するのもなんだなあ、と。
0819デフォルトの名無しさんNGNG
>>812
現場知らないことがありありだからね。

(見えないけども決まった要求が必ず存在しているにもかかわらず)
要求定義のやりかたが悪いから不要な仕様変更が起こる
その要求定義能力の不足を置いておいてXPとか言う前に要求定義工学やれ。
# かなり意訳

みたいなこと書いてるし
0820デフォルトの名無しさんNGNG
まぁ、若い人には、今の現場を前提としない思考実験してもらうのも、
悪くはないんじゃないかな?

#掲示板読んでないけど!
0821819NGNG
>>820
うむ、なんのしがらみなく本読んで考える時間があるのはうらやましいぞ。
0822デフォルトの名無しさんNGNG
そうだよなー。教科書どおり仕様が最初に全て決まってくれれば・・

ソフトウェアってイヤン
0823819NGNG
中小規模のソフトウェアにソフトウェア工学が使えないというのはただの怠慢だみたいなことを
いいながら、大規模ソフトウェア以外はソフトウェアじゃないとおっしゃるのは、まさにソフトウェア工学者のかがみ。
XPが出現してもてはやされるようになった理由がよくわかるね。
0824デフォルトの名無しさんNGNG
方法論を論じるには、経験が必要だってこったな。
0825デフォルトの名無しさんNGNG
>>818
所有しているオブジェクトを取り替えるインターフェースの代わりに,
コンストラクタで渡してやる,ってのはどう?
0826デフォルトの名無しさんNGNG
825に一票

引数なしの実際に使うコンストラクタと
引数ありのテスト用コンストラクタをつくる程度でよいかと
0827デフォルトの名無しさんNGNG
>>826

なるべくなら、そのテスト用コンストラクタがテストだけでなく実コードで利用さ
れるような設計が望ましい。
0828デフォルトの名無しさんNGNG
「エクストリームプログラミング アドベンチャー」ゲットage
0829デフォルトの名無しさんNGNG
>>827
禿同

>>825 >>826
使わんコードテストしてどうする?

>>818
Immutableパターンってどうよ。
ズレテル?
ttp://www.hyuki.com/dp/dpinfo.html#Immutable
0830825NGNG
>>829
825だけど,おれも実コードで使う派だよ.

>Immutableパターンってどうよ。
Immutableパターンはちょっと違くない?
不変性を求めた場合,インスタンス変数の変更だけじゃなく,内部状態の変更もできなくなってしまうような.
0831818NGNG
みなさんありがとうございます。参考になります。
テストのためにというだけではなくて、もう一歩すすめて
所有するオブジェクトを外部から指定可能にしてみる、と考えて
みるべきなんですね。ただ、コンストラクタで渡された場合と、
内部で生成した場合とでは破棄の仕方が変わってくるので、ここ気をつける
べきですね。

>>829
んーと、そのImmutableパターンで使われている内部の変更不可能なオブジェクトを
スタブに置き換えてテストしたいなー、ということなんです。
0832829NGNG
>>831
オブジェクトが持ってるインスタンス変数のインターフェイス(型?)を外部から
変更されたくないで良いのかな?

うーん、それじゃあ表明しかないんじゃないかな?
各メソッドの先頭にassert()付けて、そこで型検査とか
別案ではオブジェクトにselfCheck()メソッドを作ってそこので
型検査する各メソッドから、この表明selfCheck()を呼び出すでどう?
地味だけど、これしかないような気がします。

C++なら型にconst修飾子を「Object* const」という風に付けると
ポインターは変更不能だけど、ポインターが指すオブジェクトの内部状態は
変更できます。
この案は実際使えるかどうかわからんけど、どう?

>内部で生成した場合とでは破棄の仕方が変わってくるので、ここ気をつける
>べきですね。
いえ極力、実際に使うプログラムでテストしないとダメっていうことです。
だからスタブを取り替えるというのは、あまり方法ではないような気がします。
スタブをテスト用に変えなきゃダメな場合も有りますがね。極力しないほうがイイ!
たまに有るんですよ、テストはOKでも実際使っているコードにバグがあるっていうこと。
ふ(;_;)
0833デフォルトの名無しさんNGNG
>>808
最近,かなりきてますね
http://tcup7006.tripod.co.jp/aspara_2000/bbs
0834デフォルトの名無しさんNGNG
>>833
放っておいても自滅しそうなので、ぼちぼち眺めてます。

にしても、なんつか、挫折のしかたまでイヤな感じだなぁ…
0835826NGNG
>>829
UnitTestしやすさからいうと極力スタブに変えるほうがよい。
スタブ使わないとUnitTest難しくない?
実際の動きもテストするけどそれはまたそれでやればよいので、
UnitTestしやすいようにすべきかと。

あと、型チェックしてたらインターフェイスの意義が…

コンストラクタはひとつ(引数あり)で
普段はstaticメソッドとか適当な場所で本物を渡す、
テストでは好きなだけスタブを渡す
ってのはどう?
これならImmutableでstabでUnitTestが達成できる、はず、多分。
0836デフォルトの名無しさんNGNG
>>834
同感.
変な考えをする人がいるものなんだと,これほど感じたことがない.
どう声をかけてよいかもわからない.
可愛そうにも感じる.
0837デフォルトの名無しさんNGNG
宗教団体みたいだな。
0838デフォルトの名無しさんNGNG
>>836
楽しいのがいちばんなのにねー。

0839デフォルトの名無しさんNGNG
経験則「全角英数字を使うプログラマにまともなプログラマはいない」
の事例がまた一つ。
0840デフォルトの名無しさんNGNG
通りすがってきた。
0841デフォルトの名無しさんNGNG
見た見た>>834

しかしいったいこいつは何様のつもり?
責任もってリリースしたことのないただの学生だろ?
なんつーか、畳の上で水泳の練習やってておぼれかけてるという
すごいやつだな。
0842デフォルトの名無しさんNGNG
841だ。追記。

しかも「古式泳法」で。

0843デフォルトの名無しさんNGNG
泳ぐという点で言えば
古式泳法って結構馬鹿にできないのよ
0844デフォルトの名無しさんNGNG
「犬かき」で、が適当かも。
0845デフォルトの名無しさんNGNG
ま、そりゃそうだな>>古式泳法
ちょっと例えが変だったスマソ。

しかしこのアスパラにどう言葉をかけていいのかわからんなあ。
一応真剣にプログラマ界のこと考えているようではあるし…。
0846デフォルトの名無しさんNGNG
umm... 話しの流れを変えちまうが。
あのさ、実務でCRCカードって奴を
使った事のある人、居る?
どうもユースケースの辺りにチラホラ
名前が出て来たりするんだけど、どう?
0847デフォルトの名無しさんNGNG
>アスパラ
ま、暖かく見守っていこうや。
0848ボソNGNG
みずほはXPで開発しますた
0849デフォルトの名無しさんNGNG
いまオンザジョブリファクタリングの最中です。
0850デフォルトの名無しさんNGNG
>>848 へー、開発機のOSの話ですか。
   誰もそんな事聞いてねーよ
0851デフォルトの名無しさんNGNG
>>850
XPはM$の製品だからねー
バックドアが漏れなく付いてくる
0852デフォルトの名無しさんNGNG
てぇことは、2重引き落としされたのは、ビルゲツーのさいふへ?
0853デフォルトの名無しさんNGNG
ペア引き落としです。
0854デフォルトの名無しさんNGNG
Mの件はこっちにも情報があったよ
http://www20.big.or.jp/~o-shin/bbs/common/complain/bbs.cgi?num=1605&ope=sel&id=
0855デフォルトの名無しさんNGNG
http://www.intellij.com
のIntelliJ IDEAを試していますが、

debuggerがどうしても動作してくれない・・・。

Bad argument「Argument invalid」ってエラーメッセージが出て、
そこから先に進めず袋小路にはまってます。

debuggerが動かないと、リファクタリング機能Onlyでしか使えなく
なってしまう。
0856デフォルトの名無しさんNGNG
>>855
質問の答えにはなっていないんだけど、eclipseもリファクタリング機能が使えるから、そちらを試してみるのはどう?

[JAVA開発環境 "eclipse" is COOL!!]
http://pc.2ch.net/test/read.cgi/tech/1013268002
0857デフォルトの名無しさんNGNG
>>856

試してみました。
なかなか良さげ。

でもIDEAの方がリファクタリング機能は多くある気がするんだけど、
どうなんだろう?
0858デフォルトの名無しさんNGNG
VBUnit Support Tool をダウソしたんだが、エラーが出る
これソース付いてるけど、治したって人いる??

http://www.gj.il24.net/~nakasima/download/vbUnit3ST/index.htm

急な案件で使いたいが、作者にメールするよか早いと思って、こっちに書キコさせてもらってるが。。。
0859デフォルトの名無しさんNGNG
>>858
あ、スマソ。ちなみに140の方なんだが
0860デフォルトの名無しさんNGNG
>>858
まずは、喪前の環境をかけ!
話はそれからだ。
0861デフォルトの名無しさんNGNG
>>860
猛烈にスマソ
Win2000 Pro SP2/IE5.5/VS6.0 Pro SP5/
で。。。C:\VBunit に VBUnit3 インストしたんだが、
VBUnit Support Tool の SetUp.exe 実行するとエラー
どうもソース見ると、レジストリあたりでエラー起こしてるが・・・
0862私的メモNGNG
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
>>164まで読んだ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0863デフォルトの名無しさんNGNG
>>861
スマソ解決!!! SP3 だったんで SP5 入れたらインストでけた
0864デフォルトの名無しさんNGNG
>>863
よかったな。環境を確認させた>>860は神(イヤ、普通か)

それより、開発ソフトウェアの適正な見積(工数、期間)を行う方法って
XPではどうやるの?

このスレ舐めてみたけど、前時代的なLOCで計測したとか、安全率
2-3倍とかンナアフォなって感じなんだけど。
0865デフォルトの名無しさんNGNG
>>864

経験で・・・。昨日できたことは、まぁ明日もできるだろう、という感じ。
0866デフォルトの名無しさんNGNG
>>865
(゚Д゚)ガァーン
0867デフォルトの名無しさんNGNG
ねぇねぇ、ココにある記事ってRUPってあるけど、XPぽい。

http://www.atmarkit.co.jp/fjava/devs/redge03/redge03_1.html

実際んとこどうなの?
0868789NGNG
>>867
RUPは大人数で取り組む大規模プロジェクトだけじゃなく、小規模なプロジェクトでも
使えるんですよって記事だとおもうけど。

実際ちょっとツールを作ったりするときなんかにこういう手法を採用しとくと、それなり
の規模のプロジェクトでRUPする時のためのいいトレーニングになりそうだね。
まぁ手間は増えるんだけどさ、開発プロセスの良いところ悪いところが把握できて
いいかもしれないよ。
0869デフォルトの名無しさんNGNG
>>867
RUPとXPの違いって何なんだろう。精神は違うかもしれないけど、
やることは同じじゃないの?
それから2ページ目には
”また、(真のXPスタイルで)自分で考えつく限りのテストと併せ、”
なんて記述もあるよ。
0870デフォルトの名無しさんNGNG
やること似てるか?全然違うと思うが。
0871デフォルトの名無しさんNGNG
>>870
激しく同意
0872デフォルトの名無しさんNGNG
>>869
XP の話題性に RUP はかなり食われているので
最近 RUP は XP と競合しませんよてなスタンスをしてる(ように見える)。
確かに RUP はプロセス論で、XP ほど実作業に沿った規定をしてないから
部分的に取り入れることは可能かな。
0873VBAUnitNGNG
>>858
これ見て思ったんだけど、VBAUnit ってまだ誰もつくっとらんのかな?
0874デフォルトの名無しさんNGNG
>>873
VBAってテスト作るほどの物が要るだろうか・・・

>>872
RationalはUMLにとどめて置けばよかったのにって気はする。

>>864
見積・・・FPじゃだめ(・∀・)?? 綴りも似てるし。
0875デフォルトの名無しさんNGNG
>>869
どっちも設計してコーディングしてテストするわけだから一緒ちゅぁ一緒だな。
0876デフォルトの名無しさんNGNG
>>874
基本的な考え方は変わらんと思うぞ。まずテスト、書いたらテスト、またテストってか。(w
0877デフォルトの名無しさんNGNG
んー。XPするときに記述はUMLつかってるひといないの?
0878デフォルトの名無しさんNGNG
使ってるんじゃない?
UMLって、しょせん図のフォーマットなんだから
0879デフォルトの名無しさんNGNG
> 「StakeHolderへ利益を確保する」のは、目的であって、目標とは若干
> 違うと思います。目的と目標の違いを端的に表す言葉として、「目的はパリ、
> 目標はフランス軍」という科白を読んだことがあります。

濱井さんって
http://pc.2ch.net/test/read.cgi/sec/1018445619/
でもたたかれてるけど(これはたたきすぎと思うけど)、抽象的な
話(屁理屈をこね回してるようにしかとれないことが多々)が多くて
辟易する。

それ以外の部分は悪くないんだけどね。
0880デフォルトの名無しさんNGNG
↑は[XP-jp:03400]のこと。追加スマソ
■ このスレッドは過去ログ倉庫に格納されています