[워밍업 클럽 2기 BE - 클린코드 & 테스트] 1주차 발자국

[워밍업 클럽 2기 BE - 클린코드 & 테스트] 1주차 발자국

읽기 좋은 코드가 중요한 이유

  • 쓰기보다 읽기에서 더 많은 시간을 소비

  • 시간과 자원을 아끼려면 읽기 수월한 것이 중요

 

추상과 구체 (이름, 메서드)

  • 추상화는 중요한 핵심 개념을 남겨서 표현한 것

  • 추상으로 구체화된 내용을 예측 가능해야 잘된 것

  • 이름의 다양한 방법으로 표현 가능

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 하나의 문단에는 하나의 주제로 접근

  • 메서드의 구성으로 예측 가능하도록 하기

 

상수

  • 날 것의 상수 또한 예측 가능한 표현을 사용하자

 

뇌 메모리 적게 쓰기

  • 뇌가 힘들면 읽기 좋은 코드가 아니다

  • Early return,

    사고의 depth 줄이기,

    공백 라인과

    부정어의 고민

 

예외 처리

  • 예외 처리를 통해 견고한 SW 개발 가능

  • 외부 접점에서 주로 발생

     

  • 의도에 따라 예외 구분

  • Null 대한 고민 필요

 

추상의 객체 지향

  • 객체 간의 협력과 책임 관점으로 생각

  • 관심사의 분리를 통해 부여

     

  • 객체 지향의 특성에 맞게 객체 설계 및 접근 (캡슐화, 추상화, 상속, 다형성)

 

SOLID

  • 객체 지향 설계를 더 이해하기 쉽고, 유연성과 유지 보수하기 쉽게 도와주는 원칙들

  • SRP - 하나의 클래스는 하나의 책임 담당

  • OCP - 확장에는 열려있고, 수정에는 닫혀있기

  • LSP - 부모는 자식으로 대체 가능하도록 하기

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

  • DIP - 상위 모듈은 하위 모듈의 구현에 의존하면 안되며, 상위 모듈에서 정의한 추상 타입에 의존하자

     

 

객체 지향 적용하기

  • 상속보다 조합을 사용

  • VO,

    일급 컬렉션,

    Enum,

    다형성 활용

  • 완벽한 설계는 없으며, 당시 최선을 다하기

 

미션 해결 과정 요약

  • SOLID 정리의 경우 필요한 이유를 중점으로 저의 언어로 표현하였습니다.

  • 그 과정에서 예시를 검색하며, 적용 전과 적용 후를 비교해 저의 것으로 만드는데 많은 도움이 되었습니다.

  • 읽기 좋은 코드를 만드는 과제에서는 어떻게 하면 쉽게 읽을 수 있을지 고민하였습니다.

  • 그 과정에서 수정하고, 다시 읽어보는 식으로 쉽게 읽힐 때까지 반복하여 배움을 적용하는데 큰 도움이 되었습니다.

 

1주차 회고

  • 강의 내용을 시간이 날 때마다 복습하여 이론적으로는 모두 흡수하여 뿌듯합니다.

  • 자바 개념이 부족하여 새롭게 배운 내용을 찾아보느라 강의 코드 작성을 많이 못해 아쉽습니다.

  • 이론 뿐만 아니라 강의 코드 작성 연습을 통해 다른 면에서도 더 잘 습득할 수 있도록 목표로 하겠습니다.

 

강의 출처 : Readable Code: 읽기 좋은 코드를 작성하는 사고법

댓글을 작성해보세요.

채널톡 아이콘