TDD

    [node.js] TDD / Jest(관련링크)

    1. TDD TDD는 Test Driven Development의 약자로 '테스트 주도 개발', 개발하는 방식을 이야기 합니다. 쉽게 말해서 예상하거나, 원하는대로 코드가 동작하는지 확인 및 점검을하는 것 입니다. 수학문제를 풀 때 주로 하는 검산과 같은 맥락입니다. 이 검산을 자동으로 계속해서 반복하여 확인을 해주는 것 입니다. 만약 TDD를 구현하지 않으면 코드가 제대로 동작을 하는지 확인하기 위해서는, 모든 동작을 하나하나 일일이 눌러봐야하고, 시간이 굉장히 오래 걸립니다. 추가적으로 기능을 변경하거나 리팩터링을 하면서 결과값이 바뀌거나 버그가 생길 수 있습니다. 하지만 TDD를 작성한다면 이러한 문제점들을 신경쓰지 않고 쉽게 바로잡으면서, 시간절약과 동시에 빠르게 개발을 진행 할 수 있습니다. 또..

    [Node.js] TDD를 위한 Dependency Injection

    재사용성을 높여줍니다. 테스트에 용이. 코드 단순화. 종속적이던 코드의 수를 줄임. 코드의 가독성이 높아짐. 종속성이 감소. 구성 요소의 종속성이 감소하면, 변경에 민감하지 않습니다. 결합도(coupling)는 낮추면서 유연성과 확장성은 향상. 객체간의 의존관계를 설정 가능. 객체간의 의존관계를 없애거나 줄임. Dependency Injection은 의존성 주입으로써 위와 같은 장점을 가집니다. 의존성은 A객체에서 B객체의 기능을 필요로 하는 경우 우리는 A객체는 B객체를 ‘의존한다’ 라고 표현할 수 있습니다. 왜냐하면 A객체를 온전히 사용하기 위해선 B객체가 필요합니다. 즉, 의존대상 B객체가 변하게 되면, 그것이 A에 영향을 미치는 것입니다. 그래서 강한 결합으로써 커플링이라 부르기도 합니다. 주입은..