코드 가독성의 기본정리
-코드는 다른 사람이 그것을 이해하는 데 들이는 시간을 최소화 하는 방식으로 작성되어야 한다.
- 여기서 ‘이해’란 자유롭게 코드를 수정하고, 버그를 짚어내고, 수정된 내용이 다른 부분의 코드와
어떻게 상호작용하는지 알 수 있어야 한다는 사실을 의미한다.
코드는 이해하기 쉬워야 한다.
7.
분량이 적으면 항상더 좋은가?
- 코드는 다른 사람이 그것을 이해하는 데 들이는 시간을 최소화 하는 방식으로 작성되어야 한다.
- 여기서 ‘이해’란 자유롭게 코드를 수정하고, 버그를 짚어내고, 수정된 내용이 다른 부분의 코드와
어떻게 상호작용하는지 알 수 있어야 한다는 사실을 의미한다.
코드는 이해하기 쉬워야 한다.
주석에 담아야 하는대상
- 우리는 코드를 작성할 때 머릿속에 귀중한 정보가 있다.
- 그런데 다른 사람이 그 코드를 보면 그런 귀중한 정보는 없다.
- 그들이 가진 정보라곤 눈 앞에 있는 코드뿐이기에….
- 코드를 읽는 사람이 코드를 작성한 사람만큼
코드를 잘 이해할 수 있게 도울 수 있어야 한다.
주석을 어떻게 달아야 할까?
11.
설명하지 말아야 하는것
- 코드에서 빠르게 유추할 수 있는 내용은 주석으로 달지 말자.
- 코드를 더 잘 이해할 수 있도록 도와주지 못하는 주석들은 가치가 없다.
주석을 어떻게 달아야 할까?
생각을 기록하라.
- 좋은주석은 자신의 생각을 기록하는 것만으로도 탄생할 수 있다.
- 코딩할 때 생각했던 중요한 생각을 기록하면 된다.
- 마치 영화 감독의 설명처럼…
주석을 어떻게 달아야 할까?
16.
코드에 있는 결함을설명하라.
- 코드는 지속적으로 진화하며, 그러는 과정 중에 버그를 갖게 될 수 밖에 없다.
- 그것을 두려워하거나, 부끄러워하지 말자.
- 작성하는 코드의 내용이 훗날 수정될 것이라 생각이 들면, 그러한 것을 주석으로
남기자.
주석을 어떻게 달아야 할까?
상수에 대한 설명
-상수를 정의할 때는 그것이 왜 특정한 값을 갖게 되는지 사연이 존재
- 이러한 상수값을 선택한 사람이 자신이 생각하는 이유와 경험을 주석으로 달아
놓으면 다른 사람들이 코드를 이해하기 더욱 쉬워질 것이다.
- SECONDS_PER_DAY 와 같은 이름이 명확한 상수는 주석이 없어도 된다.
주석은 어떻게 달아야 할까?
19.
코드를 읽는 사람의입장이 되어보자.
- 이 책은 코드를 처음으로 읽는 외부인의 입장에 자기 자신을 놓는 기법을 다루고
있다.
- 나올 것 같은 질문 예측하기
- 사람들이 쉽게 빠질 것 같은 함정을 경고하라.
- 요약 주석을 작성하자
주석은 어떻게 달아야 할까?
이 책에서 말하는유용한 규칙은 다음과 같습니다.
유동적인 값인 변수보단 고정적인 더 안정적인 값을 비교값에 사용되게 하는 것입니다.
루프와 논리를 단순화하기
27.
if / else블록의 순서
- 부정이 아닌 긍정을 다루자. 즉, if(!debug)가 아닌 if(debug)를 선호하자.
- 간단한 것을 먼저 처리하자. 이렇게 하면 동시에 같은 화면에 if와 else 구문을
나타낼 수도 있다. 두 개의 주문을 동시에 보는 게 더 좋다.
- 더 흥미롭고, 확실한 것을 먼저 다루어라.
루프와 논리를 단순화하기
설명 변수를 사용하자.
-커다란 표현을 쪼개는 가장 쉬운 방법은 작은 하위표현을 담을 추가변수를
만드는 것이다.
거대한 표현을 잘게 쪼개기
38.
요약 변수를 사용하자.
-커다란 코드의 덩어리를 짧은 이름으로 대체하여 더 쉽게 관리하고 파악하는
목적을 가진 변수를 요약 변수라고 한다.
- 요약 변수를 사용할 경우, 읽는 사람이 ‘이것이 바로 이 함수에서 생각해야 하는
주된 개념이군’ 이라고 생각할 수 있게 한다.
거대한 표현을 잘게 쪼개기
1. 프로그래밍이 언어라는관점에서 다시 한번 생각하는 계기가 되었습니다.
2. 코드를 작성할 때 다른 사람에 대한 생각도 꾸준히 해야한다는 것을 느꼈습니다.
3. 다른사람에게 내가 배운 것을 전달한다는 것이 얼마나 어려운 것인지 다시 한번 느끼게
되었습니다.
추천도서 및 느낀점