클린코드
전체 11강 · 4개 Phase. 순서대로 따라오면 돼요.
전체 과정
▸ Category A · 클린 코드 이름 · 함수 · 주석
A-1 A-1: 의미 있는 이름·주석·포매팅 — 코드를 읽는 사람을 위한 첫 배려의도가 드러나는 이름을 짓고 매직 넘버를 상수로 빼며 주석 대신 코드로 설명하기 A-2 A-2: 함수 설계 — 작게, 한 가지만, 그리고 언제 멈출지함수를 작게 한 가지 일만 하도록 쪼개고 인자·부수 효과를 줄여 중복을 없애기 A-3 A-3: 좋은 객체 — 묻지 말고 시켜라, 속을 감춰라묻지 말고 시켜라 원칙과 디미터 법칙으로 객체 속을 감추고 불변 객체로 안전하게 만들기 A-4 A-4: 에러 처리·경계 — 없음과 실패를 안전하게, 외부와는 깨끗하게에러 코드 대신 예외로 흐름을 깨끗하게 하고 null 대신 Optional로 외부 코드를 안전하게 감싸기
▸ Category B · 객체지향 설계 원칙 SOLID
▸ Category C · 디자인 패턴 자주 쓰는 패턴
C-1 C-1: 생성 패턴 — 객체를 어떻게 만드나, 팩토리·빌더·싱글톤(그리고 싱글톤의 그림자)팩토리·빌더로 객체 생성을 한곳에 모으고 싱글톤이 왜 안티패턴으로 재평가됐는지 알아 DI로 대체하기 C-2 C-2: 구조 패턴 — 객체를 어떻게 조립하나, 어댑터·데코레이터·퍼사드·프록시어댑터로 안 맞는 인터페이스를 잇고 데코레이터·퍼사드·프록시로 객체를 유연하게 조립하기 C-3 C-3: 행위 패턴 — 객체가 어떻게 협력하나, 전략·옵저버·템플릿 메서드·상태·커맨드거대한 if문을 전략 패턴으로 갈아 끼우고 옵저버·상태·커맨드로 객체 간 협력을 설계하기