와이드 스크린 모니터에서는 스크롤 막대없이 한 번에 80 자 이상을 쉽게 볼 수 있습니다. linus torvalds조차도 80 자 제한은 구식 으로 간주 합니다.
그렇다면 80 자 제한은 여전히 와이드 스크린 모니터와 관련이 있습니까?
와이드 스크린 모니터에서는 스크롤 막대없이 한 번에 80 자 이상을 쉽게 볼 수 있습니다. linus torvalds조차도 80 자 제한은 구식 으로 간주 합니다.
그렇다면 80 자 제한은 여전히 와이드 스크린 모니터와 관련이 있습니까?
답변:
80 자 제한을 준수해야하는 몇 가지 이유가 있습니다 (또는 74 자 제한이 더 좋습니다. 코드 검토를 수행하는 경우 diff 마커 및 이메일 인용이 추가 된 경우에도 코드가 80 열 미만으로 유지 될 수 있습니다) 메일 링리스트).
와이드 스크린 모니터 시대에도 코드의 다른 부분을 보여주는 몇 개의 창이 나란히 열려있는 것을 좋아합니다. 예를 들어, 일반적으로 웹 브라우저와 전자 메일이 한 화면에 열리고 두 개의 파일과 터미널이 두 번째 모니터에서 나란히 열립니다. 열이 80 개가 넘는 줄이있는 경우 줄을 감싸는 편집기를 다루거나 (보기 흉하고 코드를 탐색하기 어렵게 함) 창을 넓히면 화면에 여러 줄을 맞출 수 없습니다. 한번.
일반적으로이 방법으로 편집하지 않더라도 side-by-side diff 도구를 사용하는 경우 합리적인 선 길이를 가진 파일을 사용하면 diff를보다 쉽게 볼 수 있습니다.
코드 밀도 문제도 있습니다. 코드를 읽을 때 많은 컨텍스트를 갖고 싶습니다. 스크롤하는 것보다 창을 위아래로 보는 것이 훨씬 빠릅니다. 매우 긴 선이있는 경우 길이가 많은 선이 많은 경향이있어 화면 공간이 많이 낭비되고 전체적으로 주어진 시간에 화면에 적은 코드를 넣을 수 있습니다.
마지막으로 매우 긴 줄이있는 경우 일반적으로 매우 복잡한 줄, 깊은 들여 쓰기 또는 매우 긴 식별자가 있음을 의미합니다. 이 모든 것이 문제가 될 수 있습니다. 복잡한 줄은 아마도 너무 많은 일을하고있을 것입니다. 여러 간단한 줄로 나눌 수 있다면 아마 그럴 것입니다. 들여 쓰기는 너무 많은 루프와 조건을 중첩하여 코드 흐름을 혼란스럽게 할 수 있음을 의미합니다. 여러 기능으로 리팩토링을 고려합니다. 식별자가 너무 길면 코드를 읽기가 매우 어려울 수 있습니다. 사람들은 일반적으로 단어를 개별 단위로 인식합니다. 모든 문자를 하나씩 읽지는 않지만 단어의 전체적인 모양을 살펴 봅니다. 긴 식별자는 이러한 방식으로 구분하기 어렵고 일반적으로 긴 경우 중복되거나 반복되는 정보를 포함합니다.
이제 코드를 80 열 미만으로 유지하는 것이 여전히 좋은 방법이지만, 종교적으로 따라야하는 규칙 중 하나가 아니기 때문에 자신에게 맞지 않는 라인을 만들기 위해 자신을 왜곡하는 것이 아닙니다. 모든 코드를 80 열 미만으로 유지하려고 시도하지만 적합하지 않을 때 너무 걱정하지 마십시오.
std::vector<...>::const_iterator
되지만, 후자의 경우 일반적으로 typedef로 완화 할 수 있습니다.
줄을 약 100 자 미만으로 유지하면 와이드 스크린 모니터에 두 개의 편집기 창이 나란히있을 수 있습니다. 클래스 헤더 파일과 구현을 동시에 표시하거나 한쪽 코드를 다른 쪽 코드를 호출하는 것이 매우 유용합니다. 그리고 줄을 짧게 유지하면 편집기 창에 가로 스크롤 막대가 필요하지 않으므로 더 많은 수직 공간이 생깁니다.
80자가 구식 일 수 있지만 사유를 유지하는 데에는 장점이 있습니다.
나는 모니터가 그것과 관련이 있다고 생각하지 않습니다. 적어도 더 이상은 아닙니다.
80 자로 된 줄을 코딩 할 수 없다면 아마도 잘못된 코드의 표시 일 것입니다. 너무 복잡한 표현. 들여 쓰기가 너무 깊습니다. 당신이하고있는 일을 멈추고 다시 생각해야합니다.
그러나 코드에 80 줄 이상이 필요하다고 확신하면 계속하십시오. 작게 만들기 위해 관용적 변경 사항을 추가하는 것보다 80자를 초과하는 코드를 사용하는 것이 좋습니다.
나는 이런 종류의 물건을 개인적으로 싫어합니다.
ret = my_function(parameter1, \
parameter2, \
parameter3, parameter4);
단순히 대신 :
ret = my_function(parameter1, parameter2, parameter3, parameter4);
예, 코드 라인 길이를 제한해야하는 이유가 있습니다.
그러나 80은 너무 작습니다. 그러나 여전히 일부 제한은 설계 원칙으로서 좋은 아이디어 일 것입니다.
때때로 그들은 때문에, 여분의 긴 줄이 허용되지 않아야 함을 말할 것 입니다 필요합니다. 그러나 대부분의 기능을 30 인치 화면에서만 볼 수 있다면 코드에 몇 가지 문제가 있습니다.
정확히 80자를 제한하는 것은 적절하지 않습니다. 예를 들어, 한계가 85이면 어떤 변화가 있습니까?
오늘날 사용되는 모니터의 해상도는 더 높지만 텍스트 편집기 / IDE에서는 모든 공간이 텍스트보기에서 사용되지는 않습니다. 편집기에서 프로젝트에 포함 된 파일 목록을 왼쪽에 표시합니다.
넷북 또는 노트북에 사용 된 해상도는 모니터에 사용 된 해상도와 동일하지 않습니다. 다른 사람에게 "문제"를 만들지 않는 문자 제한을 사용하는 것이 좋습니다.
약간의 한계가 있다는 것은 확실히 의미가 있습니다. 그러나 80 자 제한이 너무 제한적입니다. 96 자 제한과 같은 것을 선호합니다. 처리 해야하는 대부분의 코드에 대해 충분히 넓고 두 파일이 나란히 배치되어 (와이드 스크린으로) 두 파일을 나란히 넣을 수있을 정도로 좁습니다.
코드 가독성이 다른 모든 문제보다 우선합니다. 또한 라인 코드 당 96자를 사용하면 80보다 훨씬 읽기 쉽습니다.
나는 대부분의 사람들이 터미널을 80 자로 넓게 설정한다는 주장을 믿지 않으며 프린터가 80자를 초과하는 줄을 감쌀 필요는 없다. 과거 (원격) 과거에 있었던 것처럼 하드 한계가 아닙니다. 터미널과 프린터 너비를 100 자로 쉽게 설정할 수 있습니다.
아니요, 더 이상 관련이 없습니다.
80자는 실제로 콘솔 환경에서 고정 너비 글꼴에 대한 지침이었습니다.
물론 콘솔 환경에서 여전히 고정 너비 글꼴을 사용하는 경우 80 문자는 합리적입니다. :)
GUI에서 편집기를 사용하는 경우 대부분의 편집기 (예 : Notepad ++)에는 줄 바꿈을 전환 할 수있는 단추가 있으므로 줄당 80자가 관련이 없습니다. 따라서 얇은 창에서 코드를 볼 때도 문제가되지 않습니다.