첫째주 발자국 👣
추상화
이름짓기
메서드 선언부의 의미
추상화 레벨
추상화 레벨이 동등해야한다.
매직넘버, 매직 스트링
상수로 추출하기
논리, 사고의 흐름
뇌 메모리 적게쓰기
Early return,
사고의 depth 줄이기
공백 라인이 가지는 의미,
부정어 - 긍정문으로 바꾸기
해피 케이스와 예외처리 - 예외에 더 집중하자.
Null 처리 주의하기
객체 지향 패러다임
추상의 관점으로 바라보는 객체 지향
객체 = 데이터+ 코드
객체설계 :
관심사의 분리 -> 높은 응집도와 낮은 결합도
getter/ setter 자제하기
객체에 메시지 보내기
SOLID: SRP, OCP, LSP,ISP,DIP
SRP : 단일 책임의 원칙
OCP : 확장에는 열려있고 수정에는 닫혀있다.
LSP : 부모가 있는곳을 자식이 대체할수있어야한다.
ISP : 인터페이스를 기능단위로 쪼갠다.
DIP : 고수준 모듈과 저수준모듈 각각 추상화를 의존하도록 하기
객체 지향 적용하기
상속과 조합
조합과 인터페이스를 활용하는것이 유연한 구조
Value Object
도메인의 어떤 개념을 추상화하여 표현한 값 객체
일급컬렉션 : 컬렉션을 유일한 필드로 가지는 객체
👩🏼💻첫째주 회고
미션1 : 세수한다를 구체적으로 적어보았는데, 하나하나 생각해보니 저 단어에 참많은 행동들이 축약되있구나 라는 생각이 들었다. 추상화를 좀 더 이해할 수 있는 미션이었다.
미션2 : 코드를 리팩토링 하는 것이었는데, if-else문이 너무 많아서 복잡해보였다. 그래서 얼리 리턴 구조로 우선 변경을 하고, if문 조건문에 ! (부정어)가 쓰여서 메서드를 추출해서 긍정문으로 바꿨다. 미션을 제출하고 보니 메서드중에 get으로 꺼내는게 있던데 이것도 수정해야하는 거 아닌가 라는 생각이 들었다.
강의 듣는 내내, 새롭게 접하는 부분이 많아서 이해하고 생각할 거리가 많았다. 그래서 하루에 해야할 분량이 너무 많게 느껴져 힘들었다.
그래도 끝까지 하는게 목표! 다음주도 화이팅 👏
출처
댓글을 작성해보세요.