[워밍업 클럽 스터디 2기] 1주차 발자국

1주차 강의

image

새로 안 부분 정리

부정어를 대하는 자세

  1. 부정어구를 쓰지 않아도 되는 상황인지 체크

  2. 부정의 의미를 담은 또 다른 단어가 존재하는지 확인

  3. 정 없으면 doesNot 사용하지만 최대한 고민해보도록..

 

해피케이스와 예외처리

  1. 예외를 발생할 가능성 낮추기

  2. equals 등 비교 할 때 미리 선언 된 상수를 먼저 비교하여 Null Point Error 방지하기

  3. Optional에 대하여 따로 빼서 다시 공부해보기

SOLID 정리

SRP: 단일 책임 원칙

클래스는 하나의 책임만 가져야 하며, 해당 책임을 완수하는데만 집중해야한다.

→ 클래스의 역할이 명확이 구분되어 있어햐 하며, 클래스를 변경할 이유가 하나여야 한다.

이메일 전송 시스템이라면, 사용자의 정보를 저장하는 로직과, 이메일 전송 로직은 구분되어야 한다.

OCP: 개방-폐쇄 원칙

확장에는 열려있지만, 수정에는 닫혀있어야 한다.

→ 새로운 요구사항이 생기면, 기존의 코드를 수정하지 않고도 기능을 추가할 수 있어야 한다.

예시로 자주 나오는 전기자동차와 기름자동차…

LSP: 리스코프 치환 원칙

서브타입은 그 부모타입으로 대체할 수 있어야 하며, 프로그램의 정확성을 해치지 않아야 한다.

부모 클래스의 인스턴스를 자식클래스의 인스턴스로 치환할 수 있어야한다.

→ 자식 클래스는 부모 클래스가 정의한 행동을 해치지 않아야 한다.

추상 : 새는 난다. 새는 소리를 낸다.

구현: 참새는 난다. 참새는 짹짹 소리를 낸다

비둘기는 난다. 비둘기는 구구 소리를 낸다…

ISP: 인터페이스 분리 원칙

클라이언트는 사용하지 않는 메서드에 의존해서는 안된다.

→ 하나의 일반적인 인터페이스보다 여러개의 구체적인 인터페이스로 구현하는데 대부분 좋다.

DIP: 의존 역전 원칙

고수준 모듈은 저수준 모듈에 의존해서는 안되며, 둘 다 추상화에 의존해야 한다.

→ 구체적인 클래스 보다는 인터페이스나 추상 클래스에 의존해야 한다.

 

 

인프런 워밍업 클럽 2기(백엔드 클린코드, 테스트코드) -

https://www.inflearn.com/course/offline/warmup-club-2-be-wb

강의 출처 -

https://www.inflearn.com/course/readable-code-읽기좋은코드-작성사고법

댓글을 작성해보세요.

채널톡 아이콘