2021年3月19日 星期五

[TDD]3A原則

  在撰寫單元測試的程式碼時,有個3A原則,來輔助設計測試程式,可以讓測試程式更好懂。

3A原則如下:

  1. Arrange: 初始化目標物件、相依物件、方法參數、預期結果,或是預期與相依物件的互動方式
  2. Act: 呼叫目標物件的方法
  3. Assert: 驗證是否符合預期
 public void UnitTest3ARule() {
     //Arrange

     //Act

     //Assert
 
}

[物件導向]SOLID

SOLID所包含的原則是通過引發編程者進行軟體原始碼代碼重構進行軟體的代碼異味清掃,從而使得軟體清晰可讀以及可延伸時可以應用的指南。SOLID被典型的應用在測試驅動開發上,並且是敏捷開發以及自適應軟體開發的基本原則的重要組成部分。 

SOLID 是5大原則的簡稱,分別為:

                  S = Single-responsibility principle (SRP) = 單一職責原則

                       -認為「物件應該僅具有一種單一功能」的概念

                  O = Open–closed principle (OCP) = 開放封閉原則

                       -軟體體應該是對於擴充開放的,但是對於修改封閉的

                  L =Liskov substitution principle (LSP) = 里氏替換原則

                       -程式中的物件應該是可以在不改變程式正確性的前提下被它的子類所替換的

                  I = Interface segregation principle (ISP) = 介面隔離原則

                       -多個特定客戶端介面要好於一個寬泛用途的介面

                  D = Dependency inversion principle (DIP) = 依賴反向原則

                      -依賴於抽象而不是一個實例