워밍업 클럽 스터디 - 2기 2주차 발자국

워밍업 클럽 스터디 - 2기 2주차 발자국

해당 글은 [인프런 워밍업 클럽 2기 클린 코드 & 테스트 코드]에 참가하여 박우빈님<Readable Code: 읽기 좋은 코드를 작성하는 사고법> 강의를 듣고 작성한 글입니다.

 

강의를 통해 배운것

  • 객체 지향 적용하기

  • 코드 다듬기

 

1. 객체 지향 적용

  • 결합도가 높은 상속보다는 조합과 인터페이스를 활용하자

    • 상속을 통한 코드의 중복 제거가 주는 이점 보다, 중복이 생기더라도 유연한 구조로 설계해보기

  • Enum의 특성을 활용하자

    • Enum은 상태와 행위를 한 곳에서 관리할 수 있는 추상화된 객체로 특정 도메인 개념에 대해 종류와 기능을 명시적으로 표현해 줄 수 있다.

  • 다형성 활용

    • 변하는 것과 변하지 않는 것을 분리하여 추상화 하자

  • 숨겨져 있는 도메인 개념을 도출하자

    • 도메인 지식은 만드는 것이 아니라 발견하는 것이다.

2. 코드 다듬기

  • 주석을 작성해보자

    • 무분별한 주석은 독이 된다. 코드를 통해 최대한 의도를 드러내고, 그렇게 해도 드러내지 못한 정보들을 주석에 작성해보자.

  • 변수와 메서드의 나열 순서 만으로도 의도와 정보를 전달할 수 있다.

  • 패키지를 나누자

    • 패키지는 문맥으로써의 정보를 제공할 수 있다

  • ide의 도움을 받아 보자 ex) sonarlint

회고

  • 객체 지향 섹션을 들으면서 강의는 이해가 되었지만 이것을 내것으로 체화 시키는 것이 정말 어려웠다. 아직도 이것을 일급 컬렉션으로 빼서 관리하는 것이 좋을지, 또는 인터페이스로 분리할지, 또 다형성을 어떻게 활용하면 좋을지 이해를 제대로 하지 못한 것 같다. 반복적으로 들으면서 내것으로 만들어야겠다고 생각했다.

댓글을 작성해보세요.

채널톡 아이콘