•
코드는 이해하기 쉬워야 한다.
◦
많은 사람들이 도출해낸 결론이다.
◦
왜일까?
무엇이 코드를 ‘더 좋게’ 만드는가?
•
프로그래머의 대부분은 프로그래밍 시에 즉흥적으로 결정을 내리곤 한다.
•
친숙한 내용을 더 빠르게 받아들인다는 뜻이다.
가독성의 기본 정리
•
코드에 대한 연구 끝에 가독성과 관련해 가장 중요한 통계적 사실이 있음을 알아내었다.
•
저자는 이를 가독성의 기본 정리라고 부르기로 했다.
◦
코드는 다른 사람이 그것을 이해하는 데 들이는 시간을 최소화하는 방식으로 작성되어야 한다.
•
위 정리에서 의미하는 이해는 매우 높은 기준을 의미한다. 이해했을 때, 그 코드를 자유롭게 수정하고 버그를 찾아내고 수정한 내용이 어떻게 영향을 끼칠지 알아야한다는 것이다.
•
작성한 코드를 나만 보게될 것이라고 해도 가독성은 중요하다. 시간이 지나면 잊어버리듯 우리가 작성했던 코드를 영원히 기억할리없고 언젠가 마주친다면 초면으로 느껴질 것이다.
분량이 적으면 항상 더 좋은가?
•
일반적으로 분량이 더 적은 코드로 문제를 해결하 수 있다면 그것이 더 낫다.
•
하지만 분량이 적다고 해서 항상 더 좋은 것은 아니다. 가독성의 기본 정리를 우선시 하라
이해를 위한 시간은 다른 목표와 충돌하는가?
•
가독성에 대한 가치가 코드의 효율성, 잘 구성된 아키텍처, 테스트의 용이성과 같은 다른 제약 조건보다도 중요할까? 그들이 충돌한다면 무엇을 선택해야 할까?
•
저자의 경험에 의하면 이러한 제약 조건들은 크게 방해가 되지 않는다. 의심의 여지가 있을 때엔 가독성을 택하라고도 한다.
어려운 부분
•
가독성을 좋게 만들려면 상상 속의 인물을 만들어 내고 그 인물이 코드를 읽었을 때, 쉬운지, 어려운지를 따져야하기 때문에 비용이 많이 들 수 밖에 없다.
•
하지만 이것이 당연해진다면 그 비용보다 더 큰 이득이 우리를 기다리고 있을 것이다.