클래스는 작아야 한다
단일 책임 원칙(SRP) - 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙
응집도 - 클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스의 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다.
클래스는 나에게 함수 찍어내는 공장의 한 종류로만 인식되는 상황이었다. (생성자함수와 더불어) 아직 단순한 기능을 하는 웹사이트, 클론코딩 밖에 해보지를 않아서 클래스를 사용할 일이 거의 없었고, 강의와 책을 통해서 개념 정도만 아는 정도였는데, 지금까지 중에서 이번 장의 내용이 가독성이 많이 떨어졌다... 단순히 말해서 와닿지가 않아서 더욱 그랬던 것 같다. 현재 백엔드 부분을 공부하면서 곧 만나게 될 것 같지만 아직까진 함수들을 나열하고 있다. 반복을 제거하고 재사용성을 늘여서 효율적이고 깔끔한 코드를 위해서는 클래스는 필수겠지만.. 그런 클래스에서도 클린코드를 위한 규칙들이 존재하니까 아직 갈 길이 먼 것 같다.
소프트웨어를 돌아가게 만드는 활동과 소프트웨어를 깨끗하게 만드는 활동은 완전히 별개다. 우리들 대다수는 두뇌 용량에 한계가 있어 '깨끗하고 체계적인 소프트웨어'보다 '돌아가는 소프트웨어'에 초점을 맞춘다. 전적으로 올바른 태도다. 관심사를 분리하는 작업은 프로그램만이 아니라 프로그래밍 활동에서도 마찬가지로 중요하다. 문제는 우리들 대다수가 프로그램이 돌아가면 일이 끝났다고 여기는 데 있다. '깨끗하고 체계적인 소프트웨어'라는 다음 관심사로 전환하지 않는다.
뜨끔..
매번 책을 읽을때마다 흠칫 놀라게된다. 생각이 읽히는 것 같다.
단일 책임 원칙(SRP) https://ko.wikipedia.org/wiki/%EB%8B%A8%EC%9D%BC_%EC%B1%85%EC%9E%84_%EC%9B%90%EC%B9%99
OCP(Open-Closed Principle) https://ko.wikipedia.org/wiki/%EA%B0%9C%EB%B0%A9-%ED%8F%90%EC%87%84_%EC%9B%90%EC%B9%99