이정빈
수강평 작성수
-
평균평점
-
블로그
전체 2![[워밍업 클럽 스터디 2기] 2주차 발자국](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2024. 10. 13.
0
[워밍업 클럽 스터디 2기] 2주차 발자국
강의 출처 Readable Code: 읽기 좋은 코드를 작성하는 사고법 학습 내용코드 다듬기주석 적절히 사용하기자주 변하는 정보는 지양관련 정책이나 코드가 변경될 경우 주석도 업데이트변수와 메서드의 나열 순서변수는 사용하는 순서대로 나열메서드의 경우 객체의 입장에서 고려공개 메서드를 상단에 배치공개 메서드끼리도 기준을 가지고 배치(상태변경 > 판별 >= 조회 메서드)비공개 메서드는 공개 메서드에서 언급된 순서대로 배치패키지 나누기문맥으로써 정보를 제공할 수 있음패키지를 쪼개지 않으면 관리가 어려움(너무 잘게 쪼개는 것도 관리가 어렵다)대규모 패키지 변경은 팀원과 합의 후기능 유지보수IDE의 도움받기코드품질 : sonarlint 포맷규칙 : .editorconfig 리팩토링메서드 추출로 추상화 레벨 맞추기중복 제거, 메서드 추출Optionalsetter 사용 x, 무분별한 getter사용 대신 객체에 메세지 보내기객체의 책임과 응집도IO 통합일급컬렉션 Order 객체 추출추상화 관점의 차이구현에 초점을 맞춘 추상화 / 도메인 개념에 초점을 맞춘 추상화미션사용자가 이용권을 선택하고 선택한 이용권에 따라서 가격을 계산하는 프로그램을 리팩토링하는 미션이었다. 추상화 레벨에 맞지 않는 부분이 있다면 메서드 추출 등으로 추상화 레벨을 맞춰주고, 객체지향 패러다임에 맞게 객체들이 상호 협력하고 있는지, SRP, DIP, 일급 컬렉션 등의 포인트로 리팩토링을 해주면 되었다.회고이번주는 개인적으로 회사의 프로젝트 일정과 겹쳐서 진도를 따라가는것에도 많은 어려움이 있었고, 특히 대부분의 이해 안되는 부분에서 다시 듣지 않고 강의 진행률만 신경써서 넘기는 식으로 진행되어서 많이 아쉬웠다. 다음주부터는 새로운 강의 주제로 넘어가게 되니 밸런스를 잘 맞춰서 강의를 따라잡는데 문제가 없도록 잘 신경써야 할 거 같다.
![[워밍업 클럽 스터디 2기] 1주차 발자국](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2024. 10. 06.
0
[워밍업 클럽 스터디 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강의 출처 -https://www.inflearn.com/course/readable-code-읽기좋은코드-작성사고법




