인프런 워밍업 클럽 백엔드 code 과정 3기 1주차 발자국

Day 2

우리는 원활한 유지보수를 위해, 현재가 아니라 미래를 위해 읽기 좋은 코드를 짜야한다.

코드가 잘 읽힌다. = 이해가 잘 된다. = 유지보수가 수월하다.

추상

추상은 중요한 정보는 가려내어 남기고 덜 중요한 정보는 생략하여 버리는 것이다. 추상은 구체를 기반으로 해야한다.

적절한 추상화는 복잡한 데이터와 복잡한 로직을 단순화하여 이해하기 쉬운, readable한 코드를 만드는 것을 돕는다. 따라서 추상화에 대한 바삭한 이해가 필요하다.

메서드 선언부는 의미를 전달하는데 매우 중요한 역할을 한다. 반환타입과 메서드명, 파라미터로 구성된다.

하나의 세계 안에서는 추상화 레벨이 동등해야 한다. 동등하지 않으면 후손으로 하여금 위화감이 들게 할 수 있으며 이런 문제는 시스템 레벨보다는 코드, 메서드 레벨에서 더 두드러진다.

 

Day 3

논리, 사고의 흐름

뇌의 메모리에 적은 정보만 올려도 되도록 코드를 작성하면 읽기 쉬운 코드를 만들 수 있다. '인지적 경제성'을 추구할 것

  • else 의 무분별한 사용 지양하기

  • 중첩 분기문, 중첩 반복문 줄이고 사용할 변수 가깝게 선언해 사고의 depth 줄이기

  • 공백 라인으로 로직의 의미 단위 나누기

  • 가독성이 떨어지는 부정 연산자의 사용 자제하기

  • 예외 처리를 꼼꼼하게 하기 -> 자바를 사용하는 사람이라면 Null을 조심스럽게 사용할 것

객체 지향 패러다임

관심사에 따라 기능과 책임을 나눠 유지보수성을 높일 수 있다. 응집도결합도

 

Day 4

SOLID

  • SRP - 하나의 클래스는 하나의 책임을 갖도록

  • OCP - 확장에는 열려있고 수정에는 닫혀 있도록

  • LSP - 부모 클래스의 인스턴스를 자식 클래스의 인스턴스로 바꿔도 문제가 없도록

  • ISP - 사용하지 않는 인터페이스에는 의존하지 않도록

  • DIP - 구현 클래스가 아닌 인터페이스에 의존하도록


    설계해야 한다.

 

Day 5

객체 지향 적용하기

상속은 시멘트 같이 굳어지는 것.. 상속보다는 조합을 사용하자.

Value Object - 기본 타입을 추상화한 것, 불변성, 동등성, 유효성 검증 등을 보장해야 한다.

 

회고

객체 지향에 대해 알고 있던 것들을 제대로 정리해보자! 라는 마음가짐으로 강의를 신청하였지만 생각보다 새로운 내용을 많이 알게 되었다. 매일 강의 듣는 것에만 급급하고 복습을 못하고 있는데 좀 더 분발해야 할 듯!

댓글을 작성해보세요.

채널톡 아이콘