window 시스템의 파일 경로 형식
기존 Docs 경로
- 볼륨 || 드라이브 문자 다음에 볼륨 구분 기호 (:)
- 디렉터리 이름
- 선택적 파일 이름
위의 세 구성 요소가 모두 존재하면 절대 경로다.
볼륨, 드라이브 문자 || 디렉터리 구분 문자로 시작하는 경우는 현재 드라이브 루트에 대한 상대 경로다.
- 파일 || 폴더 경로 구분자 : \
ex path)
c:\Documents\dir1\dir2\hello.txt
경로 표준화 단계
- 파일을 식별합니다.
- 현재 디렉터리를 부분적으로 정규화된 (상대) 경로에 적용합니다.
- 구성 요소 및 디렉터리 구분 기호를 정규화합니다.
- 상대 디렉터리 구성 요소(현재 디렉터리의 경우 '. 및 부모 디렉터리의 경우 '..')를 평가합니다.
- 특정 문자를 잘라냅니다.
Unix 시스템의 파일 경로 형식
- 파일 || 폴더 경로 구분자 : /
절대 경로
리눅스 디렉토리는 계층적 트리 구조다.
파일 시스템이 있는 최상위 directory는 '/' 인데, 최상위 디렉토리부터 파일명에 이르는 경로를 절대경로라고 한다.
/wldwld/hello/hi.txt
상대 경로
현재 자신이 위치한 디렉토리 기주으로 하는 경로를 상대 경로라고 한다.
./../hello/../hi.txt
TDD(Test Driven Development)
TDD
- 테스트 주도 개발
- 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트케이스를 작성하고, 이를 통과하는 코드를 추가하는 단계를 반복해 구현한다.
TDD 개발 주기
아래 과정 반복
- 실패하는 테스트 추가
- 테스트 코드를 성공시키기 위한 실제 코드 추가
- 중복 코드 제거, 일반화 등의 리팩토링 수행
=> 미리 테스트 코드를 작성하면, 실제 코드에 대해 기대하는 바를 보다 명확하게 정의함으로써, 불필요한 설계를 피할 수 있고, 정확한 요구 사항에 집중할 수 있다.
- 테스트를 통과한 코드만을 코드 개발 단계에서 실제 코드로 작성한다.
TDD 장점
- 디버깅 시간 단축 : 자동화된 유닛 테스팅으로, 실제 모든 레이어를 전부 디버깅 할 필요 없어진다.
- 기능 단위 테스트: 문제가 발생하면, 원인을 찾기 쉽다.
- 재설계 시간 단축: 개발자가 지금 무엇을 해야할지 분명히 정의하고 개발 -> 전반적인 설계가 변경될 일 방지 가
- 추가 구현이 용이하다. : 유닛 테스팅으로, 테스트 기간을 단축시킬 수 있다.
TDD 단점
- 생산성 저하 : 개발 시간이 늘어난다.
일반적인 개발 방식
- 설계 -> 개발 -> 테스트 -> 배포
- 여러 요건으로 인해 초기 설계가 완벽하기 힘들다.
- 따라서 재설계하며 점진적으로 개선할 때, 코드 삽입, 수정, 삭제 과정에서 중복 처리가 되거나, 불필요한 코드가 남을 수 있다.
- 이러한 코드는 재사용이 어렵고, 관리가 어려워 유지보수가 어려워진다.
- 또 작은 설계에도 모든 기능을 다시 테스트하는 문제가 생겨, 자체 테스트 비용이 증가한다.
참고 자료
'boostcamp' 카테고리의 다른 글
Day11 학습 정리 (0) | 2023.07.24 |
---|---|
Day09 학습 정리 (0) | 2023.07.20 |
Day07 학습정리 (0) | 2023.07.18 |
Day06 학습 정리 (0) | 2023.07.18 |
Day04 학습 정리 (0) | 2023.07.13 |