-
Clean Code / 03 06 2022읽은 책 기록 2022. 3. 6. 15:10
외부의 코드를 사용할 때는 언제든지 사용자의 측에서 만들고 있는 코드와 외부 제공자측에서의 코드가
호환성 등의 문제로 충돌이날 수 있다.
또한, 현재 호환성의 문제가 없다하더라도
제공받은 코드(라이브러리, 프레임워크) 등이 업데이트되면서 호환성의 문제가 다시 발생할 수 있다.
따라서 사용자는 외부 코드를 익히고 파악하는 과정을 거쳐야하는데,
이를 '학습 테스트'라고할 수 있다.
즉, 이런 테스트 케이스를 이용해 외부 코드의 새로운 버전과 호환성을 점검해볼 수 있고
경계 테스트를 통해 새로운 버전으로 쉽게 이전할 수 있다.
이런 경계 테스트가 없다면 낡은 버전의 외부 코드를 오랫동안 사용하려는 유혹에 빠지기 쉬울것이다.
이렇게 경계 테스트를 원자 단위로 쪼개어 소프트웨어의 작동 유무를 부울 값으로 확인하는 작업을
'TDD'라고하는데,
실제 코드를 구현하기 전에 권장되는 최근의 소프트웨어 개발 방식이다.
TDD로 짜여진 단위 테스트 코드들은 한 번 실험하고 버리는것이 아니라
지속적으로 유지보수를 해줘야한다.
테스트 케이스를 유지함으로써 우리는 실제 코드를 좀 더 유연하고 쉽게 변경할 수 있을것이다.
단위 테스트를 작성할 때는 주의해야할 점이 몇 가지 있는데,
바로 하나의 테스트에는 하나의 결과만을 도출하게 만들어야한다는것이다.
즉, 하나의 부울값만을 리턴받아야한다.
그렇게 해야 이 테스트의 정확한 목적과 결론을 파악하기 쉽다.
또한 각 테스트는 서로 의존하지 않아야하며, 적시에 구현 및 시험되어야한다는 것을 들 수 있겠다.
유튜브나 블로그 등에서 자바에서 JUnit을 사용해
TDD 방식으로 구현된 메소드들의 샘플을 보긴했는데,
이것도 과연 내가 지망하는 프론트 분야에서 어떻게 사용되어야할지, 비슷한 라이브러리가 있을지
좀 찾아야봐야겠다.
책의 서두에 저자가 적어논 글 처럼, 말은 쉬운데 실천이 어렵다.
'읽은 책 기록' 카테고리의 다른 글
Clean Code / 03 09 2022 (0) 2022.03.09 Clean Code / 03 04 2022 (0) 2022.03.05 Clean Code / 03 02 2022 (0) 2022.03.02 Clean Code / 02 28 2022 (0) 2022.02.28 Clean Code / 02 25 2022 (0) 2022.02.25