XP
デザインパターン・メーリングリストで LSP(The Liskov Substitution Principle) が話題に出たのでこちらでも補足。 LSP(The Liskov Substitution Principle)とは、リスコフの置換原則のことで、ソフトウェア原則のうちのひとつ。LSP を一言で要約したものを…
明日は XPJUG-Q の会合に逝く。この前、ペアプロしようとしたとき、Eclipse をしてなくてせっかく持っていったノートパソコンを使えなかったことを思い出した。で、いちおインストールしてみる。重くて結局使えないかも、と思いつつ。 ついでに、英語キーボ…
Java のコレクションフレームワークには Set というクラスがあるが、この Set という名前、人によっては「設定する」という意味(つまり、setter/getter が意味する set)に捉える場合があったりするみたい。その意味で捉えると、コレクションとはまったく結び…
平鍋さんてば、なんでMIXIの日記でXPやOOの話を書くんだろう?MIXIに参加してる人しか読めないよ。もったいないってば。。。 なんて、ここで書いても平鍋さんには(直接は)伝わらないんだろうね。
今回は初参加者が3名いた。喜ばしいことだ。 みかままさんから、現在使用している九州大学の部屋は今年度一杯で利用できなくなるって重大な通告。九大移転に関連しているので仕方ないんだけど、これは辛い。別の場所を確保できればいいんだが。 1次会と2次会…
余談 会合の途中で29日に書いた モデルがビューに依存している モデルがコントローラに依存している ってのに言及される。あの時は気付かなかったけど、(誰だっけ)が言っていたstrutsでビューとモデルとコントローラを一緒に書くのは上記にはあたらない。だ…
今日のXPJUG-Qの途中でテストメソッド名を日本語で書いたらどうかって某社社長から提案があった。他の人が試してたけどすげーいいかんじ。やられた。次の機会から採用決定。
今の開発で使っているビルドマシンはPentiumII266MHz/160MB。これでもなんとか使える。1回のビルドに2時間近くかかるけど。(笑) ないよりはまし。このくらいのならそこらにころがってんじゃないの?古いマシンでそれなりの効果をあげた方が説得しやすいかも…
開催は今週末。 開催日時:平成16年 10月30日(土) 13:30〜 開催場所:九州大学 六本松キャンパス 福岡市中央区六本松4丁目2-1 http://www.kyushu-u.ac.jp/map/accessmap.html http://www.kyushu-u.ac.jp/event/map_roppon.html 1号館2階ゼミ室の予定
インターフェイスにメソッドを追加すると、モッククラスにもメソッドを追加したりと、同期が面倒になってきます。 実装クラスに置き換えてしばらくしたら、モッククラスを物理的に削除しちゃっているんですけど、他のモッカーのみなさんはどうしているのかな…
CVSに暗号化したバイナリファイルを登録してあるんだけど、その内容に間違いがあるのに気がついた。テストを書いとけばその時点で間違いに気付いただろうに。 理想的には、 暗号化前のファイルをテストする。 ビルド内でテスト済みファイルを元にバイナリフ…
この本はお勧め。 ソフトウェアプロジェクトに合わせて、アジャイルと計画駆動をうまーく組み合わせようってのがこの本の主題。 まずはアジャイルと計画駆動の分析をしている。アジャイルと計画駆動と分類されているが、実質は「暗黙知ドリブン」と「形式知…
JUnitのテストクラスを生成してくれるツール。なかなかいいかも。XPを知らない時代に作ったクラスって、テスト作ってないもんなぁ。それに、他の人に作らせたところもそう。 There is too much of stupid code to write in all places again. うぅ、まさしく…
id:daxnayaたんのどの時点でJavaDocを整備すべきかから引用。 要はいつJavaDocを作るか(JavaDoc用のコメントをプログラムに埋め込むか)が問題なのだろう。開発プロセスはいろいろあるが、テストファーストという前提にして、タイミングがいくつか考えられ…
JUnitでテストを実行すると成功するのに、Antでビルドするときには同じテストが失敗する。なんでじゃー!と原因を調べていたら、テストが参照しているテキストファイル(テストデータ)を相対パスで参照していた。 今回コミットしたテストって、相対パスでファ…
ファイルが期待しているフォーマットかどうかを調べたり、異常なフォーマットや、異常なデータを含んでいるかどうかを調べるためのテストを作ったけど、思わずファイルを上書きしてしった。テストにパスしなくなっちゃったよ。orz CVSにもまだコミットしてな…
某協力会社に作らせたクラスをリファクタリングすると、どのクラスもコードの量がほぼ3分の1になる法則を発見。 // ほげほげする hogehoge(); // なんかする nanka(); // いろいろする iroiro(); というコードが非常に多い。このコードを hogehoge(); nanka(…
JUnitだけでテストできる範囲を増やすには、AWTEventDispatchThreadから呼び出されるメソッドには、ほとんど何も書かないようにするとよい。ControllerまたはModelにメッセージを投げて、それだけで終わりにする。そうすれば、ControllerやModelのテストコー…
機能追加のため、昔、某協力会社に作らせたクラスに手を入れる必要があることがわかった。で、そのコードを見てみた。うむー。 200行近くあるメソッドが存在する 最も深いネストのレベルは6 コードと同じことをコメントに書いてある
まだ読んでいる途中。 ここで考慮しなければならないのは、世界中のソフトウェア開発者のうち49.999パーセントは平均レベル以下(もう少し正確に言えば中央値以下)であるという、どうにもならない統計値である。 へー、そういう統計があるんだ。 パレートの法…
まだ読んでいる途中。 この本って、ウォーターフォールとアジャイルをバランスよく組み合わせようというのが主題。どちらのプロセスにも一長一短があるけど、それぞれの長所を、プロジェクトに合わせてバランスよく組み合わせれば短所を補完できる。 今日の…
これはよさげ。そういえば、今までメッセージ付きのassertメソッドなんて使ったことなかったかも。 さっそく今日から assersion message first を実践しよう!
テストを書いていて、暗号化した結果をどのようにテストしようかと悩んだ。暗号化した後の文字列がどのようになるのかなんてテストを書くのは合理的じゃない。暗号化の結果をリテラルでテストコードに埋め込んでも、暗号化のキーやアルゴリズムを変えるとテ…
この前コーディングしたとき、最後にテストを失敗するようにしておくのを忘れてしまった。さて、何からやればいいんだっけ?(^^; やっぱりテストを失敗するようにしておくのって大事だよなぁ。 追記:テストのコンパイルが失敗する状態で終わっていた。(曝)
何気なくテキストモードで使ってみたら意外と使いやすい。 $ java junit.textui.TestRunner SampleClassTest でも、テキストモードでは発生しないと言うか、JavaVMで複数回のテストを実行したときにだけ発生する不具合があったりするので、GUIでもやっとかな…
先週のからさわぎ前夜祭のときのように、電車を乗り過ごすこともなく無事帰宅。 前回の開催が半年も前のことなのでみんなすっかり忘れていた。思い出すためにCRCカードでロールプレイする。 その後、残り1時間くらいで、4〜5人のグループに分かれてHTMLをペ…
明日(23日)締め切り。。。と言いつつ、当日参加でも問題ないけどね。 まだ参加申込メールが来てないけど、参加するんよね?>会場確保担当 ってか、参加してくれないと、みんなが路頭に迷っちゃう。(^^;
id:higayasuo さんの丁寧なコメントに感謝! 今までロバストネス図なんてあんまり気にしてなかったけど、こういうときに使うのね。さっそくぐぐってみたらいくつかヒット。中でもこの辺がお勧めかも。 ロバストネス図の概要 実践ロバストネス分析 なるほどね…
id:honeybe さんから以下の方法を紹介していただいた。http://d.hatena.ne.jp/honeybe/20040714#p2 私はHTMLでMockを作るという手をたまに使います。>画面遷移図。実際の遷移を動かして試せるので分かりやすさの点でお勧めです。 実は、手書きの前に、HTML…
Webアプリケーションにかかわるのは初体験だ!でも、本来の仕事で手一杯で、開発にかかわれないのが非常に残念。しかたなく要求事項をまとめて外部に依頼する。。。(哀) 時間的に余裕があったら Tapestry 使って自分でやるのに! で、おおまかな動作をまとめ…