목차 1. 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 2. 깨끗한 테스트 코드 3. FIRST 규칙 4. TDD 법칙 5. 테스트 라이브러리 사용 6. Test Double 7. 테스트 종류 8. 예제 1. 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 테스트 케이스가 없다면 모든 변경이 잠정적인 버그가 된다. 따라서 개발자는 변경에 주저하게 된다. 테스트 케이스가 있으면 부실하거나 엉망인 코드라도 변경하며 개선해 나갈 수 있다. 그러므로 실제 코드를 점검하는 자동화된 단위 테스트가 필요하고 테스트 코드를 깨끗하게 유지해야 한다. 2. 깨끗한 테스트 코드 지저분한 테스트 코드는 테스트를 안하니만 못하다. 깨끗한 테스트 코드를 만들기 위해선 가독성이 중요하다. 명료성, 단순성, 풍부한 표현력..
1. 의도를 분명히 밝혀라 변수나 함수 스리고 클래스 이름은 다음과 같은 질문에 모두 답해야 한다. 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. int d; // 경과 시간(단위: 날짜) //-- X int daysSinceCreation; //-- O public List getThem() { //-- X if (cell[STATUS_VALUE] == FLAGGED) //-- X } public List getFlaggedCells() { //-- O if (cell.isFlagged()) //-- O } Member member = memberRepository.findById(); //-- X Member findMember = memb..
1. 나쁜 코드 성능이 나쁜 코드 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 이해하기 어려운 코드 네이밍과 그 내용이 다른 코드 중복된 코드 비슷한 내용인데 중복되는 코드들은 버그를 낳는다. 2. 나쁜 코드가 나쁜 이유 깨진 유리창 법칙 나쁜 코드는 계속해서 주변에 나쁜 코드가 생기도록 한다. 생산성 저하 나쁜 코드가 점점 많아 지면서 개발속도를 떨어뜨리고 팀의 생산성이 저하된다. 새로운 시스템을 만들어야 한다. 결국 현 시스템을 유지보수 하며 대체할 새로운 시스템을 개발해야 하지만 현실적으로 어렵다. 급해서... 서두르느라... 시간이 부족하다고 생각해서... 여러가지 이유로 나쁜 코드를 만들어 내고 자신이 짠 코드를 쳐다보며 나중에 손보겠다고 생각한다. 대충 짠 프로그램이 ..
- Total
- Today
- Yesterday
- 스프링 카프카 컨슈머
- spring rest docs
- java8
- TDD
- 스프링 예외 추상화
- 폴링 발행기 패턴
- 계층형 아키텍처
- Spring Boot
- 육각형 아키텍처
- 이벤트 스토밍
- 마이크로서비스 패턴
- ATDD
- HTTP 헤더
- MySQL
- 트랜잭셔널 아웃박스 패턴
- kafka
- H2
- JPA
- Stream
- 도메인 모델링
- Spring
- 클린코드
- 학습 테스트
- http
- named query
- Git
- Spring Data JPA
- mockito
- clean code
- Ubiquitous Language
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |