1장 잘못된 구조의 문제 깨닫기
1.1 의미를 알 수 없는 이름
1.2 이해하기 어렵게 만드는 조건 분기 중첩
1.3 수많은 악마를 만들어 내는 데이터 클래스
1.4 악마 퇴치의 기본
2장 설계 첫걸음
2.1 의도를 분명히 전달할 수 있는 이름 설계하기
2.2 목적별로 변수를 따로 만들어 사용하기
2.3 단순 나열이 아니라, 의미 있는 것을 모아 메서드로 만들기
2.4 관련된 데이터와 로직을 클래스로 모으기
1장 잘못된 구조의 문제 깨닫기
가독성과 유지보수성!
- 2명 이상 개발 시 필요한 것?
- 프로그램 설계
- 2명 이상 개발 시 코드 작성 방법?
- 가독성: 이해하기 쉬운 코드
- 유지보수정: 코드 추가/수정이 쉬운 코드
- 가독성과 유지보수성이 떨어지는 코드?
- 의미를 알 수 없는 이름
- 중첩이 많은 코드
- public 변수가 많은 클래스
- 함수로 코드에 이름 붙여 코드의 가독성 높이기!
- 이해하는데 시간 단축
- 입력 중 발생하는 실수를 줄임
- 함수로 만들어 모든 개발자가 함께 관리하면 문제를 빨리 찾고 해결할 수 있음
- 중복 코드로 분산되어 있으면 찾거나 해결하기 어려움 있음
- 각 인스턴스가 갖는 변수들을 private으로 만들기!
- 외부에서는 private 변수에 접근할 수 없기에 클래스가 갖는 함수에 더 주목하게 될 것임
- 중복 코드를 막을 수 있음
- 함수로 코드에 이름 붙여 코드의 가독성 높이기!
2장 설계 첫걸음
이름 붙이기의 중요성!
1. 변수
- 변수 이름 잘 붙이기, 계산식마다 변수 만들기
- 이렇게 변수를 선언하는 것이 성능에 영향을 주지는 않을까?
- 알고리즘의 전체적인 복잡도는 전체적인 반복 횟수에 의존하는 것뿐 변수 이름을 붙인다고 프로그래밍 성능에 크게 영향을 주지는 않음
- 지금의 컴파일러들은 최적화를 잘하기 때문에 성능 상의 영향은 거의 없음
- 단 성능이 정말 중요한 프로그램이라면 '상수'를 활용하면 됨
- 상수/변수 사용에 따른 속도 차이는 특정 프로그래밍 언어의 컴파일러 최적화 수준에 따라서 유효하기도 그렇지 않기도 함
2. 메서드
- 주석(퇴화 주석)보다는 함수/메서드
- 문서를 만들기 위한 주석, 매우 복잡한 계산식 설명하는 주석 외에는 주석 사용 지양
[참고] private 변수의 적용 범위
- 대부분의 프로그래밍 언어에서는 private 등의 접근 제한자는 '인스턴스' 단위가 아닌 '클래스' 단위임
'개발독서 > 코드품질' 카테고리의 다른 글
[켄트 벡의 Tidy First?] 9~16장 - 더 나은 소프트웨어 설계를 위한 32가지 코드 정리법 (0) | 2024.08.01 |
---|---|
내 코드가 그렇게 이상한가요 (9장 설계의 건정성) (0) | 2024.05.03 |
내 코드가 그렇게 이상한가요 (3~4장 클래스 설계 & 불변 활용하기) (0) | 2024.03.24 |