今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

XP

Dear XP

XP

見なきゃと思いつつ、会社で見るのはちょっと。。。とか思ってたら、すっかり忘れてしまってた。xpjug-ML からのメールに youtube の URL が書かれてるんだけど、このメールは自宅からは読めないので、自宅で見るためにココにリンクしとく。 ≫ http://www.yo…

Code Kata

XP OO

先日紹介したCode Kataだけど、改めて読んでみたら、意外とたくさんの知識を前提としていることに気がついたり。 以前、誰かからプログラマ入門者向けの課題がないか尋ねられたとき、Code Kataはどうかと答えたような記憶があるけど、今考えてみるとレベルが…

Code Kata

XP OO

かなり前に紹介したページがなくなっていたので、どこかに残ってないかと探してみた。 今になって読み返しても、どれもおもしろそうな課題。

久しぶりにコードを書く

あまりに久しぶりで、いまいち感覚が戻らないような。クラスの作り方が悪くて何度も作り直したり。あ、そっか。コードを書く前にしっかりクラスの設計しないと。(^^;

JUnit 4.0

いつの間にか出てたのね。そういえばどこだかで JUnit の新しいバージョンではアノテーションがどうだとか書かれていたような。 あ、ということはもしかして Java5 じゃないと動かないとか?

実行するたびにテストの結果が違う

JUnit でテストを実行すると、なぜか実行するたびに結果が異なる。なんか昔見たような現象だなあとか思って、自分の日記を検索してみたらやっぱり書いていた。 続・テストを実行するたびに結果が違う。。。 なぜなのか分からんけど、いつの間にか CLASSPATH …

ソフトウェア技術者サミット in 博多

参加してきた。ちゅーか、社内以外では初講師。まあ、聞き手が少なくて全員に目が届く程度だったので、やりやすかった。 XPJUG-Q の代表として、XPするとこんなにうれしいぞ!ってのをテーマにしゃべってきた。いまどきXPの啓蒙しても、って気がしつつ。そも…

時を超えたプログラミングの道

分かりやすい。(^^) プレゼンテーションの最後から2ページ目。 想像してごらん/絶対権力なんてないと その最後のページの「IMAGINE」の文字とジョン・レノンの絵に続くのがステキ。 ちゅーか、まだXPエクストリーム・プログラミング入門 第二版買ってなかっ…

ソフトウェア技術者サミット in 博多

XP

発表資料請求のメールがきた。まだ手を入れてないや。うむー。今日中になんとかしなければ。

プログラマではなくテスターとして現場デビューする

わざわざテスターとして育てなくても、 テストファーストとペアプロで開発させればいいだけなのでは?と思うんだが。。。 そもそも、テスターに求められる資質とプログラマに求められる資質ってかなり違うような気がする。例えば、プログラマはめんどくさが…

ソフトウェア技術者サミット in 博多 2006

【日時】2005年1月20日(金) 15:00 - 18:50 (受付開始:15:00) 【会場】福岡交通センター 第3ホール http://www.nishitetsu.co.jp/fkc/hall.htm 【定員】30 名(参加締め切り:1月18日、定員になり次第締め切り) 【参加費】無料(交流会を除く)

NAgileで始める実践アジャイル開発

XP

全体的にとてもいい感じ。シンプルに考える方向性が、自分の考え方とかなり似ている。 ひとつだけ違うなと思ったところがあったり。 private bool 日付として正しい { get { return 年が正しい && 月が正しい && 日が正しい; } } ここんとこ、C# の書き方は…

パスするはずのテストに失敗した

XP

プロダクトをビルドするのに全テストを実行してみたら、一部のテストに失敗した。ずいぶん昔に作ったテストだし何も変更してないので、失敗する方がおかしい。 仕方なく、テスト結果を調べてみると、UnknownHostException が発生していた。テストコードの中…

Agileに計画はいらないか?!

アジャイル、って「オヤジ語」に直すと、PDCAなんです。 平鍋さん、ナイス! そういえば、ふだん PDCA ってあんまり意識してなかったけど(ぉぃ)、考えてみれば何にでもあてはめられる。何かに取り組むとき、意識するようにしてみよう。そうすれば、その…

リファクタリングに付きまとうトレードオフ

「 「現物主義」に基づいたソフトウェア開発手法」に次のようなことが書かれている。 ここで大事なことは、Step1で作成した「50点のソフトウェア」は、すべて破棄することです。 すべて破棄したうえで、Step2でゼロから開発しなおします。 これは、Step1のコ…

変化ヲ抱擁セヨ

XP

たとえ朝令暮改であっても。

コミュニケーションが重要な理由

Q: コミュニケーションが重要なのはなぜか? A: 知識を共有するために必要だから。 契約書、仕様書、会議、電話などのすべての活動は、知識を共有し、相互の考え方に相違がないことを保証することを目的としている。極端な話、知識を共有できるのなら、コミ…

機能テストの自動化

XP

今月納入予定のシステム。カードリーダで FeliCa を読ませると、その FeliCa に対して許可されたロッカーなどの鍵を解錠する。監視センターでは施解錠や扉の状態をアイコンで監視する。 これの機能テストをやってるんだけど、カードリーダに FeliCa を読ませ…

XP開発部屋の一例

XP

某MLで紹介されたページ。実例なだけにとても参考になる。こういう環境で開発してみたいよね。 ホワイトボード上をいくつかのエリアに分けて使うっていいアイディア。自作のストーリーカード掲示板もすばらしいできあがり。 ついでに、このページからもリン…

単体テストと残存バグ

XP

ISO関連の資料をまとめるために、全クラス数とテストクラス数とバグ数の統計を計算した。 全部のクラスでテストを作っているわけではなくて、作りやすいところだけテストを作っている。クラス数とテストクラス数の比と、クラスあたりのバグ発生率を比較した…

WinRunnerの自動テスト

そういえば、昨日の夕方からWinRunner君に夜通し働いてもらった結果を見るのを忘れていた。7万回以上やっているけど1度も現象は再現してない。よかった、よかった。 たぶん大丈夫なんだろうけど、念のため、今週末も働きつづけてもらうことにする。

WinRunner による自動テスト

先週末にテストについて書いたとおり、週末は WinRunner に働いてもらった。その結果、現象が再現していた。つまりバグが直ってないってこと(涙)。自分ではこれで絶対に修正できていると自信持ってたのに。orz 手作業だけだと、テストしても間違いなく見逃す…

テスト

XP

最近、プログラムをいろいろと触っているけど、単体テストをなかなか書けない。 コードを読んでバグを発見しても、そのバグがGUIに関するところとか、マルチスレッドに関するところとかで、もともと非常に再現しにくいものだからテストを作りにくいから。 最…

自動化完了

XMLファイルから別のファイルをビルドの中で自動生成できるようになった。ビルド過程で自動生成できない状態では、自動ビルドするためには CVS に生成後のファイルを登録しておく必要があったけど、それが不要になった。 将来的にもXMLファイルから生成する…

少しずつ自動化

昨日の日記で少しでも時間を作って少しずつでも進めるとか書いたもんで、少しだけ行動に移す。 以前から、Ant で自動化しようと思いつつやらないままになっていたところがある。そこを部分的に自動化する。 パッケージソフトのセットアッププログラムで、XML…

アジャイルソフトウェア開発の奥義

今朝、この本をぱらぱらと見ていたら、「第14章 Template Method パターンと Strategy パターン:継承と委譲」というページが目にとまった。この章の最初のページの一部を引用する。 1995年頃には、継承は乱用されやすく、この継承の乱用によって生じるしっ…

自動テストツールを使おう

XP

以前も同じようなことを書いているけど、補足的な意味でもう一度。 自動テストツール(WinRunner)を導入し、テストを少しずつ追加している。テストを作るのも簡単じゃないから少しずつしかできないのよ。でも、自動テストツールはすぐにでも導入する価値があ…

WinRunnerでテストを書く

XP

WinRunnerで書くテストは単体テストじゃなくて受け入れテストにあたる。そういうわけで、カテゴリをXPにしとく。 WinRunnerでテストを書いているけど、やっぱりこれもテスタビリティが大切だってことがわかった。基本的には「受け入れテスト=機能テスト」の…

ビジネスワークフローのテスト

id:m-hashimoto さんが「ビジネスワークフロー関連」で次のように書いている。 ビジネスワークフローのテストファーストってどうすりゃいいのだろう? テストファーストは難しそうな気がする。やるとすれば、ワークフローをそれぞれの要素に分解して、それぞ…

失敗は成功の元

XP

どこにでもあることわざ。失敗を繰り返して最後には成功にたどりつく。 まずテストを書く。そのテストは失敗する。そしてターゲットのコードを書き成功させる。またテストを追加して失敗させる。そしてまたコードを書き足して成功させる。それを繰り返す。 …