0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SwiftでTDD写経 第一章 仮実装

Last updated at Posted at 2023-03-11

注意:TDD勉強会会用の資料です。
殴り書きしてあとで清書していくので投稿段階では綺麗ではありません。

この二つを考える。
●通貨の異なる2つの金額を足し、通貨間の為替レートに基づいて換算され
た金額を得る。
●金額(通貨単位あたりの額)に数値(通貨単位数)を掛け、金額を得る。

ざっくりまとめ。

TODOリストを作成する。
どんなオブジェクトが必要かと考えるのではなく、テストから始める。
用途にあった完璧なインターフェイスを考える。

一般化をする。
1.小さいテストを1つ書く。
2.すべてのテストを実行し、 1つ失敗することを確認する。
3.小さい変更を行う。
4.再びテストを実行し、すべて成功することを確認する。
5.リファクタリングを行い、重複を除去する。

依存と重複の問題。
まず初めに依存が現れる。
①あるベンダー①に依存したSQL
②あるベンダー②に依存したSQL

①と②はベンダーに依存した部分以外は同じである。(重複する。)

途中はともかく最終コード

playground.swift

var money = MoneyTest()

money.TestMultiplication()

class MoneyTest{
    init(){}

    func TestMultiplication(){
    var five = Dollar(5)
    five.times(2);
        assert(five.amount == 10)
    }
}

class Dollar {
    var amount:Int
    
    init(_ amount:Int){
        self.amount = amount
    }
    
    func times(_ multiplire:Int) {
        self.amount *= multiplire
        print(self.amount)
    }
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?