이정우
1. 📌 핵심 개념 정리
✅ 요약하기
각자 해당 챕터에서 중요하다고 느낀 개념이나 아이디어를 간략하게 정리하고 개선 전, 후에 대한 예시 코드를 비교하며 개념을 설명합니다.
한 줄 요약 내용돌려보자
첫째,
SerialDateTest
라는 클래스는 단위 테스트 케이스를 몇 개선전포함한다.- 실패하는 케이스는 없지만 모든 경우를 점검하지 않는다는 사실을 알 수 있다..
- 저자는
SerialDateTest.java
에 있는 모든 테스트 케이스가 통과할 수 있게 만들었다. Clover
라는Code Coverage
분석 도구를 이용해 실행 코드와 실행하지 않는 코드를 확인한 결과SerialDateTests
는 50%의 경우만 테스트함을 확인할 수 있다.SerialDate
클래스를 보면서 빠진 테스트가 없는지까지 확인한다.
둘째, 고쳐보자
- 쓸모없는 주석은 지운다.
- 법적인 정보는 필요하기에 라이선스 정보와 저작권은 보존하고 변경 이력, 작성자 등은 불필요하기에 삭제한다.
- 변수 역사와 의미를 남기는 주석은 좋은 주석이다.
- import문은
java.text.*
와java.util.*
로 줄인다. - 클래스와 함수의 기능을 명확하게 한다.
- 추상 클래스에 있는 변수가 오직 하나의 클래스에서만 사용한다면 옮기는 것이 좋다.
- 해당 변수와 그 변수를 사용하는 거리가 좁아지고 실제 코드를 이해하는 도움이 된다.
- 한 소스 코드에 여러 언어를 사용하면 안된다.
- 불필요한 상속은 삭제한다.
- 인수와 변수 선언에서 final 키워드를 모두 없앤다.
- 실질적인 가치는 없으면서 코드만 복잡하게 만들기 때문이다.
- final 키워드를 제거하겠다는 결정은 일부 기존 관례와 어긋난다.
- for 루프 안에 if문이 중복되면 || 연산자를 사용하여 if문 하나로 만든다.
결론
- 보이스카우트 규칙을 따랐다.
- 체크아웃한 코드보다 좀 더 깨끗한 코드를 체크인할 수 있게 되었다.
- 테스트 커버리지 증가, 버그 사항 개선
전, 코드 크기개선감소,전명확한 코드, 코드의문제점을가독성작성합니다.- 증가
개선 후
개선 후다음의 코드
개선은 후의난이도가 코드에조금 대한더 설명을낮아질 작성합니것이다.
한 줄 요약 내용..
한 줄 요약 내용...
2. 🤔 이해가 어려운 부분
🔍 질문하기
책을 읽으며 이해하기 어려웠던 개념이나 명확하지 않았던 내용을 정리합니다.
- 개념 또는 원칙의 이름
- 어려웠던 부분
해당 개념이 헷갈리거나 명확하지 않았던 점을 구체적으로 설명합니다. - 궁금한 점
해당 개념이 어떤 원리로 동작하는지, 실무에서 어떻게 활용되는지 등을 질문 형태로 정리합니다.
- 어려웠던 부분
개념 또는 원칙의 이름어려웠던 부분.궁금한 점.
개념 또는 원칙의 이름어려웠던 부분.궁금한 점
3. 📚 참고 사항
📢 논의하기
관련된 자료가 있다면 공유하고, 더 깊이 논의하고 싶은 아이디어나 의견을 정리합니다.
- 관련 자료 공유
- 추가 자료
관련 블로그 글이나 공식 문서 링크를 제공합니다.
- 추가 자료
- 논의하고 싶은 주제
- 주제
논의하고 싶은 내용을 간략히 정리합니다. - 설명
논의하고 싶은 이유를 작성합니다.
- 주제