4장
주제 : 코딩 컨벤션, 코딩 원칙
5장
주제 : 단위 테스트, 리팩토링
찾아본 내용
1. The Technical Debt Trap • Doc Norton • YOW! 2017
https://www.youtube.com/watch?v=u6s8S63OOIE
이 컨텐츠는 기술 부채의 개념과 그 위험성을 다루고 있습니다. 발표자는 기술 부채가 단순한 코드의 문제를 넘어 전략적 설계 결정으로 이해되어야 하며, 이를 관리하기 위해서는 청결한 코드와 비즈니스의 이해가 필수적이라고 강조합니다. 기술 부채를 잘못 이해하면 비효율적인 코드와 혼란을 초래할 수 있으므로, 항상 코드를 정리하고 관리하는 것이 중요하다는 메시지를 전달합니다.
기술 부채는 잘못된 코드와는 다르며, 위험이 존재하지만 지금 당장 테스트나 리팩토링을 하기보다는 차후로 미루고, 이를 가까운 미래에는 반드시 해야할 일으로 생각하는 것이 필요하다.
2. Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz
https://www.youtube.com/watch?v=URSWYvyc42M
이 컨텐츠는 단위 테스트의 중요성과 효과적인 방법에 대해 설명합니다. Sandi Metz는 테스트가 느리고 비효율적일 수 있지만, 올바른 접근 방식을 통해 효율적이고 안정적인 테스트를 작성할 수 있다고 강조합니다. 특히, 테스트의 목적은 코드의 구현 세부사항에 의존하지 않고, 객체 간의 메시지 전송을 통해 올바른 동작을 검증하는 것임을 강조합니다.
유닛 테스트의 목표
- 철저함 : 모든 동작을 완벽하게 검증
- 안정성 : 코드 변경 시 테스트가 깨지지 않아야 함
- 속도 : 테스트가 빠르게 실행되어야 함
- 적은 수 : 필요한 최소한의 테스트만 작성해야 함
테스트는 메시지 중심의 접근이 필요하다. 객체는 블랙박스와 같아 내부와 외부를 명확히 구분해야한다.
- 다른 객체로부터의 수신 메시지
- 다른 객체로 보내는 발신 메시지
- 자기 자신에게 보내는 자기 메시지
메시지는 쿼리와 명령으로 나뉜다
- 쿼리 : 부작용이 없고 결과만 반환함
- 명령 : 부작용이 있으며 결과는 반환하지 않
논의해보고 싶은 내용
1. 각 팀에서 리팩토링 작업의 프로세스는 어떻게 되는지 궁금합니다.
- 업무와 리팩토링 작업 간의 비율
- 대규모 리팩토링을 하는 시기, 논의 방법, 적용 방법
- 리팩토링 사전 작업 및 단위테스트 커버리지
2. 세종대왕 프로젝트 (한글 코딩 컨벤션) 에 대한 의견
- 복잡한 도메인의 경우에 영어로 번역하면 제각각이기도 하고 상당히 길어지는 문제점 존재
- 번역된 영어를 볼 때 직관적으로 느껴지지 않음
3. 비지니스 용어집을 사용하시는지, 그렇다면 어떻게 관리하시는지 궁금합니다.
'독서' 카테고리의 다른 글
[디자인패턴의 아름다움] ch 3 (0) | 2025.03.23 |
---|---|
[디자인 패턴의 아름다움] ch 2.4 ~ 2.9 (0) | 2025.03.16 |
[디자인 패턴의 아름다움] ch 1, ch 2.1 ~ 2.3 (0) | 2025.03.09 |
[이펙티브 코틀린] 8장. 효율적인 컬렉션 처리 (0) | 2024.08.11 |
[이펙티브 코틀린] 7장. 비용 줄이기 (0) | 2024.08.04 |