본문 바로가기
코딩 필독서/클린코드

클린코드8

by 티코딩 2022. 12. 14.

  저번에 이어 들여쓰기부터 시작한다. 코드에 들여쓰기로 계층을 표현할 수 있다, 클래스 내의 메서드, 또 그안의 메서드 코드, 등 코드들이 어디에 속하는지 들여쓰기로 쉽게 볼 수 있다. 또, 보통은 팀들과 함께 프로젝트를 진행하기 때문에 시작 전에 팀원들과 규칙을 정하고 그 규칙을 따라서 코드를 짜야 한다. 별별 스타일을 섞어서 코드를 필요 이상으로 복잡하게 만드는 실수는 하지 말라고 한다!

  다음 챕터는 객체와 자료구조였다. 먼저, 자료를 세세히 공개하는 것 보단 추상적인 개념으로 표현하는 편이 좋다. 인터페이스나, 조회/설정 함수만으로 추상화가 이뤄지지 않는다. 객체가 포함하는 자료를 표현할 좋은 방법을 생각하라 한다. 객체지향 코드에서 어려운 변경은 절차적인 코드에서 쉽고, 절차적인 코드에서 어려운 변경은 객체지향 코드에서 쉽다. 새로운 자료타입이 필요할 경우라면, 객체지향 기법이 적합하고, 새로운 자료타입이 아니라 함수가 필요할거라면, 절차적인 코드가 더 적합하다. 

  디미터 법칙이란것이 나왔다. 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 것인데, 객체는 자료를 숨기고 함수를 공개한다. 자료구조는 무조건 함수 없이 공개변수만 포함하고 객체는 비공개 변수와 공개 함수를 포함한다면 디미터 법칙을 위반하지 않는다. 하지만 단순 자료구조에도 조회함수, 설정함수를 정의하라고 요구하는 프레임워크와 표준이 존재한다. 오늘 배운 Bean이 여기 포함된다고 한다.

'코딩 필독서 > 클린코드' 카테고리의 다른 글

클린코드10  (0) 2023.01.26
클린코드9  (0) 2023.01.26
클린코드6  (0) 2022.12.05
클린코드5  (0) 2022.11.30
클린코드4  (0) 2022.11.25