Community

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

← Go back
TIL(22.03.09)
#clean_code
2년 전
815

TIL (Today I Learned) 날짜

2022. 03. 09

오늘 읽은 범위

10장. 클래스

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

  • 클래스는 작아야 한다. 두 번째 규칙도 크기다. 더 작아야 한다.

  • 함수는 물리적인 행 수로 크기를 측정했다. 클래스는 다른 척도를 사용한다. 클래스가 맡은 '책임'을 센다.

  • 단일 책임 원칙(SRP)

  • 우리는 응집도가 높은 클래스를 선호한다. 응집도가 높다는 말은 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶인다는 의미기 때문이다.

  • 큰 함수를 작은 함수 여럿으로 쪼개다 보면 종종 작은 클래스 여럿으로 쪼갤 기회가 생긴다. 그러면서 프로그램에 점점 더 체계가 잡히고 구조가 투명해진다.

  • OCP(Open-Close Principle)

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

  • 오늘은 내가 가장 코드에 잘 적용해보고 싶은 클래스에 대한 내용을 읽어보았다. 결론적으로는 클래스를 잘 작성하는 방법은 함수를 잘 작성하는 노력과 비슷하였다. 클래스는 변수와 함수(메서드)로 구성되어 있어 그런 듯 하다.

  • 실은 앞서 기억하고픈 내용에서도 언급했지만, 큰 함수를 작은 함수로 여럿 쪼갠다는 표현이 이 클린 코드에서 가장 많이 그리고 왜 그래야 하는지 이유가 납득되는 표현 중 하나였다. 처음 언어를 배울 때는 함수 하나에 모든 변수와 연산을 내용에 집어 넣었고, 나중에는 함수로 쪼개어 표현하는 게 어느 정도 익숙해져, 기능별로 내용을 분리할 수 있었다. 하지만, 클래스의 쓰임새에 대해서도 알고 있는 반면, 코드를 구성할 때, 적용해야 싶은 생각이 잘 떠오르지 않아 그동안 클래스와 많이 친해지지 못했다. 확실히 함수를 작게 나누는 것도 클래스를 적절히 구성하는 것도 객체 지향 개발의 의미 중 하나일텐데...클래스를 '자주' 쓸 수 있게 하려 노력하고 있었지만, 오늘 내용을 읽으며, 클래스를 '잘' 쓰려는 노력 또한 어떻게 해야 하는지 알아볼 수 있었던 것 같다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

X