eXtreme Programming
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG実際実用的と思われるのはTesting, Refactoringの2つだと。
Cording Standardsは常識と考えればね。
XP全般について語ってもいいですが、
むしろTesting, Refactoringの二つをメインに語りましょう。
Testingのテクニックなんざをね。
参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
0741デフォルトの名無しさん
NGNG1. マニュアル類は、ページはそんなに多くないけど、馬鹿でかいので、印刷しておくと吉
2.ダウンロードしたjarを、インストールディレクトリにコピーして、実行
java -jar jrb-1.0.jar
3.自動作成された起動用バッチかスクリプトの修正
(クラスパス設定を、引数指定でなく、環境変数指定に修正)
4.起動バッチかスクリプトを実行して、起動。
JDK rt.jarとリファクタリング対象ソースの位置を聞いてくるので、適当に答える。
あとはマニュアルみれ
0742Delフサギコ ◆zE1iiRdQ
NGNG〜′,,,,,,,ミ,,゚Д゚彡< テスティングファースト!
UU""" U U \
誰しも、一度は、動いているキチャナイソースを
"綺麗に修正したら、動かなくなった"という
経験があるのではないでしょうか。
そんな経験が邪魔をしているのかも。
テスティングファーストなどで
テストが存在しないまま
リファクタリングに取り掛かると
デグレード地獄に陥りそうです怖いよね。
「リファクタリングが必要」
と言っても反対されるかもしれないから
「テストが必要」
ならより納得してもらえやすくて
「だから最初にテストを書け」
「テストがあったらリファクタリングできる」
という風にXPを浸透させてみてはどうでしょう。
俺は現在実践中なんですが,,,,,
使えん奴とペア組んでいて....アアヤリニクイ
0743738
NGNG同意。というか似たようなこと俺も実践中です。
XP導入はとりあえず脇に置いといて、プログラム品質の向上という誰もが納得でき
る共通目標をxUnitで実現。
↓
リファクタリングによって設計変更が楽になる。
↓
仕様変更が(以前ほどは)怖くなくなる。
↓
イテレーションしてみようかな。
という流れに持っていこうという目論見。
0744デフォルトの名無しさん
NGNG別スレで紹介があった次の人を浮かびました.
285 :デフォルトの名無しさん :02/03/01 20:38
この人のOOが理解できず構造化手法原理主義者への道は内の学校では有名.
http://members.tripod.co.jp/aspara_2000/
一緒の会社にならない事を祈るばかり.(藁
0745デフォルトの名無しさん
NGNGつまり、業務プロセスの再設計もリファクタリングの手法と同様に
一気にやるんではなく段階的にすこしづつやれというですね。
0748デフォルトの名無しさん
NGNGXP実践してる奴
いますかー?
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNGただ、自分の仕事ではユーザーインターフェースの占める部分が多いので
ここら辺のテストのいい方法はなんかないですか?
0751デフォルトの名無しさん
NGNG結論はでてない。本家の議論を参照したいところだな。
http://objectclub.esm.co.jp/ml-arch/extremeprogramming-jp/1500/1590.html
・実行自動化ツールを使う
・プログラム側で入力と同じイベントを起こす
くらいか。
Web アプリなら入力の自動化は比較的簡単だが…
0752デフォルトの名無しさん
NGNGただ、自分の仕事ではユーザーインターフェースの占める部分が多いので
ここら辺のテストのいい方法はなんかないですか?
0753デフォルトの名無しさん
NGNGただ、自分の仕事ではユーザーインターフェースの占める部分が多いので
ここら辺のテストのいい方法はなんかないですか?
0755デフォルトの名無しさん
NGNG0756Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡 < プロジェクト始動ってこんな感じ?
,;゙ ミ \_____________
ミ. ミ
/゛゛゛゛
今、社内でとあるプロジェクトが開始されてまして
担当者は一人で、運営。
あとは全部社外の外注さんに
プログラムを作ってもらおうとしてる人がいるんだけど、
その人にXPを勧めたら
(というかどうみてもXPしないとインパール作戦…(w)
スパイクソリューションの期間Onlyで
ある程度の物を作っちゃおう的アプローチなんだよ…
XP自体には、結構乗り気だったんだけど
(切羽詰ったらわらをもつかむってやつかもね)
XPのページを見た後に、こんな意見をもらいました。
0757Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚ミ < 知らない人のXPの感想は
ミ ミ \__ こんなもんかしら。
〜ミ,UU_ミ
「俺、プログラミングから離れちゃったしな
XPは見てもしかたないかも」
「仕事がStartした時、やることが何もわからない時は
コミュニケーションを取るというのは
一つの理想だと思うけど
技術者って結構、ブースに入って
一人もくもくと集中して作業するっていうのが好きでしょ。
そういう事がしたいプログラマのプライドとか
そういうのが考慮されてないから、うまくいかないのでは?」
。。。。。なんか、典型的に。。。。。
0758Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡っ━'~ | よくある勘違いかな
ミ∪ ~,ノ <
ミ '' ミ \____________
し'~し'
XPの名前に"プログラミング"が入っているので
プロジェクト運営の方法論も含む
(というかむしろそっちが本命ではないかしら)
という事が伝わってないのと
ペアプログラミングが印象的なので
旧来のプログラマの開発スタイルを乱すような
印象をもっているようです。
(俺は必要ならペアプログラミング抜きでXPすりゃいいと思う
例えば、テスティングファーストなど、
一人で実践していても有効すぎて涙が出そう)
一応、「そこはXP的にはちょっと違うんですが。」とか
「XPの全部を実践しなくても、少しづつ取り入れたらいいのでは?」とか
いいましたが
ま、それ以上は無理強いするわけでもなし。
俺は俺の仕事をうまくやるだけっす。
0759デフォルトの名無しさん
NGNGファウラー氏の言うように、これはルビコンです。
俺はもうルビコンを渡ってしまって、それ以前の環境に戻れません。
だから貴様らもがんがん使って、普及させてほしいです。
739のアレがどうだかは知らないけれど、
http://www.intellij.com
のIDEA(JavaのIDE)はもう本当にたまんないです。試せ。
0760デフォルトの名無しさん
NGNGルビコンって何?
0762760
NGNGThanks,
なるほど。Rubicon川になぞらえてRefactoring Rubiconを渡る、ということなのね。
手でやってたけど、確かに refactoring tool 使ったほうが良いな。なんか試してみるか。
0763デフォルトの名無しさん
NGNGこれは本当にすごいかも。
Forteを使ってIDEを敬遠していた自分の目を覚ましてくれました。
1000クラス位からなるプロジェクトにおいて、
メソッドのリネームが、使用箇所の量にもよるみたいけど大体1秒以下で終わります。
数日前まで、手動でおこなっていたのが馬鹿みたいだ…
こういうツールはコーディングに非常に強い勇気を与えてくれるように思います。
メソッドの名前が悪い?修正すればいいんだ。
クラスの場所が悪い?移動すればいいんだ。
ってな感じで。
0764デフォルトの名無しさん
NGNG>クラスの場所が悪い?移動すればいいんだ。
インスタンス化のタイミングまでは面倒見てくれないから、ちゃんとUnitTest
やろうね。
0765デフォルトの名無しさん
NGNG仕事は楽しいかね?
http://www.amazon.co.jp/exec/obidos/ASIN/4877710787/ref=sr_aps_d_1_1/250-5920816-4934658
XP 導入に悩んでる人がいたなら、理屈っぽいことは抜きにして、まずは「試して」みるといいよ。
人は変化を恐れるが、試すのは面白く感じるもんだ。どんどん試してみよう。
(おっと、しかし、XPでは、技術的には「試す」ことが許されるのは、リファクタリングに限定。)
0766デフォルトの名無しさん
NGNG#漏れも英語できなかった時、「マザーグース」(藁 読まされて、
#英文法や言い回し覚えたっけ、とか思い出してしまった。
0767デフォルトの名無しさん
NGNG2003年4月に就職予定です。
XPを全社的に採用している100人以下の会社はありますか?
雑誌の事例に出てくるような会社ではなく。
0768デフォルトの名無しさん
NGNGねーよ
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG実践してるのはペアプロだけ?
xUnit使ってなかったらお話にならないんだけど。
0771デフォルトの名無しさん
NGNGJUnitを使って、Test-Driven Developmentは、やっています。
リファクタリングツールはまだ試していなくて、手動リファクタリング
しまいます。
0772わなびー
NGNGAgile Allianceの人がいる会社?
ただ、日本でもアメリカでも小さくて全面的っていうのは
実はないんじゃない?取り入れてる会社はいっぱいあると思うけど。
ObjectMentorも教育、コンサル中心で豆蔵みたいな路線?
あと、研究室でペアプロ実践というのですが、それでどんないいものが
できたの? っていうつっこみが入りそう。人間欲張りだから。
チームで仕事できる人だという点で好印象だけど、もともと、
日本人にはチームで仕事する素質があるから、後でなんとでもなる
技能ではある、とMgrから評価される懸念がある気もします。
別の特技、専門、の能力のほうが興味あるかも。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNGおぉ、まだ卒業まで1年あるし、いい論文書いてちょ!
会社で1年半くらい前からコードレビューする時間ふやして4ヶ月くらい
前からもうほぼペアプロになってきたんですが、
最近感じるのは、結局最後にモノをいうのは個々人の能力だなぁ。ということです。
バンドで合わせてばっかのバンドがイケてないように、個人練習、大事です。
個人の時間持ち出しで家でやるか、40h/weekの中からとるか、いずれにしても、
一人の時間が必要な気がします。
サッカーも、やっぱりつきつめてくと、チームとしての強さは
もちろんで、その上で個人のテクニックや身体能力が最後にものをいう
なんて、聞きますが、それとも似てるかも。
0775デフォルトの名無しさん
NGNGそうかもしれないですね。全面的にやっているというのは
あまりないかもしれないですね。
アメリカだと、WEBでたくさん資料を公開してくれているので、
この会社は、XPやってるんだということがわかるんですが、
日本の会社の場合、いまいち、どこがやっているのかよく
わかりません。
ウルシステムズ、豆蔵のような有名どころは、いくつかの
プロジェクトでXPを適用していると思うのですが、たしか
どちらも新卒採用ないんですよねぇ。
>774
なるほど、そうかもしれませんね。
研究室では、友人と2人でやっているので、ペアチェンジが
ないです(^^;)。研究とは関係なくやっています。
いつのまにやらペアプログラミング、客先常駐、イテレーションが
実践されていた。
しかし、改修・改良プロジェクトのため、ソースが腐っていましたとさ。
0777デフォルトの名無しさん
NGNGリファクタリングが欠けてるYO!
0778デフォルトの名無しさん
NGNG[UML:75]
#私はXPも科学だと思います。ただし従来のパラダイムとは違ってきているので
はないかと、、
#で、ワインバーグも科学ではないかと、、
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG白本
0781デフォルトの名無しさん
NGNG従来のパラダイムと違うっていっちゃったら,何でもありだよね.
私はXPは宗教だと思う。ただし従来のパラダイムとは違ってきているで
はないかと、、
と言えてします.学生時代と変わらず相変わらず可愛いかんじだな.
0782デフォルトの名無しさん
NGNG0783N00b
NGNGPeoplewareかなんかに書いてあったけど、人間集中して人と議論できる時間の限界
週40は会社に出て来い(後は家でやれ)ってことじゃ・・・
オンサイト顧客
顧客要望を取り込めないSEの言い訳っぽいなー。
発送の変更やらオーダーの変更やら契約形態の変更やら為替予約の付け替えやら
してる顧客に開発チームに常駐しろと言われても。
ペアプロ
気の合わないペアの場合、ホントに効率上がってる?それとも小学校の遠足みたいに
好きな人同士〜て組んでやるの?
リファクタリング
テストの完全性はどうやって担保取るの?テストの完全性がいえないうちに
リファクタリングしてデグレードしてもいいのかなー
この辺の疑問に答えてくれる人プリーズ
0784デフォルトの名無しさん
NGNGKentの本にペアプロやコーディングスタイルの
準拠を拒む奴は追放とか書いてあったような。
実際うまくいかない場合どうすんだろね。
しょうもない点でもめるのは確かに消耗だよね。
>テストの完全性はどうやって担保取るの?テストの完全性がいえないうちに
>リファクタリングしてデグレードしてもいいのかなー
テストの完全性は必須ではないけど常に
十分なテストが用意されているのが大前提。
つまりリファクタリングする直前にはテストがあり、
リファクタリング後に別の作業に移る直前にも
テストコードがなければならない。
0785デフォルトの名無しさん
NGNG>してる顧客に開発チームに常駐しろと言われても。
きちんとしたシステムを得たいなら、仕事としてオンサイトすべしと。
むしろこれは権利だと思うんだよね。
謎仕様や糞実装にされてないか、
へぼい下請けに丸投げしてないかチェックしやすくなるんだから。
こんにち、端末と電話があればオンサイトしてても本来の業務の一部はできる。
原則としてオンサイトだから縄で縛って拘束するわけじゃない。
> 気の合わないペアの場合、ホントに効率上がってる?
気の合わない人と同じチームで…
気の合わない人と同じ部署で…
気の合わない人と同じ会社で…
0786デフォルトの名無しさん
NGNG>リファクタリング
> テストの完全性はどうやって担保取るの?テストの完全性がいえないうちに
>リファクタリングしてデグレードしてもいいのかなー
xUnit使えないDQNにはリファクタリングさせんなって事。
0787N00b
NGNGいやいや、xUnitに書いておくべきコードが充分なのかってこと。
なんとも、自分の「分かる」と他人の「分かる」って一致させるの
むずいな・・
>>784
そうなんだよ。充分なテストっていうのがね・・・
追放というのはソウユウ風に使われたら怖いね・・ココだけMgrクラスに
悪用されそうだ・・
>>785
遠隔でのXPは成り立たないんじゃなかったけ。即レスに感謝だが
この即レスが得られない状況を生み出す要素がまずいんでしょ。
PGなのに消耗品を買いに行かせられたり、契約チェックしなくちゃいけない
とかみたいに本来業務ではないが、システム実装のために必要なこととして
押し付けられてると顧客にはみられちゃうんだよね。
そうゆう業務に精通したSEが少ないって事だろうなんだろか
0789デフォルトの名無しさん
NGNG0790789
NGNGを立てるのが前提ね。
0791N00b
NGNGVBunitを少々つかてますが、いつも100%っていうのに逆に不安が。
0792デフォルトの名無しさん
NGNG0793789
NGNG0794デフォルトの名無しさん
NGNG脳内には。
0797デフォルトの名無しさん
NGNGまた糞訳をする長瀬さんということで鬱です.
出版社はどういうつもりだ!
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNG0800798
NGNGすいません。(藁を付け忘れました(藁
0801デフォルトの名無しさん
NGNGというか, XPをやれるようなメンバがいないような....
0802デフォルトの名無しさん
NGNGクエリを使った集計のテストをしたいんだけど、テスト用のデータ作って、
結果があっているかどうかの判別のコード書いて...
凄くめんどくさそう。
RDBMSを使った開発でのTestingについて、参考になるもがあったらおしえて
ください〜
0803デフォルトの名無しさん
NGNG便乗しちゃうと、OracleのPLSQLのテストなんかUnitテストあるといいなぁ
0804デフォルトの名無しさん
NGNGここ見れ
http://oracle.oreilly.com/utplsql/
0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNGCOOOOLLL!
サンクスコ(・∀・)イイ!!
0807アストロ球団
NGNG0808デフォルトの名無しさん
NGNGMLで主張する勇気がないようで,一人で寂しくほえていて
かわいそうなので議論にお付き合いしてあげてください.
http://members.tripod.co.jp/aspara_2000
0809デフォルトの名無しさん
NGNGとりあえず、ひとりじゃペアプロできないよな(ワラ
コヤツも脳内だろうけど。
0810デフォルトの名無しさん
NGNG社会に出て同じ事を言いつづけて仕事がこなせればたいしたものだ(藁
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG開発方法論もてあそびつつ、
開発方法論作ろうとしてる学生も、
デムパ扱いかよ、おめでてーな。
きっとこいつら、開発方法論って輸入するのが
正しいやり方だと思ってるんだろーな(ぷ
#掲示板見てないけど
0813デフォルトの名無しさん
NGNGJXUnitを使うと何とかなるかなという期待を持ってますが
今修羅場なのでこの状況で新しい道具の検証・投入は逆に
リスク増になりそうで人海戦術に頼ってます。
0814デフォルトの名無しさん
NGNGただの電波じゃん。見に行ってそんした。
0815デフォルトの名無しさん
NGNG0816narucy56 ◆wMOjCT4s
NGNG俺が思うに、やっぱりテスト用データは用意しなきゃダメ。
データ作るのが面倒でも、好きなスクリプト言語を使ってテストデータを
生成するとかして、何とかやりくりするべきでは。
0817デフォルトの名無しさん
NGNG>好きなスクリプト言語
xUnitが無いやつを使ってしまってテストデータ自体が信用できなくなる罠。
マジな話、テストデータの生成が多岐にわたるとUnit Testやらないと破綻する。
0818デフォルトの名無しさん
NGNG設計にしておくにはどんなコツがありますか?
所有しているオブジェクトを取りかえるインターフェイスなんぞを
作ってしまっていいものなのか…、ちょっと不安です。
プロトタイプパターンを使って…とかも考えましたが、そのために複製するための
インターフェイスを用意するのもなんだなあ、と。
0819デフォルトの名無しさん
NGNG現場知らないことがありありだからね。
(見えないけども決まった要求が必ず存在しているにもかかわらず)
要求定義のやりかたが悪いから不要な仕様変更が起こる
その要求定義能力の不足を置いておいてXPとか言う前に要求定義工学やれ。
# かなり意訳
みたいなこと書いてるし
0820デフォルトの名無しさん
NGNG悪くはないんじゃないかな?
#掲示板読んでないけど!
0822デフォルトの名無しさん
NGNGソフトウェアってイヤン
0823819
NGNGいいながら、大規模ソフトウェア以外はソフトウェアじゃないとおっしゃるのは、まさにソフトウェア工学者のかがみ。
XPが出現してもてはやされるようになった理由がよくわかるね。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG所有しているオブジェクトを取り替えるインターフェースの代わりに,
コンストラクタで渡してやる,ってのはどう?
0826デフォルトの名無しさん
NGNG引数なしの実際に使うコンストラクタと
引数ありのテスト用コンストラクタをつくる程度でよいかと
0827デフォルトの名無しさん
NGNGなるべくなら、そのテスト用コンストラクタがテストだけでなく実コードで利用さ
れるような設計が望ましい。
0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG禿同
>>825 >>826
使わんコードテストしてどうする?
>>818
Immutableパターンってどうよ。
ズレテル?
ttp://www.hyuki.com/dp/dpinfo.html#Immutable
0830825
NGNG825だけど,おれも実コードで使う派だよ.
>Immutableパターンってどうよ。
Immutableパターンはちょっと違くない?
不変性を求めた場合,インスタンス変数の変更だけじゃなく,内部状態の変更もできなくなってしまうような.
0831818
NGNGテストのためにというだけではなくて、もう一歩すすめて
所有するオブジェクトを外部から指定可能にしてみる、と考えて
みるべきなんですね。ただ、コンストラクタで渡された場合と、
内部で生成した場合とでは破棄の仕方が変わってくるので、ここ気をつける
べきですね。
>>829
んーと、そのImmutableパターンで使われている内部の変更不可能なオブジェクトを
スタブに置き換えてテストしたいなー、ということなんです。
0832829
NGNGオブジェクトが持ってるインスタンス変数のインターフェイス(型?)を外部から
変更されたくないで良いのかな?
うーん、それじゃあ表明しかないんじゃないかな?
各メソッドの先頭にassert()付けて、そこで型検査とか
別案ではオブジェクトにselfCheck()メソッドを作ってそこので
型検査する各メソッドから、この表明selfCheck()を呼び出すでどう?
地味だけど、これしかないような気がします。
C++なら型にconst修飾子を「Object* const」という風に付けると
ポインターは変更不能だけど、ポインターが指すオブジェクトの内部状態は
変更できます。
この案は実際使えるかどうかわからんけど、どう?
>内部で生成した場合とでは破棄の仕方が変わってくるので、ここ気をつける
>べきですね。
いえ極力、実際に使うプログラムでテストしないとダメっていうことです。
だからスタブを取り替えるというのは、あまり方法ではないような気がします。
スタブをテスト用に変えなきゃダメな場合も有りますがね。極力しないほうがイイ!
たまに有るんですよ、テストはOKでも実際使っているコードにバグがあるっていうこと。
ふ(;_;)
0833デフォルトの名無しさん
NGNG最近,かなりきてますね
http://tcup7006.tripod.co.jp/aspara_2000/bbs
0834デフォルトの名無しさん
NGNG放っておいても自滅しそうなので、ぼちぼち眺めてます。
にしても、なんつか、挫折のしかたまでイヤな感じだなぁ…
0835826
NGNGUnitTestしやすさからいうと極力スタブに変えるほうがよい。
スタブ使わないとUnitTest難しくない?
実際の動きもテストするけどそれはまたそれでやればよいので、
UnitTestしやすいようにすべきかと。
あと、型チェックしてたらインターフェイスの意義が…
コンストラクタはひとつ(引数あり)で
普段はstaticメソッドとか適当な場所で本物を渡す、
テストでは好きなだけスタブを渡す
ってのはどう?
これならImmutableでstabでUnitTestが達成できる、はず、多分。
0836デフォルトの名無しさん
NGNG同感.
変な考えをする人がいるものなんだと,これほど感じたことがない.
どう声をかけてよいかもわからない.
可愛そうにも感じる.
0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG楽しいのがいちばんなのにねー。
0839デフォルトの名無しさん
NGNGの事例がまた一つ。
0840デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています