본문 바로가기

55

[이펙티브 타입스크립트] 1장 타입스크립트 알아보기 아이콘 추가커버 추가레이아웃 사용자 지정1장 타입스크립트 알아보기   생성 일시2024년 12월 17일 오후 2:48속성 추가댓글      🔹 아이템 1: 타입스크립트와 자바스크립트의 관계 이해하기타입스크립트는 자바스크립트의 상위 집합   타입스크립트는 자바스크립트의 상위집합이기 때문에 .js 파일에 있는 코드는 이미 타입스크립트라고 할 수 있다.  모든 자바스크립트 프로그램이 타입스크립트라는 명제는 참이지만, 그 반대는 성립하지 않는다. 타입스크립트가 타입을 명시하는 추가적인 문법을 가지기 때문  타입 시스템의 목표 중 하나는 런타임에 오류를 발생시킬 코드를 미리 찾아내는 것  타입스크립트는 타입 구문 없이도 오류를 잡을 수 있지만, 타입 구문을 추가한 다면 훨씬 더 많은 오류를 찾아낼 수 있다. 코.. 2025. 3. 18.
[단위 테스트] 7장 가치 있는 단위 테스트를 위한 리팩터링 7장 가치 있는 단위 테스트를 위한 리팩터링날짜2024년 5월 11일💡7장에서 다루는 내용네 가지 코드 유형 알아보기험블 객체 패턴 이해가치 있는 테스트 작성✅ 리팩터링할 코드 식별하기제품 코드를 2차원으로 분류할 수 있다.복잡도 또는 도메인 유의성코드 복잡도는 코드에서 의사 결정 지점 수에 따라 명시적으로 그리고 암시적으로 정의된다.도메인 유의성은 프로젝트의 문제 도메인에 대해 코드가 얼마나 중요한지를 보여준다. 복잡한 코드는 종종 도메인 유의성이 높고 그 반대의 경우도 있지만, 모든 경우에 100% 해당하지는 않는다. 복잡한 코드와 도메인 유의성을 갖는 코드는 해당 테스트의 회귀 방지가 뛰어나기 때문에 단위 테스트에서 가장 이롭다.협력자 수협력자가 많은 코드를 다루는 단위테스트틑 유지비가 많이 든다.. 2025. 3. 18.
[단위 테스트] 6장 단위 테스트 스타일 6장 단위 테스트 스타일날짜2025년 2월 3일♦️ 단위 테스트 스타일💡함수형 프로그래밍과 출력 기반 테스트와의 관련성단위테스트 품질출력기반 > 상태기반 > 통신 기반출력 기반 테스트입력을 넣고 생성되는 출력을 점검하는 방식순수 함수 방식으로 작성된 코드에만 적용전역 상태나 내부 상태를 변경하지 않는 코드에만 적용되므로 반환 값만 검증하면 됨.상태 기반 테스트작업이 완료된 후 시스템의 상태를 확인출력 기반 테스트보다 크기가 큰 편이므로 유지보수가 쉽지 않다.통신 기반 테스트목을 사용해 테스트 대상 시스템과 협력자 간의 통신을 검증애플리케이션 경계를 넘어서 외부 환경에 사이드 이펙트가 보이는 통신만 확인해야 한다.리팩터링 내성 지표로 비교출력 > 상태 > 통신출력 기반 테스트가 테스트 대상 메서드에만 결.. 2025. 3. 18.
[단위 테스트] 5장 목과 테스트 취약성 5장 목과 테스트 취약성 날짜2024년 4월 11일목과 스텁 구분테스트 대역 유형테스트 대역 다섯 가지 변형의 차이점도구로서의 목과 테스트 대역으로서의 목스텁으로 상호 작용을 검증하지 말라목과 스텁은 명령과 조회에 어떻게 관련돼 있는가?식별할 수 있는 동작과 구현 세부 사항구현 세부 사항 유출 : 연산의 예구현 세부 사항 유출: 상태의 예목과 테스트 취약성 간의 관계육각형 아키텍처 정의시스템 내부 통신과 시스템 간 통신 단위 테스트의 고전파와 런던파 재고 모든 프로세스 외부 의존성을 목으로 해야하는 것은 아니다.런던파 : 테스트 대상 코드 조각을 서로 분리하고 불변 의존성을 제외한 모든 의존성에 테스트 대역을 써서 격리하자.고전파 : 단위 테스트를 분리해서 병렬로 실행할 수 있게 하자. 테스트 간에 공유.. 2025. 3. 18.