태그 보관물: coding-standards

coding-standards

코드 너비에 대해 80자가 ‘표준’제한 인 이유는 무엇입니까? 코드 너비에 80

코드 너비에 80 문자가 “표준”제한 인 이유는 무엇입니까? 왜 79, 81 또는 100이 아닌 80입니까? 이 특정 가치의 기원은 무엇입니까?



답변

이 한계에 대해 IBM 펀치 카드 에 감사 할 수 있습니다 . 80 개의 열이 있습니다.

IBM 펀치 카드


답변

으로 오디드 언급이 일반적인 코딩 표준은 IBM의 1928의 결과이다 (80) 열 천공 카드 포맷 많은 코딩 표준 다시 프로그램을 한 번에 펀치 카드, 하나 개 카드 / 줄에 기록 된 시간을 날짜 이후, 심지어 전환 화면을 넓히면 코드가 더 넓어지기가 어렵다는 사실을 바꾸지 않았습니다.

펀치 카드 의 wikipedia 페이지에서 :

문화적 영향

  • 80 컬럼 펀치 카드 형식의 유산은 문자 기반 터미널을 설계 할 때 행당 80자를 표시하는 것이 일반적인 선택이라는 것입니다. 2011 년 11 월 현재 Microsoft Windows의 명령 프롬프트 창 너비와 같은 일부 문자 인터페이스 기본값은 80 열로 설정되어 있으며 FITS와 같은 일부 파일 형식은 여전히 ​​80 자 카드 이미지를 사용합니다.

이제 허먼 홀러리스 (Herman Hollerith) 가 이전에 24 및 45 컬럼 카드를 사용한 1928 년에 IBM이 80 컬럼 카드를 선택한 이유는 무엇입니까?

결정적인 대답을 찾을 수는 없지만 선택은 당시의 타자기 줄 당 일반적인 문자 수를 기반으로 한 것으로 생각 됩니다.

필자가 본 역사적 타자기의 대부분은 약 9 인치 의 플래 튼 너비를 가졌으며 이는 너비가 8 “-8.5″인 용지 크기의 표준화에 해당합니다 (미국 8 ½ “x 11의 표준 용지 크기는 왜입니까? 참조). “?ISO216역사 시리즈 용지 표준 ).

인치당 10-12 문자의 일반적인 타자기 피치를 추가하면 여백의 크기에 따라 너비가 72-90자인 문서가됩니다.

따라서 줄당 80 문자는 동일한 카드 크기를 유지하면서 구멍 피치 (작은 사각형 대 큰 둥근 구멍)와 줄 길이 사이의 좋은 절충안을 나타냅니다.


덧붙여서, 어느 곳에서나 코딩 표준에서 80 문자 선 너비를 지정하지는 않습니다. 여기서 작업 할 때 132 문자 제한이 있습니다. 여기에는 일반적인 와이드 라인 프린터 너비 , 12pt 가로 A4 출력 및 패키지 탐색기 후 Eclipse의 편집기 창 (1920×1200 화면에서 최대화 됨)에 남아있는 일반적인 줄 너비에 해당합니다. 개요보기가 고려됩니다.

그럼에도 불구하고 여전히 80 문자 너비의 코드를 선호하므로 옆으로 스크롤하거나 (항상 나쁘게) 줄 바꿈 (코드 형식을 파괴하는)하지 않고 파일의 세 가지 개정판을 나란히 비교하는 것이 더 쉽기 때문에 선호합니다. 80 자 너비 코드를 사용하면 한 화면에서 편안하게 전체 3 방향 병합 (일반 조상, 로컬 지점 및 원격 지점) 을 볼 수있는 240 자 너비의 화면 (문자 당 8 픽셀의 1920 픽셀) 만 있으면 됩니다.


답변

나는 또한 오래된 터미널의 크기가 80×24 자이기 때문에 80×24 터미널 시대에 …

편집하다:

80×24 및 80×25 형식이 초기 I / O 터미널 및 개인용 컴퓨터에서 가장 일반적인 화면 모드이기 때문에 80 바이트는 편집기에서 코드 너비에 대한 현재 “일반적으로 허용되는”제한입니다. VT52 -thanks Sandman4).

이 한계는 여전히 유효하고 어떻게 든 중요한 두 가지 이유로 IMHO가 중요합니다. 많은 Linux 배포판이 새로 생성 된 터미널 창에 할당하는 기본 지오메트리는 여전히 80×24이며 많은 사람들 크기를 조정하지 않고 그대로 사용합니다 . 또한 커널, 실시간 및 임베디드 프로그래머는 종종 창 관리자없이 “헤드리스”환경에서 작업합니다. 다시 기본 화면 해상도는 종종 80×24 (또는 80×25)이며 이러한 상황에서는이 기본 설정을 변경하기가 어려울 수도 있습니다.

따라서 커널, 실시간 또는 임베디드 프로그래머라면 코드를 읽어야하는 프로그래머에게 조금 더 친숙해 지도록이 한계를 존중해야합니다.


답변

아마도 80 자 제한의 원래 이유는 아니지만 널리 채택 된 이유는 단순히 인체 공학을 읽는 것입니다 .

  • 줄이 너무 짧으면 읽는 동안 한 줄에서 다음 줄로 계속 이동해야하므로 텍스트를 읽기가 어렵습니다.
  • 줄이 너무 길면 다음 줄의 시작 부분으로 돌아가는 동안 “줄을 잃어”서 줄 점프가 너무 어려워집니다 (줄 간격이 더 커지면 완화 될 수 있지만 공간이 낭비됩니다).

이것은 타이포그래피에서 널리 알려져 있고 수용됩니다. 표준 권장 사항 (도서의 텍스트 등)은 한 40-90 자 , 이상적으로는 약 60 자 (예 : Wikipedia , Markus Itkonen : 타이포그래피 및 가독성 )를 사용하는 것이 좋습니다.

한 줄에 60자를 목표로하는 경우, 가끔 긴 표현 (및 여백 마커 및 줄 번호와 같은 것)을 수용 할 수 있도록 상한이 약간 높아야하므로 70-80의 상한을 갖는 것이 좋습니다.

이것은 아마도 많은 다른 시스템이 80자를 제한 한 이유를 설명합니다.


답변

관련 질문은 “80 개의 열이 지속 된 이유”입니다. 이 페이지의 응답조차 대략 그 너비입니다. 80 열의 역사적인 이유에 동의하지만 표준이 지속 된 이유가 문제입니다. 나는 가독성과 주장에 대한 가독성을 주장 할 것이다. 우리의 마음은 한 번에 너무 많은 정보를 흡수 할 수 있습니다. 나는 명령문이 너무 길고 모호해질 때를 상기시키기 위해 여전히 코드 편집기에서 80 열 마커를 사용합니다. 또한 브라우저와 지원하는 IDE 창에 대한 많은 화면 공간을 남겨 둡니다. 긴 라이브 80 열-가이드가 아닌 규칙.


답변

고정 피치 글꼴 시대의 또 다른 일반적인 줄 길이 제한은 72 자입니다. 예 : 포트란 코드, 메일, 뉴스.

한 가지 이유는 펀치 카드의 열 73-80이 일련 번호로 예약되어 있기 때문입니다. 왜 일련 번호입니까? 카드 데크를 떨어 뜨린 경우 원하는 순서대로 카드를 집어 들고 왼쪽 위 모서리 (항상 대각선 절단 부분이 있음)를 정렬 한 다음 카드 정렬 기계를 사용하여 순서대로 되돌릴 수 있습니다.

72 자 제한의 또 다른 이유는 일반적인 글꼴의 높이가 10 포인트, 너비가 6 포인트 (1/12 “) 였기 때문입니다. A4 또는 8.5″너비 페이지는 6 “너비 열에 72자를 저장할 수 있으며 여백을위한 여지가 있습니다. 인치 이상.


답변

인쇄 할 때 줄 바꿈이나 코드 손실이 발생하기 때문에 줄 끝에서 “약 80 열”을 고수합니다.

펀치 카드 레거시도 있지만 레이저 프린터 또는 8.5×11 인치 용지가 펀치 카드 제한을 준수하도록 설정되지 않았다고 생각합니다.