タグ

2013年4月18日のブックマーク (7件)

  • HaskellとテストとBDD - あどけない話

    Haskellでの BDD を実践するとどうなるかを考えるためのメモ。 型 豊かなデータ型とセクシーな型システムを持つ Haskell では、型が以下のような意味を持つ。 仕様 保守性の向上 簡単なドキュメント 設計図 BDD では、テストの用語ではなく設計の用語を使ってテストを記述する。だから Haskell で、まず型を書く習慣があれば、ある意味 BDD を実践していると言える。この感覚は、他の言語のプログラマには分からないかもしれない。 fromList :: Ord a => [a] -> Set a fromList = undefined このコードはコンパイルを通過するので、型に関する誤りがないことを確かめられる。 僕はへなちょこなので、型を先に書くこともあれば、後から書くこともある。 単純なコードはさっさと実装したい 型は GHC に推測させて、ghc-mod で自動挿入す

    HaskellとテストとBDD - あどけない話
    matekiki
    matekiki 2013/04/18
  • アジャイル開発における「TDD」と「BDD」の違いについて: 仕事を早く片付けて遊ぶための技術メモ

    アジャイル開発でよく登場する、「TDD」と「BDD」について調べてみた。 TDDとBDDの違いは? TDDとは、 テスト駆動開発 (てすとくどうかいはつ、test-driven development; TDD) とは、プログラム開発手法の一種で、プログラムに必要な各機能について、最初にテストを書き(これをテストファーストと言う)、そのテストが動作する必要最低限な実装をとりあえず行った後、コードを洗練させる、という短い工程を繰り返すスタイルである。多くのアジャイルソフトウェア開発手法、例えばエクストリーム・プログラミングにおいて強く推奨されている。近年はビヘイビア駆動開発へと発展を遂げている。 BDDとは、 ビヘイビア駆動開発 (振舞駆動開発; behavior driven development; BDD)とは、プログラム開発手法の一種で、テスト駆動開発から派生した物である。 (by

    matekiki
    matekiki 2013/04/18
  • 第5回 BDDとATDD | gihyo.jp

    はじめに 連載では、「⁠透明性」というキーワードで、アジャイル開発について説明しています。前回は、テスト駆動開発(TDD)の持つ、開発を促進する設計作業としての側面にスポットを当てて説明しました。今回は、それらの考えを展開させてみたいと思います。具体的には、振る舞い駆動開発(BDD)と受け入れテスト駆動開発(ATDD)という二つのトピックを、ご紹介します。 テストのレビュー 前回、テスト駆動開発におけるテストを、設計作業であるとする考え方をご紹介してきました。これは、個々のクラスのインターフェース(=振る舞い)を、テストにより明確にしてゆくというものです。結果的に、作られたテストは、実装との乖離を自動的に検出できる設計書となります。 仕様変更やリファクタリングに伴うソフトウェアの改変に際して、バグの混入を自動的に検知できるので、実装と設計の同期が取れるという大きなメリットがあります。 し

    第5回 BDDとATDD | gihyo.jp
    matekiki
    matekiki 2013/04/18
  • TDD,BDD,SDD,ATDDの話題

    hikaru world @hikaruworld そういえばTDDは良く聞くようになったけど、BDDやSDDを意識してやってるのはまわりではあんまり聞かないなぁ。詳しい人がいるなら情報交換したい . 2010-01-27 14:46:01

    TDD,BDD,SDD,ATDDの話題
    matekiki
    matekiki 2013/04/18
  • BDDについて自分なりにまとめてみた - UKSTUDIO

    BDDについて自分なりにまとめてみた Published on 2011-07-02 Updated on 2011-07-02 BDDという言葉も割と人によって指すものが違うようなので「俺の中でのBDDはこうだよ」って内容のエントリ。別に絶対的なものでもないと思うので参考までに 結論から とりあえず結論だけ知りたい人向けに。 BDDにはふたつの種類がある TDDの言い換えのBDD(開発寄り) ATDD(受け入れテスト)でのBDD(ユーザ寄り) 振る舞い BDDは振る舞い駆動開発と言われたりするように、テストという言葉のかわりに振る舞いという言葉を使う。日語的には仕様と言うほうがわかりやすいかもしれない。多分、BDDのイメージが掴みにくいのはこの振る舞いという言葉にあると思う。と言うのも振る舞いと言うのは、人の立場よって変わるからだ。例えば、プログラマがあるクラスを実装している時に言う振

    matekiki
    matekiki 2013/04/18
  • 理論物理学者のミチオ・カク氏。ムーアの法則はこの10年で終わり、次は分子コンピュータとの見通しを語る - Publickey

    「何年も前に、私たち物理学者はムーアの法則が終わると予想していました。一方で、分子コンピュータや素粒子コンピュータといった新しいコンピュータが登場すると考えられています。問題は、それがいつかということです」 著名な理論物理学者のミチオ・カク博士は、先日公開されたBigThinkのビデオでムーアの法則の終焉と、その先のコンピュータについて語っています。カク博士は、10年程度でムーアの法則は終わり、次は分子コンピュータだと予想しています。 シリコンの次は分子コンピュータ、そして量子コンピュータ カク博士は、ムーアの法則が熱と量子力学的な微細化の限界に近づきつつあると説明します。現在のプロセッサの回路は原子20個分の幅しかなく、これが5個になると、熱によってチップが溶ける、あるいは量子論に支配されて電子の位置が決定できなくなり、電子が回路の中にあるのか、外にあるのか分からなくなるため、シリコンに

    理論物理学者のミチオ・カク氏。ムーアの法則はこの10年で終わり、次は分子コンピュータとの見通しを語る - Publickey
  • 因果関係がないのに相関関係があらわれる4つのケースをまとめてみたよ(質問テンプレート付き) - Take a Risk:林岳彦の研究メモ

    どもっす。林岳彦です。ファミコンソフトの中で一番好きなのは『ソロモンの鍵』です*1。 さて。 今回は、因果関係と相関関係について書いていきたいと思います。「因果関係と相関関係は違う」というのはみなさまご存知かと思われますが、そこをまともに論じていくとけっこう入り組んだ議論となります。 「そもそも因果とは」とか「因果は不可知なのか」のような点について論じるとヒュームから分析哲学(様相論理)へと語る流れ(ここのスライド前半参照)になりますし、統計学的に因果をフォーマルに扱おうとするとRubinの潜在反応モデルやPearlのdo演算子やバックドア基準(ここのスライド後半参照)の説明が必要になってきます。 その辺りのガッツリした説明も徐々に書いていきたいとは考えておりますが(予告)、まあ、その辺りをいちどきに説明しようというのは正直なかなか大変です。 なので今回は、あまり細かくて遭難しそうな話には

    因果関係がないのに相関関係があらわれる4つのケースをまとめてみたよ(質問テンプレート付き) - Take a Risk:林岳彦の研究メモ