본문 바로가기
면접공부/Backend

TDD || TypeScript

by Box 2021. 5. 29.
728x90

TDD(Test-Driven Delvelopment)테스트 주도 개발

-테스트코드를 먼저 작성한 후 구현하는 방법

 

장점

-객체지향적인 코드 개발

- 설계 수정 시간의 단축

테스트코드를 먼저 작성하기 때문에 최초 설계안을 만족하게 하며 입출력 구조와 기능의 정의를 명확하게 하게 되므로 설계의 구조적 문제를 바로 찾아낼 수 있다.

- 유지보수(리팩토링)의 용이성

기본적으로 단위 테스트 기반의 테스트 코드를 작성하기 때문에 추후 문제가 발생하였을 때 각각의 모듈별로 테스트를 진행해보면 문제의 지점을 쉽게 찾을 수 있다.

-디버깅 시간의 단축

기본적으로 단위 테스트 기반의 테스트 코드를 작성하기 때문에 추후 문제가 발생하였을 때 각각의 모듈 별로 테스트를 진행해보면 문제의 지점을 쉽게 찾아낼 수 있습니다.

 

단점

-생산성 저하

미숙하다면 일반 개발 방식에 비해 시간적인 요소가 많이 늘어난다고생각합니다.

하지만 어느정도 익숙해지고나면 초반에 테스트를 고려한 코드작성으로 개발시간이 늦어진다고 보일수있으나

전체적인  개발시간은 비슷하거나 단축되는 효과가있다고생각합니다. 

이후 코드수정 및 구조추가의 용이성을 생각해본다면  많은 도움이 된다고생각듭니다.

 

TypeScript

-자바스크립트에 타입을 부여한 언어업니다

-TypeScript는 MS에 의해 개발/관리되고 있는 오픈소스 프로그래밍 언어입니다.

 

장점

- 대형 프로젝트 개발에 좋다

- 디버깅 이 쉽다

- 컴파일 단계에서 오류 포착

타입스크립트는 타입을 명시하고, 디버깅에 용이하기에 대형 프로젝트에 더 좋다고 말할 수 있다.

단점

- 초반 세팅이 불편하다

기본적으로 설치해야 하는 모듈들, 컴파일하기위한 옵션들도 설정

모듈 사용, 프레임워크 사용시 초기설정이 까다로운편