3장. 단위 테스트 구조단위 테스트를 구성하는 방법AAA(arrange act assert) 패턴 사용3A 패턴은 테스트를 준비(arrange), 실행(act), 검증(assert) 세 단계로 나누는 것을 의미한다.
AAA 패턴은 스위트 내 모든 테스트가 단순하고 균일 ...
2장. 단위 테스트란 무엇인가고전파(classical school)는 단위 테스트와 테스트 주도 개발에 원론적으로 접근하는 방식
런던파(London school)는 단위 테스트와 테스트 주도 개발에 실용적으로 접근하는 방식
‘단위 테스트’의 정의단위 테스트의 속성
작 ...
1장. 단위 테스트 목표단위 테스트를 배우는 것은 테스트 프레임워크나 목 라이브러리등과 같은 기술적인 부분을 익히는 것에 그치지 않는다
단위 테스트를 매우 많이 작성하더라도 많은 버그와 유지비로 프로젝트 진행이 느려지게 된다
단위 테스트 현황대부분의 프로그래머는 단위 ...
13장: 나쁜 코드를 식별 가능하게 만들기나쁜 코드를 딱 봐도 않좋아 보이게 만들어 품질의 수준을 명확히 표시하는 방법 -> 안티 리팩터링
나쁜 코드에 대처하는 자세코드를 원하는 수준으로 리팩터링하지 못할 때가 많다 이런 상황에서 끔찍하지만 않게 약깐의 리팩터링을 ...
12장: 최적화 및 일반화 회피성능 최적화와 일반화는 프로그래머가 하는 두가지 게임으로 도움이 되기보다 큰 상처를 입히는 경우가 많다
일반화 해야 되는것은 컨텍스트뿐
단순성 추구단순함을 추구하는것은 소프트웨어 개발의 이상 중 하나
인간의 인지능력은 제한적이기 때문에 단 ...
11장: 코드 구조 따르기소프트웨어는 현실 세계의 한 측면에 대한 모델 입니다
범위와 출처에 따른 구조 분류구조의 분류를 4가지로 나눈다
딤간
팀내
코드에 있는 경우
사람에 있는 경우
매크로 아키텍처는 팀 간 구조에 관한 것마이크로 아키텍처는 팀 내 구조에 관한것 ...
10장: 코드 추가에 대한 두려움 떨쳐내기코드 추가가 두려운 경우는 비현실적인 목표나 코드가 비용을 추가해서이다
불확실성 받아들이기: 위험 감수겁을 먹으면 효과적으로 일할 수 없다. 지식을 구축하는 가장 효과적인 방법은 실험이지만 거기에는 요기가 필요하다
두려움 극복을 ...
9장: 코드 삭제의 미학시간이나 노력을 들였기 때문에 어떤 것에 가치를 부여하는 것을 메몰 비용의 오류(sunk-cost fallacy)라고 합니다.
단 한 가지만 말하라면 바로 적은 것이 더 낫다
다음 시대는 코드를 지우는 시대일 것이다우리는 아직 코드 삭제에 익숙하 ...
8장: 주석 자제하기메서드 내부에 있으면서 javadoc과 같은 외부도구에서 사용하지 않는 주석을 대상으로 함
주석을 없에는것이 좋을수 있는 이유
코드가 명확하고 좋은 타입명과 변수명을 사용하는 경우
주석은 컴파일러가 확인하지 않으므로 특히 코드가 수정된 후에는 주석 ...