21. 11. 04 TDD、計算プログラム


❓ TDDとは?

  • TDDはテストドライバ開発の略である.  테스트 주도 개발.反復テストのソフトウェアメソッド論を用いて,反復ステップにより小ユニットテストケースの作成とそのテストに合格したコードの追加を実現した.この方法を創造したKent BeckはTDDが簡単なデザインを奨励し、自信を持っていると言った.
  • は、実際のコードを記述する前に、失敗したテストコードを記述し、少なくとも失敗したテストに合格できる実際のコードを記述しなければならないことが重要である.これにより、実際のコードの期待値をより明確に定義し、不要な設計を回避し、正しいニーズに集中することができます.

  • ❗ TDD開発サイクル


    作成
  • Red→失敗したテストコード
  • 緑色→テストコードを作成して
  • に成功しました.
  • Yellow→Refactoring
  • 11 TDD開発方式のメリット

  • よりも堅牢なオブジェクト向けコード生産
  • 再設計時間短縮
  • デバッグ時間短縮
  • ❌TDD開発方式の欠点?


    2つのコードを最初から作成し、中間的にテストして修正する必要があるため、開発速度が遅くなると考えている人が多い.しかし、よく言えば、盲目的にコードを書くのはもっと効率的ではありません.考えてみれば、無計画にコードを書くのは完璧なコードではなく、エラーは常に発生し、TDD方式を採用するには必ずしも多くの時間を費やす必要はありません.慣れたほうがいいかも?

    init - Parameter Names and Argument Labels


    関数のパラメータと同様に、initパラメータにはinit内で使用されるパラメータ名と初期化時に使用されるパラメータラベルもあります.
  • However, initializers don’t have an identifying function name before their parentheses in the way that functions and methods do. Therefore, the names and types of an initializer’s parameters play a particularly important role in identifying which initializer should be called. Because of this, Swift provides an automatic argument label for every parameter in an initializer if you don’t provide one.
  • init(_ items: [Int]) {
            self.items = items
        }
    // 오늘 활동학습 할 때, 이부분이 이해가 잘 안가서 찾아봤음.
    // 지정해서 초기화를 할 수 있구나,, 와일드카드 사용이 익숙치 않아서 사용할때 헷갈린당ㅎ

    コンピューティングプログラム(Computed Property)

  • クラス、構造体、列挙型で使用され、記憶空間は記憶プログラムとは異なる.
  • は、他の記憶プログラムの値を読み取る演算したり、入力値を他のプログラムに記憶する
  • である.
  • は常にvarとして宣言されています!
  • var stockOfFruit: [Fruit: Int] {
            fruitStore.stockOfFruit
        }
    	// 프로젝트에서 사용한 연산프로퍼티. 코드가 한줄이라 return은 생략해주었다.
    var name: Type {
        get {           //getter (다른 저장 연산프로퍼티의 값을 얻거나 연산하여 리턴할 때 사용)
            statements
            return expr
        }
        set(name) {     //setter (다른 저장프로퍼티에 값을 저장할 때 사용)
            statements
        }
    }
    演算プログラムは値を格納するプログラムではないので、タイプ推定でタイプを特定することはできません.使用する場合は、タイプを常に明記し、どのタイプの値を受信して別のストレージ・プロシージャに保存するか、どの値を返すかを指定します.王重要!
    演算プログラムには値が格納されていないため、タイプ推定ではフォーマットが理解できないため、 発表の時. 型说明で资料型を明确にする!まだあります. 宣言された資料型の後ろに{}を付けるのは演算プログラムの使い方です.したがって、どのタイプの値を受信して別のストレージ・プロシージャに保存するか、どのタイプの値を返すかを指定する必要があります!!
    getterはその名の通り「獲得」です!
    したがって どのストアド・プロシージャの値を計算して返します. return構文は常に存在する必要があります
    setterはその名の通り「設定」です!
    したがって パラメータ値 どのストレージ構成に設定するかを実装します.

    参考資料


    「技術面接」TDD(テスト駆動開発)方法について
    Initialization - The Swift Programming Language (Swift 5.5)
    SWIFT)征服Property(2/4)-計算Property