줄 길이 (Line Length)¶
코드의 각 텍스트 줄은 최대 80자여야 합니다.
이 규칙이 논쟁을 부른다는 점은 우리도 인정합니다. 다만 이미 아주 많은 기존 코드가 이 규칙을 따르고 있고, 우리는 일관성이 중요하다고 봅니다.
장점:
이 규칙을 지지하는 사람들은, 창 크기를 늘리도록 강요하는 것은 무례하며 그보다 긴 줄이 필요할 일도 없다고 말합니다. 어떤 사람들은 코드 창을 여러 개 나란히 띄워 놓는 데 익숙해서, 어차피 창을 넓힐 여유가 없습니다. 사람들은 특정한 최대 창 너비를 가정해 작업 환경을 꾸며 두었고, 80열은 오랫동안 이어져 온 표준이었습니다. 그것을 왜 바꿔야 할까요?
단점:
바꾸자는 쪽에서는 줄이 길어지면 코드를 더 읽기 좋게 만들 수 있다고 말합니다. 80열 제한은 1960년대 메인프레임에서 온, 고루하고 시대에 뒤진 잔재입니다. 요즘 장비는 화면이 넓어서 긴 줄도 얼마든지 보여 줄 수 있습니다.
결정:
최대 80자입니다.
다음의 경우라면 한 줄이 80자를 넘어도 됩니다.
- 가독성이나 복사·붙여넣기의 편의, 자동 링크를 해치지 않고서는 나누기 어려운 주석 줄. 예를 들어 그 줄에 예제 명령이나 80자가 넘는 URL 리터럴이 들어 있는 경우입니다.
-
80열에서 쉽게 줄바꿈할 수 없는 문자열 리터럴. URI나 그 밖에 의미상 중요한 조각이 들어 있어서일 수도 있고, 리터럴 안에 다른 언어가 들어 있어서일 수도 있고, 도움말 메시지처럼 줄바꿈 자체가 의미를 갖는 여러 줄 리터럴이어서일 수도 있습니다. 이런 경우에 리터럴을 쪼개면 가독성과 검색 가능성, 링크를 클릭할 수 있는 성질 등이 떨어집니다. 테스트 코드가 아니라면 그런 리터럴은 파일 위쪽의 네임스페이스 범위에 두어야 합니다. Clang-Format 같은 도구가 쪼갤 수 없는 내용을 알아보지 못한다면, 필요한 만큼 그 내용 주위에서 도구를 비활성화하세요.
(우리는 그런 리터럴의 사용성·검색 가능성과 그 주변 코드의 가독성 사이에서 균형을 잡아야 합니다.)
-
#include문. - 헤더 가드.
- using 선언.
옮긴이 풀이¶
핵심: 한 줄은 최대 80자¶
코드의 각 줄은 80자를 넘지 마세요.
예외 (80자를 넘겨도 되는 경우)¶
- 나누면 가독성·복붙·자동 링크가 깨지는 주석 줄(예: 예제 명령, 80자 넘는 URL).
- 80열로 깔끔히 줄바꿈할 수 없는 문자열 리터럴(URI, 내장 언어, 줄바꿈이 중요한 여러 줄 리터럴 등). 테스트 코드를 제외하면 이런 리터럴은 파일 상단 네임스페이스 범위에 두세요.
#include문, 헤더 가드,using선언.