반응형
TIL (Today I LeTIL (Today I Learned)
2022.02.28
오늘 읽은 범위
5장. 형식 맞추기
책에서 기억하고 싶은 내용을 써보세요.
- 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. (p.96)
- 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. (p.96)
- 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저 차원 함수와 세부 내역이 나온다. (p.98)
- 종속 함수. 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다. (p.104)
- 일반적으로 함수 호출 종속성은 아래 방향으로 유지한다. 다시 말해, 호출되는 함수를 함수보다 나중에 배치한다. 그러면 소스 코드 모듈이 고차원에서 저차원으로 자연스럽게 내려간다. (p.107)
- 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다. (p.113)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 처음에 읽으면서 신문 같은 코드가 무슨 이야기인지 잘 이해가 가지 않았다. 그런데 차근차근 파트를 읽어보니 신문과 비슷한 내용들이 많았다. 먼저 신문은 큰 제목을 위에 걸고 아래로 내려가면서 작은 제목과 세부적인 글들이 나온다. 코드도 마찬가지다. 거대한 로직에 관련된 함수와 변수를 적고 차차 내려가면서 세부적인 함수와 로직을 적는 것이다. 대표적으로 함수에서 호출된 함수가 바로 아래에 작성돼야 한다는 룰 등이 있겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- '타당한 근거가 없다면 서로 밀접한 개념은 한 파일에 속해야 마땅하다. 이게 바로 protected 변수를 피해야하는 이유 중 하나다.'
- 먼저 protected 접근 제어자는 같은 패키지거나 다른 패키지지만 해당 클래스의 자손 클래스면 멤버 변수, 메서드가 사용 가능하다. 아마도 다른 패키지에서 자손 클래스일 경우를 말하는 것 같다. 밀접한 파일은 한 파일에 속해야 한다는 의미를 같은 패키지 안에 둬야 한다고 이해할 수 있겠다.
- 비슷한 개념인데 protected 변수는 다른 패키지에서 사용 가능하기 때문에 수직 거리가 멀어진다. 서로 비슷한 개념은 세로로 가까이 둬야 한다고 책에 나와있다. 그러므로 이를 방지하기 위해 protected 변수 사용을 피하라는 것 같다.
반응형
댓글