[워밍업 클럽 스터디 2기] 1주차 발자국
1주차 강의
새로 안 부분 정리
부정어를 대하는 자세
부정어구를 쓰지 않아도 되는 상황인지 체크
부정의 의미를 담은 또 다른 단어가 존재하는지 확인
정 없으면 doesNot 사용하지만 최대한 고민해보도록..
해피케이스와 예외처리
예외를 발생할 가능성 낮추기
equals 등 비교 할 때 미리 선언 된 상수를 먼저 비교하여 Null Point Error 방지하기
Optional에 대하여 따로 빼서 다시 공부해보기
SOLID 정리
SRP: 단일 책임 원칙
클래스는 하나의 책임만 가져야 하며, 해당 책임을 완수하는데만 집중해야한다.
→ 클래스의 역할이 명확이 구분되어 있어햐 하며, 클래스를 변경할 이유가 하나여야 한다.
이메일 전송 시스템이라면, 사용자의 정보를 저장하는 로직과, 이메일 전송 로직은 구분되어야 한다.
OCP: 개방-폐쇄 원칙
확장에는 열려있지만, 수정에는 닫혀있어야 한다.
→ 새로운 요구사항이 생기면, 기존의 코드를 수정하지 않고도 기능을 추가할 수 있어야 한다.
예시로 자주 나오는 전기자동차와 기름자동차…
LSP: 리스코프 치환 원칙
서브타입은 그 부모타입으로 대체할 수 있어야 하며, 프로그램의 정확성을 해치지 않아야 한다.
부모 클래스의 인스턴스를 자식클래스의 인스턴스로 치환할 수 있어야한다.
→ 자식 클래스는 부모 클래스가 정의한 행동을 해치지 않아야 한다.
추상 : 새는 난다. 새는 소리를 낸다.
구현: 참새는 난다. 참새는 짹짹 소리를 낸다
비둘기는 난다. 비둘기는 구구 소리를 낸다…
ISP: 인터페이스 분리 원칙
클라이언트는 사용하지 않는 메서드에 의존해서는 안된다.
→ 하나의 일반적인 인터페이스보다 여러개의 구체적인 인터페이스로 구현하는데 대부분 좋다.
DIP: 의존 역전 원칙
고수준 모듈은 저수준 모듈에 의존해서는 안되며, 둘 다 추상화에 의존해야 한다.
→ 구체적인 클래스 보다는 인터페이스나 추상 클래스에 의존해야 한다.
인프런 워밍업 클럽 2기(백엔드 클린코드, 테스트코드) -
https://www.inflearn.com/course/offline/warmup-club-2-be-wb
강의 출처 -
댓글을 작성해보세요.