Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
[TIL] Chapter 10. 클래스
#clean_code
2년 전
1,025
2

오늘 TIL 3줄 요약

  • 가독성이 좋은 깔끔한 클래스를 작성하기 위해 암묵적인 룰과 같은 "클래스 체계"라는 것이 있다.

  • 클래스의 크기는 작아야한다. '1 클래스 1 책임' (SRP) 이 가장 바람직하다.

  • 변경하기 쉬운 클래스를 만드는 것이 깨끗한 시스템을 유지하는데 도움이 된다.

TIL (Today I Learned) 날짜

2022. 03. 09

오늘 읽은 범위

10장. 클래스

책에서 기억하고 싶은 내용을 써보세요.

  • 클래스의 크기는 작아야하고, 클래스의 크기를 측정하는 척도는 클래스가 맡은 "책임"이다. 따라서 "1 클래스 1 책임"이 깔끔한 클래스를 작성하는 방법이다.

  • 누군가에게 특정 클래스를 설명할 때는 만일("if"), 그리고 ("and"), 하며 ("or"), 하지만 ("but") 등의 표현을 사용하지 않고 25단어 내외로 설명이 가능해야 한다.

  • 클래스의 이름을 간결하게 명료하게 짓는 것이 클래스의 크기를 줄이는데 도움이 된다.

  • 단일 책임 원칙(Single Responsibility Principle, SRP)은 클래스나 모듈을 변경할 이유가 하나뿐이어야 한다는 원칙이다.

  • 프로그래머가 고민해야할 질문은 "도구 상자를 어떻게 관리하고 싶은가? 작은 서랍을 많이 두고 기능과 이름이 명확한 컴포넌트를 나눠 넣고 싶은가? 아니면 큰 서랍 몇 개를 두고 모두를 던져 넣고 싶은가?"이고, 그 답은 정해져있다.

  • 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 처음 코딩을 공부할 때, 간단한 클론 코딩이나 규모가 크지 않은 프로젝트를 하던 당시 오늘 읽은 부분을 읽었더라면 100% 이해하지는 못했을 것이다. 다른 개발자들과 같이 작업하는 규모가 비교적 큰 프로젝트를 경험한 지금은 내용의 대부분 이해가 되었고 많은 공감이 되었다.

  • 현재 스타트업에서 프론트엔드 개발자로 일을 하며 Figma라는 디자인 툴을 이용한 디자인 시스템 구축도 담당하고 있는데, Figma에는 개발에서의 컴포넌트와 라이브러리라는 개념이 접목되어 디자인 작업물을 재사용할 수 있도록 컴포넌트화, 라이브러리화할 수 있는 기능이 있다. SRP는 여기서도 똑같이 해당되는 사항이라는 생각이 들었다. 간혹 디자이너분의 컴포넌트화된 작업물을 보고 온전히 컴포넌트로서의 기능을 하기에는 개선의 여지가 있다고 판단되어 수정 요청을 드리는 경우가 있는데,

    다음 미팅 때 SRP (단일 책임 원칙) 를 풀어서 설명하면 컴포넌트를 만들 때 무엇을 기준으로 만들어야 하는지 알기 쉬워지지 않을까 하는 생각이 들었다.

2 comments