본문 바로가기

전체 글66

[클린코드] 10장 클래스 책에서 기억하고 싶은 내용을 써보세요. 클래스 체계에서 추상화 단계는 순차적으로 내려간다. 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. 클래스는 작아야한다. 함수가 물리적인 행 수 크기를 측정했다면 클래스는 클래스가 맡은 책임을 센다. 클래스 이름은 해당 클래스 책임을 기술해야 한다. 단일 책임 원칙(Single Responsibility Principle). 클래스나 모듈을 변경할 이유는 하나뿐이어야 한다. 응집도를 높인다. 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶일 수록 응집도가 높아진다. 큰 함수를 작은 함수 여럿으로 쪼개면서 작은 클래스 여럿으로 쪼개며 응집도를 높인다. 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다. OCP(Open Closed Principle.. 2022. 3. 10.
[클린코드] 6장 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. 개발자들이 변수에 의존하지 않게 만들기 위해 변수를 비공개로 설정한다. 자료 추상화 적합한 추상 인터페이스를 제공하여 구현을 감추고 추상화한다. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현한다. 인터페이스나 get/set 함수만으로는 추상화가 이루어지지 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 고민해야 한다. 객체와 자료구조 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (자료구조를 사용하는)절차적 코드는 기존 자료구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다... 2022. 3. 2.
[클린코드] 5장 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드의 전체적인 형식을 맞춰서 코드의 가독성을 높인다. 코드가 수정되어서 이전 코드의 흔적을 찾아보기 힘들게 되어도 처음 잡아두었던 구현 스타일과 가독성 수준은 계속 영향을 미친다. 개념과 개념 사이를 빈 행으로 분리한다. 서로 밀접한 개념은 세로로 가까이 둔다. 함수 호출 종속성은 세로로 유지한다. 호출하는 함수 먼저, 호출되는 함수 나중(고차원 -> 저차원 순으로) 가로로는 공백을 이용해 밀접한 개념과 느슨한 개념을 표현한다. 들여쓰기를 통해 소스 코드의 계층을 구분한다. 팀으로 협업한다면 팀마다 미리 정한 규칙대로 스타일을 맞춘다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요. 코드가 수정되어서 이전 코드의 흔적을 찾아보기 힘들어도 구현 스타일은 계속.. 2022. 2. 28.
[클린코드] 4장 주석 책에서 기억하고 싶은 내용을 써보세요. 오래된 주석은 거짓말을 한다. 때문에 주석에 의존하기보다 코드의 표현력을 높이는데 에너지를 쏟아야 한다. 주석은 나쁜 코드를 보완하지 못한다. 난장판이 된 코드는 주석을 달기보다 코드를 정리하는데 힘쓰자. 코드로 의도를 표현하라! 주석으로 달려는 설명을 함수로 만들어 표현해도 충분하다. 좋은 주석 법적인 주석 기본적인 정보를 제공하는 주석 의도를 설명하는 주석 의미를 명료하게 밝히는 주석 결과를 경고하는 주석 TODO 주석 중요성을 강조하는 주석 나쁜 주석 쓸데없는 이야기를 하는 주석(의미불명, 반복, 당연한 이야기) 잘못된 복사, 붙여넣기로 인한 잘못된 주석 함수나 변수로 표현이 가능한 주석 위치를 표시하는 주석 주석으로 처리한 코드 -> 소스 코드 관리 시스템을.. 2022. 2. 26.