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

eXtreme Programming

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

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

参考URL:
http://objectclub.esm.co.jp/eXtremeProgramming/
0088デフォルトの名無しさんNGNG
87>
なるほど。
テストする習慣作りに役立つアイテムみたいなものってことですね。
あのランプ(?)が赤とか緑に変わる瞬間はまあ楽しいです。

自作で表示部分を面白くしようかな
0089デフォルトの名無しさんNGNG
xUnitは、GUIで使うのではなく、コマンドラインで使うのが本筋だと思うんだが…。
0090デフォルトの名無しさんNGNG
LCRダナー
赤から緑になったら〜OKだよ!
00911NGNG
一応、GUIでも使えるものがあるらしいですよ。
JUnitは使えたような。
RubyUnitとかは使えませんけど。
#そもそも標準でGUI環境ないし>Ruby
0092デフォルトの名無しさんNGNG
今・・・
諸事情により・・・
Cでプログラムを書いています・・・
テストツール・・・
使いづらいです・・・
オブジェクト指向って・・・
素敵ですね・・・

というか・・・
あれないとやっていられないですよね・・・
0093デフォルトの名無しさんNGNG
・・・はコンソール版のUnitTestの「テストが3個正常終了しました」
の意味でしょうか?
0094デフォルトの名無しさんNGNG
毎行テストしてるんかい(藁
0095デフォルトの名無しさんNGNG
>92
組み込み系ですが、今回UnitTestをやってみようと思ってます。
Cですけど、やっぱり使いづらいですか?

cUnitを自分で改造しましたが・・・・
0096デフォルトの名無しさんNGNG
92じゃないけど
動的にobjectをロードできる仕組みがないとつらい。
CやC++だといろいろ工夫がないと萎えるね。

インタプリタ、最高ですかー?
0097デフォルトの名無しさんNGNG
日経ソフトウェアかなんかに書いてあったが、
ペアプロってやっぱり
「キーボードやマウスを」2人で共用することなのか?

いくらなんでもそりゃ嘘だと思うのだが。
ディスプレイ&キーボード切替器買えよっつーか。

ていうかペアプロって「ソースを」2人で共有
することだと思っていたんだが違うの?
CVS経由で(でなくても原理的にはいいが…)
隣人と同一ソースを頻繁にやり取りしながら
いじりまわすってことなんじゃなくて?
0098DelおたNGNG
>>96
ネイティブコンパイラだけどクラスローダーがあるDelphiまんせー
0099デフォルトの名無しさんNGNG
>>32
だいぶ、亀になるが、もし仮に、そんなツールを使ったら買ってくれる人はどのぐらい
いるかねえ…。
0100デフォルトの名無しさんNGNG
テストを自動生成するアプリなら製品化されてたな。
そんなんで金取るなという気もしたけど。
0101Del厨房NGNG
>>96
>クラスローダー
え、どんなの?どんなの?
0102デフォルトの名無しさんNGNG
>97

本当にキーボードとディスプレイを2人で共用することでしょ。
っていうか、一人がキーボード打っている間はもう一人は
後ろで監視してます。
0103ElleNGNG
コーディングしながらレビューだと理解してるよん。
0104デフォルトの名無しさんNGNG
>>102
でもさ、それをするために「キーボードが」同一である必要は
全然ないじゃん。キーボード切替器で明らかに十分であり、
たとえばキーボードの趣味が違う2人はペアプロできないのか?とかいう
馬鹿げた疑問が沸いてくるばかりなんですけど。

他人の手垢べったりなキーボードなんて打ちたいですか?
少なくとも俺はそれだけでストレス感じますね。
自分のなら諦めるけど。

うーん。どう考えても、現代的な開発方法論が、
そんな低次元な要求をするはずないと思うのですけど。

あと、極端な話VNCみたいに
「同一の論理画面を」別の物理画面/Key/Mouse環境で
共有できるソフトなんか、どうよ?
「テレビ電話で会議はできるか?」って言ってるのと等価ね。

>>103
だよねえ。
その目的さえ満たせば手段は問わないと思うのだけど?
0105デフォルトの名無しさんNGNG
まとまった情報がほしいので、
XP本を「日本語」に翻訳してくれということでファイナルアンサー?
0106どーでもいいけどNGNG
>>102 偏見かもしれないけど
日本人ほど潔癖なやつはめずらしいようなきもする
あと細かい違いを除けばアメリカには
キー配列ほとんど1種類しかないのでは?
0107ふみもたたけしNGNG
一応こっちにも書いておこう。

DUnitのチュートリアルを書いた。
http://members.jcom.home.ne.jp/monazilla/shortcuts/DUnit/index.htm
0108デフォルトの名無しさんNGNG
>>107
CppUnitなんかよりずっと見栄えが良い・・・すげー
0109DUnit初体験NGNG
早速DUnitを使ってみました。

function Max(m, n: Integer): Inteegr;
begin
 if m > n then result := m else result := n;
end;

という関数を書いたら

type TMaxTest = class(TTest)
 published
  procedure testMax;
 end;

procedure TMaxTest.testMax;
begin
 Test(Max(10,20), 20, 'Max(10,20)=20になるはず');
 Test(Max(20,-30), 20, 'Max(20,-30)=20になるはず');
end;

というテストコードを書いて、

TestSuite.Add(TMaxTest)

と書くとテストがフォームに登録されるということみたいです。

Maxのテストなんて書くまでもないと思いますが
後からじわじわ効いてくるものなのでしょうか。
もうちょっと使ってみます。
0110デフォルトの名無しさんNGNG
>あと、極端な話VNCみたいに
>「同一の論理画面を」別の物理画面/Key/Mouse環境で
>共有できるソフトなんか、どうよ?

キーボードは別でもいいけど、これはちょっと違うと思う。
物理的に同じ場所にいて、コミュニケーションしながら
同じ画面を見て、っていうのが大切だと思う。
0111デフォルトの名無しさんNGNG
>>107
(・∀・)イイ!
ページ見てなんかみたことある書き方だとおもたら、ShortCutsの作者さんだったか・・・。
0112デフォルトの名無しさんNGNG
自分のマシンの後ろに相方さんを連れてくればいいじゃん。
XPで一番賛否両論な部分だから、いろいろな意見が出るね。
0113デフォルトの名無しさんNGNG
>>106
>日本人ほど潔癖なやつはめずらしいようなきもする

まぁそれはそうかもって気がするが、
だからって共用しろと強要するのは、なんか違う。

>あと細かい違いを除けばアメリカには
>キー配列ほとんど1種類しかないのでは?

アメリカ人=単一言語主義者(そしてキーボードも…)という
推測はもしかしてあたってるかもだけど、それは別として、
配列だけがキーボードの特性じゃないんで、やっぱり嫌だな。
タッチだってサイズだって色々ある。
まぁ最近は何故か糞品質なキーボードが幅きかせてるけど。

>>110
まぁリーズナブルにはそうなんだけど、
将来つーか極端なこと言えば「テレビ会議」も
有りなんじゃないかと思うんですが…。
会議画面をsplit(?)してソースいじり中のディスプレイも映せば良し。

余談。今のところ現実的じゃないけど、考えてみれば
一人に1画面って決め付けるのもなんか妙だ。
SONYの暦本氏の研究みたいに、画面は黒板とかと同様に
複数の人で共用されても良いように思える。
Computer Aided Discussionとでもいうか。

んで、ペアプロってコーディング作業を
「一人の作業」から「Discussion」に変貌させる
っていうもんだよね。
0114デフォルトの名無しさんNGNG
YARPC19101で話してたひとは、キーボードは2つ・ディスプレイは
21インチくらいの1つでXPやってる、って言ってたね。
0115デフォルトの名無しさんNGNG
ペアプロは背中合わせになって別々の
モニタ・キーボードでやるのが経験的に一番よい
必要なら相手のモニターのぞき込めるし
腹立ったら相手の顔見なくてすむし:-P
0116102NGNG
>104
ペアプロ状態の時はキーボードも同一で、主にそのキーボードの
持ち主がタイプを担当する。
って感じじゃないかと解釈してたけど。

XPのペアプログラミングって頻繁なペアの変更を求めるし、
ペアを組替えるたびにキーボードを繋ぎかえるのって
面倒そうに思えるけど、キーボードに拘りのある人って
そうでもないのかな?

>その目的さえ満たせば手段は問わないと思うのだけど?

御意。
たぶん問わないと思うけど、キーボードに拘りのある人は
自分のキーボードを持ち歩けばいいんじゃないかな。
ペアの両方が気にする場合は切替器ってことで。
0117デフォルトの名無しさんNGNG
>>115
ソースの同期手段は何ですか?
論理画面共有?CVS?

>>116
>タイプを担当する

うーん?
やっぱりタイプって、コードを今考えてる本人が
自分で打ってナンボじゃない?

他人に口伝しつつ入力してもらうなんて遅いことしてたら
アイデアのほうが逃げていっちゃう。
逆にいえばそんなんでも平気なほど最初からタイプ遅い人間って
駄目とまでは言わないけどプログラム書くのは辛くない?

連弾よりツインキーボードのほうが絶対いいと思う。

>ペアを組替えるたびにキーボードを繋ぎかえるのって

延長ケーブルを計算機の裏から机の真ん前まで
伸ばしておけばよいだけでは?

関係ないけど俺はシリアルを頻繁に着脱する必要があったんで
シリアル延長ケーブル買ってきて机の真ん前に転がした。
そんな感じじゃない?

あ。
蛇足だけどプログラマ板に汗臭さスレが立ってるね(^^;;;;;
0118115>117NGNG
>ソースの同期手段は何ですか?
男は黙ってVisual Studio + Visual SourceSafe + IP Messenger + GCCだ(藁
何れにしてもXP-ペアプロを妄想で議論したって性悪論・破綻しか導き出せないぞ。
0119デフォルトの名無しさんNGNG
ペアプログラミング10則
http://objectclub.esm.co.jp/eXtremeProgramming/10PrinciplesOfPairProgramming.pdf
1のリンク先にあるんだからちゃんと読もうよ
0120デフォルトの名無しさんNGNG
>>118
IPMってところが素晴らしい。やっぱりあれが勝利の方程式ですか。

VSとGCCが混在ってのが凄い....

>性悪
....誰がそんな話をしていたっけかな....
0121デフォルトの名無しさんNGNG
>>119
pdfをプレーンテキストに変換するツールきぼん
0122デフォルトの名無しさんNGNG
>>121
ほい(笑
http://access.adobe.com/access_email.html

Extream Programming Installed は google に引っ掛かってるんだけどねえ
http://www.phooey.com/programming/docs/pm/xp/Extreme%20Programming%20Installed.pdf
http://www.google.com/search?q=cache:0EpZrrVnXRU:www.phooey.com/programming/docs/pm/xp/Extreme%2520Programming%2520Installed.pdf+10+principles+PairProgramming&hl=ja
0123デフォルトの名無しさんNGNG
頻繁にパートナーを変える場合はキーボード交換は面倒だし
できればエディタも統一しておくといいと思うけど
(うちではそうしている)
0124デフォルトの名無しさんNGNG
キーボードよりもむしろキーバインドが問題では・・。
あと、エディタ統一はないような気が・・・。
全部、統合環境のエディタで統一ってんならわかるけど。
0125124NGNG
>キーボードよりもむしろキーバインドが問題では・・。
極端で分かりやすい例だと、CtrlとCaps入れ替え
>エディタ
極端で分かりやすい例だと、vimとemacs(藁
どっちがどっちにうつっても死ねるし、大抵すでに最強環境構築してるはずだから、
別のに移行するのも死ねる(藁
0126デフォルトの名無しさんNGNG
>>125
そうそう。それそれ。
ソースの個人所有は認めないのは判るし、
コーディング規約の個人所有(つまり非統一)を認めないのも判るけど、
操作環境の個人所有まで認めないとなると、作業効率落ちまくりよ。
みんながみんなVC(?)で統一して満足ウマーできるとはとても思えず。

極論。手に障害とか有るんで特殊に調節されたデバイス
でないと困るような人は、同じ障害を持ってる人とでないと
ペアプロできない、んでしょうか?
そりゃ、変だ。

違うエディタに対しても、ファイル名と行番号さえやり取りすれば
「同じものをいじる」感じになるわけだし。
0127デフォルトの名無しさんNGNG
>>124-126
実現方法はともかく、「ペアプログラミング」という方法論については
どう考えるの?
0128デフォルトの名無しさんNGNG
>>127
よろしいんじゃないでしょうか、漫才スタイルでコーディングするってのは。
ボケと突っ込み。
一人じゃなかなか旨くいかんでしょう。

プロ野球の横浜が優勝した年、監督が
「プロにはチームワークは要らないんです。
それぞれの時に応じたコンビネーションを出来ればいいんです」
と言っていたけど、ペアプロってその境地だよね。

だから、ついていけない人も居るとは思うけど。
0129123NGNG
んー俺はあんまりこだわらんのでいいんだけど
結構こだわる人いるのね…  > かんきょう

どっかで、
「お前のエディタとプロジェクトの成功のどっちが大切よ?」
といって説得するといっていたぞ、たしか。
えらく極端だなとおもったがeXtremeだから、まあそんなもんかな
と思った覚えがある
0130デフォルトの名無しさんNGNG
>>129
全体主義はまずいよ。
同じ服着ろとか同じ車乗れとか言ってるのと
それ大差なくない?

どうでもいい部分は拘束しないのが今風だと思われ。
キボドやエディタ同じにしても
生産性も士気も上がるとはとても思えず。

どなんだろう?
unix系だと更にWindowManagerまで同じにせぇとか言うわけ?
0131デフォルトの名無しさんNGNG
ペアプログラミングについてはプログラマ板でやって欲しいな〜。
テクニカルな話題が全然でてないじゃん。
0132123NGNG
>>130
XPには多少全体主義っぽいところがある、と思う
「あっそう、でもよそでやってね(君はいらないよ)」

>>131
XPはかなりeXtremeなので政治闘争的なものになりがちだとおもわれ
じゃあ、
「AcceptanceTestって具体的にどう書くよ?」
ってのはある程度テクニカルかな?
01331NGNG
リファクタリングの本を買ってもらいました。
読む暇がないので序章だけを読んだんだけど、
破綻しやすいコードを書いてしまいがちな私には
目から鱗ものな内容だと思われます。
0134デフォルトの名無しさんNGNG
他のDUnitは試していないけど、
是非英語解説やらなにやらを作って
公開してもらいたいな。

素敵な出来だと思いますよ。
0135デフォルトの名無しさんNGNG
SEXプログラミングマンセー
0136デフォルトの名無しさんNGNG
3Pプログラミング
0137デフォルトの名無しさんNGNG
UnitTest、どの範囲で適用してます?
汎用ルーチンのみ?全部ごとに全部?GUIまわりも?
0138デフォルトの名無しさんNGNG
あげるべきでした
0139デフォルトの名無しさんNGNG
>全部ごとに全部
関数ごとに全部
0140デフォルトの名無しさんNGNG
>>137
単純なgetter/setter以外(なるべく)全部。
バグ発生時には、バグを再現するテストを追加。その後デバッグ。
0141デフォルトの名無しさんNGNG
133
Martin Fowlerですか?
私も買いました。

私はクラスの切り出しがあまくて、コーディングが進むにつれて、
「このクラスにこのメソッドはよくないなぁ」
とか
「このクラスの存在する意義はないかも」
って悩むことが多いのですが、この本から得た知識で
綺麗なクラス設計に戻せそうです。
0142デフォルトの名無しさんNGNG
テストクラス単位、メソッド単位でメモリリークを検出する
DUnitのアイデアが固まったので実装中。
若干実行速度が遅いけど、テストクラス単位なら許容できそう。

>>134
英語版とは気が早い。
ドキュメントの分量なんてたかがしれてるけど、
日本語版の開発環境で英語版のexeを作れるのかな?
例外のメッセージなんかも含めて。
0143デフォルトの名無しさんNGNG
ちょと方向性違う話だけど。

プログラム日記(w)って、どうしてます?
XP風に強引に言い直すならば
「日記は12のプラクティスのどこに当てはまるか?」
って感じなんだけど。それとも「んなもんねぇよ」ということ?

Wikiでプログラム日記つけたら
どうなんだろう?って、ちと思ったもので。

開発者、ソースファイル、関数/クラス/メソッド、などなどの
それぞれに対応するWikiNameを作って、
なにか作業するたびにリンクを張り合う。

もちろんwikiでなくてもいいけど、リンク(を含むファイル:htmlとか)を
さくさくとしかも複数人でいっぺんにいじれる環境が欲しいんで。

うーん。ソースをCVSに入れちゃうだけで十分、なのかなあ?
どうでしょう?
0144デフォルトの名無しさんNGNG
中小企業でXPってどうなんでしょう?
実際に導入してやっている方の体験談きぼぅん。
0145デフォルトの名無しさんNGNG
極論すればUnitTestさえしていれば
演繹的なコードの検証は不要である。
なぜならいくつかの単純なテストにパスすることで
コードの正当性が確認できるからである。

もし一つのコードの検証に多くの複雑な
テストが必要になるとすれば、
そのコードは複雑すぎるのである。
そしてそのコードはリファクタリングの対象となる。
0146デフォルトの名無しさんNGNG
>>145
んなこたーない。
つーか、言葉の定義が雑すぎて評価できない。
0147デフォルトの名無しさんNGNG
UnitTestで困ったことがあるのですが、
とある配列の順序をランダムに並べ替えて
それをリターンするメソッドがあるのですが、
これってどうやってテストを書けばいいのでしょう?

配列の長さが同じ!とかテストしても
あんまし意味ないですし。
0148>147NGNG
ソートして元の項目とあっているかどうかをチェックする。
どの程度ランダムになっているかという「性能」についての
テストはUnitTest以外のテストが必要になる。
0149デフォルトの名無しさんNGNG
ゲーム系に導入したいんだけどきつそう。
テストルーチンがサパーリ思い浮かばん・・・。
キャラクターの動きやらスプライトの描画やら・・・。
0150デフォルトの名無しさんNGNG
ゲーム系は携わったことがないからわからないけど、
テストの基本は入力とそれに対する出力をどうするか?を
決めていることが前提。

描画系はどうしようもなさそうだけど、
例えば人オブジェクトの移動メソッドくらいなら
入力:目的地の座標
出力:(移動後)現在の座標
みたいな事くらいは出来ると思う。
0151デフォルトの名無しさんNGNG
ファイルに出力するメソッドのUnitTestだと、
予想出力結果ファイルを作成して比べるしかないんでしょうか。
いろんなテストパターン毎にファイルを用意するのが面倒なのですが……。
0152デフォルトの名無しさんNGNG
>>151
文字列リスト、テキストファイルのテストはよくやるので
面倒ならxUnitを拡張してしまえばいい。
DUnitにはファイル・ファイル、ファイル・文字列リスト、
ファイル・文字列配列のテストを追加した。

TestFile('result.txt', ['aaa', 'bbb', 'ccc']); // result.txtの中身をテスト

>>149
今ちょうどゲーム(のライブラリ)でUnitTestやっているけど、
UnitTestを導入するのはUnitTestを書きやすい
ロジック部分のみに限定した方が無難かも。

描画はほぼ不可能。UIの絡んだシーケンスは困難。
従来のASSERT、デバッグログの代わりに
Testメソッドを完備しておいて、実コード中で
Testすると多少便利になるというぐらい。
0153149NGNG
おおお。ゲーム系レスつかないとおもたら意外にも。thanx
0154151NGNG
>>152
やはり正面から対応すべきなのですね。ありがとうございます。
周りでは誰にも訊けなくて鬱々としていたところなので
救われた思いです。当方RubyUnitがメイン利用なので、
ちょっと試してみようと思います。
0155>154NGNG
Rubyなら拡張するまでもないかも
p `cat result.txt` == <<"FILE"
aaa
bbb
ccc
FILE
0156デフォルトの名無しさんNGNG
なんか、
2ch上でペアプログラミングしているみたい >>154-155
0157デフォルトの名無しさんNGNG
>>149
ゲーム系描画ライブラリもUnitTest導入し始めています。
最初にフレームバッファの内容をキャプチャして画像ファイルに出力するモジュールを
書いておきます。
あとは描画機能を追加するたびにテストシーンを作って描画結果をファイルにセーブ。
描画エンジンを修正するたびに同じテストシーンを描画してファイルと比較。

先日もエンジンの高速化作業でマトリクス計算を微妙に間違えていたのを事前に発見
できました。

UIがからむもの、アニメーションがからむもののテスト方針はまだ模索中です。
0158149NGNG
おおお。
最初にキャプってテストは考えはしましたが、
本当にやっているところがあるとはー。
0159デフォルトの名無しさんNGNG
>>157
おおおお!まんせー!!すばらしい!!
158と同様に、157をホメテアゲタイage

ちなむとどう素晴らしいかというと、
「安易」な方法ではあるけどそれが確実で低コスト
であるのは間違いない、つまり
リーズナブルでベストな選択だ、って点が。
勝手ないいぐさで御免だけど。

>UI、アニメーション

逆にいえばそれらがテストツールにかけることが容易になればいいんですよね。

ふとWindowsMetaFileやDisplayPostscriptを思い出したんだけど、
つまり最終出力データ(=ビットマップ)じゃなくてそういうメタデータとして
表示とかを表現することにしておき、それ(多分適度に小さいだろう)のレベルで
比較するとかいうやり方でテストを行うと、いけるんじゃないだろか?
0160デフォルトの名無しさんNGNG
下記スレでなぜか、ゲーム系XPの話題が(w

『ゲーム作品、きちんとテストプレイしてます?』
http://tako.2ch.net/test/read.cgi?bbs=2chbook&key=991063240&st=27
0161デフォルトの名無しさんNGNG
eXtremeあげ
0162デフォルトの名無しさんNGNG
UnitTestの手法?に関しては、まだ模索状態ですね。
今、シミュレーション系の数値計算プログラムを作っているのですが、
出力が(ある程度わかるとは言え)未知なので、
UnitTestが少々難しい感があります。

簡単な数値なら、実数値の誤差がどのくらいまでならOK、
というテストもあるので多少助かりますが。

#あぁ、眠い。頭まわらないのでヘタレカキコでスマソ
0163デフォルトの名無しさんNGNG
リファクタリングにはまってしまい、
新い機能がなかなか追加できません

まあ自分の作った危うい設計のまま機能追加するのは、
いつかやばくなるのは分かってるんだけど、
先にすすめないのは結構きついっす

コードが大分スッキリ分かりやすくなったんで、
未来は明るいとは思うし、これからあたしくプログラミングするときに
前より綺麗な設計が出来るようにはなるとは思うんだけど・・
0164デフォルトの名無しさんNGNG
当たり前なんだけど、リファクタって環境問題のノリに似てるような。

汚染垂れ流しをやめれば必然的に素の成長速度は落ちるが、
かわりに持続可能な成長ができる見こみが増してくる、
長い目で見ればお徳、って奴。

というわけで、めげずにがんばれ>>163


>>162
そうか。「目的」自体が試行錯誤状態のプログラミングでは
うまくいかないかぁ…。
XPって「ゴールがあるから頑張れるの法則」に通じるところがあるから…
0165162NGNG
>>164
けど、試行錯誤しながらテストコードもしっかり書きましたよ。
その後のリファクタリングをしたんですが、
テストコードは、本体の大事な支えなんだな、と改めて実感。
#そしてテスト中毒への道をまっしぐら(笑)
0166デフォルトの名無しさんNGNG
XPって、(チーム)スポーツに
雰囲気が似ていると思ったのは、漏れだけ?
なんかみんなでスクラム組んで努力友情勝利って感じ。
勿論けなしてるんじゃないよ。
0167デフォルトの名無しさんNGNG
未だにシミュレーション系の数値計算プログラムをコーディング。
1つは完成したけど、もう1つが厄介者。

最初に完成したと思っていたプログラムには
重大な、しかし出現率が少ないレアバグがあったため
数時間書けてバグ探し・・・

UnitTestが書けるところはしっかり例外含めてテストしていたので
そこにはバグが潜んでいなかったのですが、
シミュレーション部分はテストコード書きにくいので放置していたら、
そこにしっかりとバグが居られました。
テストが書きにくいプログラムってイヤ(涙)
0168デフォルトの名無しさんNGNG
たしかに、イテレーションして答えが出るまでに数週間
なんてなソフトだと(シミュレーションじゃザラでしょね)
UnitTestどころの騒ぎじゃないかも。

「実行してみりゃ判るべ」という超帰納的な手法は
時としてアダになりますね。
おいそれと実行できないものを検証することができない
ということになる。
0169デフォルトの名無しさんNGNG
XP-jpに、
>長い間待たされた、XP Seriesの残り2冊が発売されたようです。
とあったけど、これはなんと言う本なんでしょう?
知ってる人います?
0170デフォルトの名無しさんNGNG
>>169

同じくXP-mlより。
一部を転載。

>洋書の,"XP Examined" と "XP in Practice" です.
># Installed の日本語版はもうすぐ!
>Examined は多くの記事の集合体.in Practice は実践例ですね.
0171デフォルトの名無しさんNGNG
数値解析シミュ完了。
いろいろここで愚痴ってすみませんでした。

けど、UnitTestはシミュレーション部分以外、
つまり入力と得たい出力がはっきりしているから
非常に役に立ちましたよ。
0172デフォルトの名無しさんNGNG
DelphiマガジンでDUnitの記事でてるね。
source forgeのDUnit使えばいいのに。
http://dmj.psnet.ne.jp/books/ISBN4-939049-16-7.html
0173デフォルトの名無しさんNGNG
誰か、CUnitを使ったことがある方居ますか?
0174デフォルトの名無しさんNGNG
俺自作して使ってるよ
0175デフォルトの名無しさんNGNG
俺も。
0176デフォルトの名無しさんNGNG
具体的な実装方(or ソース)きぼーん。
サンプルは多いほど参考になるので。
01771NGNG
RubyUnitを知ってまもなく作った
自作のMatrixクラスと、それのテストコードなら
サンプル程度で公開してもOKですよ。

ちなみに何故自作か?というと
標準のMatrixクラスの存在を知らなかっただけ(wara
01781NGNG
http://www.geocities.co.jp/Playtown-Denei/1491/testMatrix.zip
今見ると、なかなか恥ずかしいソース。
テストコードを見ると、何をしたかったのかがわかると思います。
多分。
0179デフォルトの名無しさんNGNG
>>1
than〜x!!
0180デフォルトの名無しさんNGNG
Delphiのテストコード
Unitは使ってないみたいだけど
http://www.geocities.co.jp/SiliconValley-Oakland/9028/src/MonaUtils20010427.lzh
0181デフォルトの名無しさんNGNG
>>180
monazillaのプロジェクトの一部っすよね。
はじめ見たとき、やけにテストコードしっかりかいてるとおもたら、
XPだったんやね。
0182デフォルトの名無しさんNGNG
JUnitを使い出していきなり疑問が。

MyAppTestを作って、
MyAppクラスのなかのprivateなメソッドをテストしようと
思ったのですが当然無理

MyAppTestにテストコードを入れるのはいやなんです。
基本的にpublicなメソッドを(もしくはpublicメソッドを使って)
テストしろってことなんでしょうか?
なやんでしまって、テストコードがかけない状態です
0183デフォルトの名無しさんNGNG
privateメソッドをユニットテストの対象とするかどうか?というのは
結構議論になっていますね。

XP MLのアーカイブ

http://objectclub.esm.co.jp/ml-arch/extremeprogramming-jp/

が参考になると思います。
0184デフォルトの名無しさんNGNG
すいません、既出でしたね。
よいリソースありがとうございました。
いろいろ調べてみます
0185デフォルトの名無しさんNGNG
プライベートメソッドにする前に、そのメソッドのテストコードを書いて、
テストがいい感じであれば、
・テストコードをコメントアウト
・メソッドをプライベート化
しています。
基本的にプライベート化してからは、そのメソッドのテストはしません。
できません、と言う方が正しいかな。
0186デフォルトの名無しさんNGNG
private,protectedなテストは必ずする必要はないけど、
publicなテストの前にちょっと書けると便利なことがある。
#ifdefしたりスコープいじったりしないでテストできるなら
できたほうがずっと良い。

上のほうでも書いたけどDelphiなら
普通にprivate, protectedメソッドのテストが書ける。
C#もinternalすれば書けそう。

ヘジ氏の言語設計はこのあたりの手抜き加減が絶妙だったりする。
0187デフォルトの名無しさんNGNG
>上のほうでも書いたけどDelphiなら
>普通にprivate, protectedメソッドのテストが書ける。
同一Unit(ファイル)内なら、アクセスできるの利用するんだっけか。
■ このスレッドは過去ログ倉庫に格納されています