ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210619 - TIL
    TIL/2021 2021. 6. 19. 23:53

    CleanCode - UnitTest

     

    Test를 작성하며 코드를 작성해야 하는데 진도가 느려지게 되니 자꾸 미루게 된다 ㅠㅠ

    • 테스트 슈트가 없으면 자신이 수정한 코드가 제대로 도는지 확인할 방법이 없다. (인정.....)
    • 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. 테스트 케이스가 있으면 변경이 두렵지 않으니까!!

     

    TDD법칙 세가지

    • 실패하는 단위 테스트를 작성하기 전까지 실제 코드를 작성하지 않는다.
    • 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
    • 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.

     

    가독성!! 가독성!! 가독성!!

    • 실제 환경에서는 절대로 안되지만 테스트 환경에서는 전혀 문제없는 방식이 있다.
    • 대게 메모리나 CPU 효율과 관련 있는 경우다.
    • 테스트랑 Assert 하나. 이렇게 하면 중복이 많아지는 경우가 생긴다. 그래서 최대한 줄이는 방법으로 가고 꼭 한 개일 필요는 없다.
    • 테스트 함수 하나는 개념 하나만 테스트하라.

     

    FIRST

    • 테스트가 느리면 할 엄두가 안 나니 최대한 빠르게
    • 서로 의존하면 안 된다 독립적으로
    • 어느 상황에서도 테스트 가능해야 한다. ex) 네트워크 연결이 없어도 돼야 한다.
    • 테스트는 bool값으로 결과를 내야 한다.
    • 실제 코드를 구현하기 전에 구현해야 한다.

     


     

    Tuple

     

    코드를 짜면서 써본 적이 노티피케이션에 info를 담아 보낼 때 말고는 한 번도 사용해본 적이 없기는 한데 그래도 어려운 개념은 아니어서 어려울 건 없는 문법이다.

    다만 한 가지 헷갈린 건 decomposition에서 하나는 let 하나는 var 이렇게 분리할 수 있는 줄 알았는데 불가능했다.

    해당 기능은 switch문에서 matching 할 때 가능 한 문법이다.

     


    Segue

     

    이전 화면으로 돌아가는 작업은 기존에 사용하는 segue를 이용하는 게 아닌 unwind segue를 이용해야 한다.

    기본적인 segue는 자주 사용했지만 unwind segue는 사용한 지 너무 오래돼 기억이 가물가물... 해서 다시 공부했다.

    돌아가고 싶은 곳에 unwindTo(_:) 메서드를 만들어 놓지 않으면 scene dock에 나타나지 않으므로 조심하자!

    728x90

    'TIL > 2021' 카테고리의 다른 글

    210621 - TIL  (0) 2021.06.21
    210620 - TIL  (0) 2021.06.20
    210616 - TIL  (0) 2021.06.17
    210615 - TIL  (0) 2021.06.16
    210614 - TIL  (0) 2021.06.14
Designed by Tistory.