スキップしてメイン コンテンツに移動

パターンとテストと相談中

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)『JUnit実践入門』を読んだ。

ユニットテストと言えば、『アジャイルサムライ』で「問答無用で実践すべき」とされている4つの活動の一つ。
  • ユニットテスト
  • リファクタリング
  • テスト駆動開発
  • 継続的インテグレーション
実施してはいるけれど、書き方がJUnit3系だし、TDD のアンチパターンにものの見事に陥っていたので、JUnit4系でどう書くといいのか勉強しようと思って。

読んでみたら、入門からアドバンストな内容から演習まで入っていて、お腹一杯。『【Part 4 開発プロセスの改善】』ではテスト駆動開発だけじゃなくて、継続的テストや振る舞い駆動開発 (FDD, Feature Driven Development)の話まであった。

でも、まずはできるところから。まずはテストコードの整理から。今は、フラットに書かれていてテストクラス・テストメソッド一覧を見ても、何をテストしているか分かりにくい。

具体的には、テストクラスをコンテキスト(テスト対象の状態)ごとに構造化して、テストメソッドを以下の4フェーズをまとめることから始めていこう。
  1. 事前準備
  2. 実行
  3. 検証
  4. 後処理
あと、アンチパターンの小姑異邦人に陥らないように、検証フェーズに詰め込み過ぎないようしないと。

悩んでいるのが、テストメソッドの命名。思考停止してしまってアンチパターンの点呼そのものなんだけれど、この本がお薦めするように日本語でつけるのには抵抗がある。かと言って、メソッド名は英語でコメントが日本語訳というのも、メンテナンスされなくなりそう。メンバとの兼ね合いもあるから、ここでは結論が出ないか。

ところで、ちょっと気になったのが、誤植の多さ。サポートページを見て訂正しておかないと、混乱する記述がチラホラ。2012年11月21日発売で、2013年1月11日更新次点で11のエラッタが出ている。他にも1つ気がついたので報告しておいた。

ともあれ、内容は充実していた。まず、今までこれで良いのかな?と思いながらやっていたことを、良いこと/悪いことに整理できて良かった。それからこうしていこうという方向も見えた。アドバンストな内容はまずは演習から。ちょっとずつ良くしていこう。

このブログの人気の投稿

北へ - ゴールデンカムイ 16

『ゴールデンカムイ 15』、『〃 16』を読んだ。16巻を読み始めてから、15巻を買ったものの読んでいなかったことに気がつく。Kindle版の予約注文ではままあること。 15巻は「スチェンカ・ナ・スチェンク」、「バーニャ(ロシア式蒸し風呂)」と男臭いことこのうえなし。軽くWebで調べてみたところ、スチェンカ・ナ・スチェンク (Стенка на стенку) はロシアの祭事マースレニツァで行われる行事のようだ[1]。それなりになじみ深いものらしく、この行事をタイトルに据えたフォークメタルStenka Na StenkuのMVが見つかった。 16巻では杉元一行は巡業中のサーカスに参加することになる。杉元と鯉登の維持の張り合いが、見ていて微笑ましい。鯉登は目的を見失っているようだが、杉元もスチェンカで我を失っていたので、どっこいどっこいか。なお、サーカス/大道芸を通じた日露のつながりは、実際にもこのような形だったようだ[2]。 個々のエピソードから視線を上げて、全体の構図を眺めてみると、各勢力がすっかり入り乱れている。アシㇼパは尾形、キロランケ、白石とともにアチャの足跡を辿り、そのあとを鶴見のもとで家永の治療を受けた杉元が鯉登、月島を追っている。今更だけれど、杉元やアシㇼパは、第七師団と完全に利害が衝突していると考えていないはずだった。一方で、土方一味も入墨人皮を継続。むしろ彼らの方が第七師団との対立が深刻だろう。さらに北上するキロランケはまた別の目的で動いているようだけれど、なんで尾形も一緒なんだっけ? 『進撃の巨人』に引き続き、これもそろそろ読み返す時期か。 [1] 5つの暴力的な伝統:スラヴ戦士のようにマースレニツァを祝おう - ロシア・ビヨンド [2] ボリショイサーカスの源流は、ロシアに渡った幕末日本の大道芸人たちにあった 脈々と息づく「クールジャパン」 | ハフポスト

Memory Free - 楽園追放 2.0 楽園残響 -Goodspeed You-

『楽園追放 2.0 楽園残響 -Goodspeed You-』を読んだ。映画 『楽園追放 -Expelled from Paradise-』 の後日譚にあたる。 前日譚にあたる『楽園追放 mission.0』も読んでおいた方がいい。結末に言及されているので、こちらを先に読んでしまって後悔している。ちなみに、帯には「すべての外伝の総決算」という惹句が踊っているけれど、本作の他の外伝はこれだけ [1] 。 舞台は本編と同じでディーヴァと地球だけれど、遥か遠く外宇宙に飛び立ってしまったフロンティアセッターも〈複製体〉という形で登場する。フロンティアセッター好きなのでたまらない。もし、フロンティアセッターが登場していなかったら、本作を読まなかったんじゃないだろうか [2] 。 フロンティアセッターのだけでなくアンジェラの複製体も登場するのだけれど、物語を牽引するのはそのどちらでもない。3人の学生ユーリ、ライカ、ヒルヴァーだ。彼らの視点で描かれる、普通の (メモリ割り当てが限られている) ディーヴァ市民の不自由さは、本編をよく補完してくれている [3] 。また、この不自由さはアンジェラの上昇志向にもつながっていて、キャラクタの掘り下げにも一役買っていると思う。アンジェラについては前日譚である『mission.0』の方が詳しいだろうけれど。 この3人の学生と、フロンティアセッターとの会話を読んでいると、フロンティアセッターがフロンティアセッターしていて思わず笑みがこぼれてしまう。そうして、エンディングに辿りついたとき、その笑みが顔全体に広がるのを抑えるのに難儀した。 おめでとう、フロンティアセッター。 最後に蛇足。関連ツイートを 『楽園残響 -Goodspeed You-』読書中の自分のツイート - Togetterまとめ にまとめた。 [1] 『楽園追放 rewired サイバーパンクSF傑作選』は『楽園追放』と直接の関係はない。映画の脚本担当・虚淵玄さんが影響を受けたSF作品を集めた短編集。 [2] フロンティアセッターは登場しないと思って『mission.0』を読んでいない。 [3] 本編では、保安局高官の理不尽さを通して不自由さこそ描かれてはいたものの、日常的な不自由は描かれていなかったように思う。アンジェラも凍結される前は豊富なメ...

私は今、感想を書き終えた - あなたは今、この文章を読んでいる。

『あなたは今、この文章を読んでいる。:パラフィクションの誕生』を読んだ。この本はSFマガジンに16回に渡り連載された「パラフィクション論序説」が単行本化されたもの。 二部構成となっており、第1部「メタフィクションを越えて?」では「過去三十年ほどの時代的な変化と干渉し合い浸透し合うにつれて、どうもあまり望ましいとは言い難い「作者/読者」としての心性が醸造されてきたのではないかと思われる」問題が扱われる。第2部「パラフィクションに向かって」では、その「望ましからざる「心性」」を乗り越えようとしている「メタフィクション」から「パラフィクション」という概念の抽出が試みられる。 プロローグにはそんなことが書かれているのだけれど、その問題が具体的には何なのかも、「パラフィクション」がどんなものでその問題をどう解決するのかも、いまいちクリアにならなかった。 ざっくり整理してみよう。 まず発展の歴史。最初は「虚構」から「現実」に引き戻す「批判的メタフィクション」だった。次に「現実」に「虚構」を持ち込む「関与的メタファクション」へ派生した。さらに「虚構」化した「現実」を再度「虚構」として提示する「受容的メタフィクション」へと変遷した。これがこの本の歴史観。 次にこの変化を通して醸造されてきた(作者にとって)望ましくない「作者/読者」としての心性。作者にとっては、「メタは「作者性」への反省、批判、解体を企図しているかに見えて、その実、やればやるほど「作者」の機能と専制を確認することになっしまう」ことを問題視している[1]。読者にとっては、「虚構」化された「現実」の受容が、現状への批判意識の抑圧につながりかねないことを問題視しているようだ。 それで、「パラフィクション」は「軸足を、思い切って「作者」から「読者」へと引き渡す」ことのようだ。ただし、読みの多様性などにフォーカスして、「読者」の名の下に「作者性」を奪取するという話ではないとのこと。作者のいう「パラフィクション」的な作品として円城塔の『Self-Reference ENGINE』が取り上げられる[2]。 まず思ったことは「これ問題か?」という疑問。そういう本しかなくなる=言論統制が図られたらと思うと背筋が凍るが、これはメタフィクション小説についての話だ。次の「パラフィクション」についてはよくわからない...