가 유효한 이유를 적용하는 최대의 폭 80 문자 코드 파일에서,이 시대?[마감]

StackOverflow https://stackoverflow.com/questions/110928

문제

심각합니다.에 22"모니터,당신은 어쩌면 분기의 화면.어 탄약을 도끼로 이 규칙이 있습니다.


나는지는 말이 있지 않아야 한계;난 그냥 말하고,80 문자가 아주 작습니다.

도움이 되었습니까?

해결책

내가 생각하는 연습을 유지하는 코드를 80(79)열었던 사람들을 지원하는 코드를 편집 80 열 벙어리 터미널에서 또는 80-열 인쇄물.그 요구가 대부분 사라져 지금,하지만 여전히 유효한 이유 유지하 80 열률:

  • 을 방지 감싸는 경우 복사하는 코드로 이메일,웹 페이지 및 책입니다.
  • 을 보려면 여러 소스 윈도우 side-by-side 사용하거나 side-by-side diff 뷰어입니다.
  • 하여 가독성을 개선할 수 있습니다.좁은 코드를 읽을 수 있습없이 신속하게 스캔에서 당신의 눈을합니다.

내 생각에 마지막 포인트는 가장 중요합니다.하지만 전시해야에서 성장 크기와 해상도에서 지난 몇 년 동안, 눈지.

다른 팁

기원의 80 열 텍스트 포맷은 이전보다 80 열 터미널-IBM 펀치카드 다시 날짜 1928!이것은 연상의 (외경) 이야기는 우리에게 철도 계기로 결정했으로의 폭은 마차 바퀴에서는 로마가 영국.

가끔 그것은 조금 찾을 수축하지만,그것은 의미를 갖 표준 제한,그래서 80 열입니다.

여기에는 동일한 주제에 의해 덮 Slashdot.

그리고 여기에는 학교 프로그램책:

FORTRAN punch card

80 문자는 어리석은 이러한 제한 일입니다.분할의 코드의 라인 수는 점점 어디 그것은 말,에 따라하지 않는 임의의 문자로 제한.

당신은 단지 그것을 위해서 모든 사람이 없 22 인치 와이드스크린 모니터링합니다.개인적으로 나는 일에서 17inch4:3 모니터링 및 내가 찾는 것보다 더 많은 충분히 넓습니다.그러나,또한 3 사람들의 모니터,그래서 나는 아직도 많이 사용 가능한 화면 공간입니다.

뿐만 아니라,인간의 눈으로 문제를 텍스트를 읽는 경우에는 줄을 너무 깁니다.그것은 너무 쉬운에서 길을 잃는 라인 당신은에 있습니다.신문은 17 인치에서(또는 페이지에 터치 활성화 요소는 다음과 같),하지만 당신은 그들을 볼 수 없이 쓰는 모든 방식이 있는 페이지에 걸쳐 동일한 잡지 기타 인쇄된 항목입니다.그것이 실제로 더 쉽게 읽을 유지하는 경우 열이 좁은입니다.

인쇄 기본적으로 모노스페이스 글꼴 크기(A4 용지)80 열에 의해 66 라인입니다.

야 할 때의 순서 문을 반복되는 작은 변할 수 있게의 유사점과 차이점을 경우 그들은 그들로 그룹화선도록 차이 수직으로 정렬합니다.

나는 주장을 다음과 같은 훨씬 읽을 수 있는 것보다면 나는 그것을 나누러 라인:

switch(Type) {
case External_BL:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
case External_BR:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
case External_TR:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case External_TL:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case Internal_BL:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case Internal_BR:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y + RadialClrY;    break;
case Internal_TR:   mpstrd["X"] = ptDig1.x - RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
case Internal_TL:   mpstrd["X"] = ptDig1.x + RadialClrX;    mpstrd["Y"] = ptDig1.y - RadialClrY;    break;
}

업데이트: 에서 그것은 제안하는 것이 더 간단한 방법의 하 고 상기:

switch(Type) {
  case External_BL: dxDir = - 1; dyDir = - 1; break;
  case External_BR: dxDir = + 1; dyDir = - 1; break;
  case External_TR: dxDir = + 1; dyDir = + 1; break;
  case External_TL: dxDir = - 1; dyDir = + 1; break;
  case Internal_BL: dxDir = + 1; dyDir = + 1; break;
  case Internal_BR: dxDir = - 1; dyDir = + 1; break;
  case Internal_TR: dxDir = - 1; dyDir = - 1; break;
  case Internal_TL: dxDir = + 1; dyDir = - 1; break;
}
mpstrd["X"] = pt1.x + dxDir * RadialClrX;
mpstrd["Y"] = pt1.y + dyDir * RadialClrY; 

하지만 그것은 지금에 맞는 80 열이 나는 생각한 나의 점도와 나는 단지 나쁜 예입니다.그것은 여전히 보여주는 배치 여러 문을 줄 수 있는 가독성을 높입니다.

내가 사용하는 장점 더 큰 화면을 여러 조각의 코드는 다음을 서로.

얻을 수 없 탄약입니다.사실에서,나는 그것을 보고 이후 변경된 비상 사태에서 나는 아직도 참 드문 경우는 곳에 나를 변경해야 하는 코드에서는 텍스트입니다.

최고 긴 라인은 열심히 읽을 수 있습니다.그냥을 얻을 수 있기 때문에 300 캐릭터 모니터에해야한다는 의미는 아닙니 라인을 만들어하는 길이입니다.300 자도 너무 복잡한에 대해 문의하지 않는 한 당신은 선택의 여지가 없(전화를 필요로 하는 전체의 무리를 매개 변수입니다.)

내가 사용하여 80 문자는 일반적인 원칙으로 하지만 나는 것을 넘어 이동하는 경우 적용하는 것을 의미를 넣어 줄 바꿈에서 바람직하지 않은 위치.

의 적용을 숙박 시설 내에 80 문자는 내 댓글입니다.

개인적으로 난 기울이고 내 모든 뇌 전력(작은 무엇이 있는)하로 코딩,그것은 고통을 이동하시고 모든 것을 파괴에 80char 제한할 수있을 때 시간에 다음 기능이다.그렇다,---끝---이력서 그것을 할 수 있는 나를 위해 난 하지만 그것은 괴물이 나에게 조금는 제 3 자는 제품입에 대한 결정을 내 코드는 레이아웃 변경("를 분해하지 마십시오 나의 코드로 두 줄 HAL.HAL?").

는 말했다,나는 작업에 상당히 소규모 팀와 우리의 모든 모니터를 상당히 큰래에 대한 걱정을 귀찮게 내 동료 프로그래머지 않는 거대한 우려로 간다.

는 것 같지만 어떤 언어도록 장려하기 위해 라인의 코드를 위해 더 많은 투자 대비 효과(단 손는 경우 다음을 진술).

나는 두 20"1600x1200 모니터링하고 난 80 열 수 있기 때문에 나에게 표시 여러 텍스트 편집기 windows side-by-side.를 사용하는'6x13'글꼴(트라.xterm 글꼴)80 열을 480 픽셀러 스크롤 막대 및 창 테두리입니다.이를 사용하여 세 윈도우에서 이러한 유형의 a1600x1200 모니터링합니다.Windows Lucida 콘솔 글꼴지 않을 것이 아주 이기(minimun 사용 가능한 크기는 7 픽셀)지만 1280x1024 모니터 디스플레이 두 개의 열 및 1920x1200 모니터링 등 HP LP2465 표시됩니다 3.그것은 또한 비트의 측면에서는 다양한 탐색기,속성 및 다른 윈도우에서는 Visual Studio.

또한 매우 긴 줄의 텍스트를 읽기가 어렵습니다.텍스트를 위한 최적의 66 문자입니다.이 있는 지점을 지나치게 긴 식별자를 시작하기 때문에 역효과 그들은 열심히 배치 코드 coherently.좋은 레이아웃과의 들여쓰기를 제공합 시각적 단서로 코드 구조와 일부 언어(Python 마음에 온다)사용하여 명시적으로 들여쓰기합니다.

그러나,표준 클래스 라이브러리를 위한 Java.Net 하는 경향이 있의 우세는 매우 긴 식별자도 있습니 반드시 보장을 할 수 있다.이 경우에는 누워 코드로 라인-여전히 휴식하는 데 도움이들에게 구조를 분명하게 명시되어 있습니다.

참고 얻을 수 있는 윈도우 버전의'6x13'글꼴 .

다른 답변이 이미 일을 요약 정중하게 그러나 그것은 또한 고려 가치가있을 때할 수 있습을 복사&붙여넣기로 어떤 부호,이메일 또는하지 않을 경우에는 코드는 다음 diff.

는 시간을 갖는 경우"최대 너비"유용합니다.

당신은하지 않는 유일한 사람을 유지하기 위하여 가고 당신의 코드입니다.

다음 사람이 누가 있을 수 있습 17"스크린 또는 필요할 수 있습 큰 글꼴면 텍스트를 읽을 수 있습니다.제한은 어딘가에 그리고 80 문자는 협약으로 인해 이전 화면으로 제한 사항이 있습니다.의 생각할 수 있는 어떠한 새로운 표준(120)그리고 왜 그것은 좋은 아이디어를 사용하는 다른 다음"그에 맞는 모니터에 Xpt 글꼴?"

도 있음을 기억하십시오 항상 모든 규칙에 예외 그래서 당신은 특정 라인 또는 블록의 코드를 수 80 개 이상의 문자는 다음 수 있다.

하지만 시간이 걸릴 생각하는 첫 번째는"이 코드는 정말 나쁜할 수 있는지에 80chars?"

리눅스에서 코딩 표준뿐만 아니라,그들은 계속 80 문자를 제한하지만,그들은 또한 사용 8 공간을 들여쓰기가 있습니다.

의 부분을 추론하는 경우에 당신이 이제까지 도달한 오른쪽 여백을 고려해야 합니다 이는 들여쓰기 수준으로 별도의 기능입니다.

이것은 명확한 코드기 때문에 관계없이의 들여쓰기 길이,그것은 더 읽기 코드는 많은 중첩 제어 구조이다.

이 수 있는 더 많은 문제가 발생에서 이 시대.그 기억에서는 C(및 다른 언어)에 있는 규칙을 얼마나 오랫동안 함수 이름이 될 수 있습니다.따라서,당신은 종종 매우 어려운 이해의 이름 C 코드입니다.좋은 것은 그들을 사용하지 않습니다.그러나 모든 시간에 코드에서 일부는 같은 언어는 C#또는 자바 메서드 이름은 종종 매우 길,만드는 것이 거의 불가능을 유지하는 코드에서 80 자 길이 있습니다.나는 생각하지 않 80 문자를 사용할 수 있습니다,오늘 당신이 필요하지 않는 한 인쇄 할 수 있습니다.

으로 다른 사람이 말했다,나는 그것을 위해 최선(1)인쇄 및(2)에 표시 여러 파일을 수직으로 나란히.

내가 좋아하는 한도 내 폭 100 문자 또는 그래서 허용하는 두 가지 SxS 편집기에서 와이드스크린 모니터링합니다.나는 생각하지 않는 어떤 이유에 대한 제한의 정확히 80 문자는 더 이상.

나는 넓혀 나의 코드를 100 는 문자에 편안하게 맞는 반 보다는 더 적은 내면에 내 Macbook.120 자는 아마도 제한하기 전에 줄을 시작하이 너무 길고 복잡합니다.을 얻고 싶지 않은 너무 넓은 다른 사람을 격려하는 복합 문과 중첩된 제어 구조이다.

오른쪽 여백은 자연의 방법을 말하고 당신이 수행하는 추가 방법 refactoring.

를 사용에 비례 글꼴입니다.

나는 심각합니다.나는 일반적으로 동등성의 100-120 에서 캐릭터 라인을 희생하지 않고 가독성이나 인쇄.사실 그것은 더 쉽게 읽기 좋은 글꼴(예를 들어,Verdana)및 구문을 색칠합니다.그것은 좀 이상한 몇 일 동안,하지만 당신은 빨리 사용됩니다.

사람들이 말하는 긴 줄의 코드하는 경향이 복잡합니다.간단한 Java 클래스:

public class PlaintiffServiceImpl extends RemoteServiceServlet implements PlaintiffService {

이 94 자고 있는 클래스 이름은 매우 짧고(GWT 기준).그것을 읽기 어려운에서 2 라인과 그것은 아주 읽을 수 있는 하나의 라인입니다.는 실용적이 그것에 대해하고 따라서 허용"이전 버전 호환성",나는 말은 100 자른 폭입니다.

로의 저자 코딩에 대한 지침을 나의 고용주가 올인 길이 80 에서 132.왜 이 값은?만,다른 사람처럼,지적 80 의 길이가 많은 오래된 하드웨어 터미널이 있습니다.132 은뿐만 아니라! 그것은 라인 폭 때 단말기에 와이드 모드.프린터도 만들 수 있는 하드 카피에서 와이드 모드로 압축된 글꼴입니다.

에 대한 이유에서 숙박하지 않 80 이는 나보

  • 아보세요 더 이상 이름을 의미한 식별자
  • 로 성가시게 하지 않 typedef 구조체에 대해서고에서 열거형 C(그들은 나쁘다,그들이 숨기는 유용한 정보를 확인할 수 있습니다!물 Peter van der Linden"깊은 C 비밀을"만약 당신이 그것을 믿지 않는다),그래서 코드는 많 struct FOO func(struct BAR *aWhatever, ...) 이 코드의 형식 정 매니아.

과 이 규칙에서 단 80 문자/선생긴 줄이 더 자주보다 내 눈을 수락가능하다고(대부분에 시제품과 기능의 정의).

저는 것을 아래로 근처 80 캐릭터에 대한 간단한 원인:너무보다 훨씬 더 많은 것을 의미 내 코드가 되기 너무 복잡합니다.지나치게 자세한 정보 제공/메서드 이름,클래스 이름은,등등.원인으로 많은 해로 간결한 것들입니다.

내가 주로 Python coder,그래서 이 두 개의 생산 세트의 제한:

  1. 쓰지 않는 긴 줄의 코드
  2. 지 않아 너무 많이 들여쓰기

시작할 때에 도달하는 두 개 또는 세 개의 수준의 들여쓰기,논리를 가져옵니다.유지할 수 없는 경우 하나의 블록에서 동일한 페이지의 코드가 너무 복잡하고 까다로운 일이 기억합니다.유지할 수 없는 경우 하나의 라인을 내에 80 자신의 라인은 지나치게 복잡합니다.

그것은 쉽게서를 작성하는 파이썬을 상대적으로 간결한 코드(codegolf)비용에서의 가독성이지만,그것은 더욱 쉽게 쓰기 코드 자세한 정보의 비용으로 가독성을 높입니다.Helper 방법은 나쁜 것,또는 도우미 클래스입니다.과도한 추상화 문제가 될 수 있습,그러나 그것은 또 다른 도전의 프로그래밍입니다.

면 의심에서 같은 언어는 C 쓰기 도우미 기능 및 인라인하는 경우에 당신은 그들이 원하지 않의 오버헤드를 호출하여 다른 함수에 점프하다.대부분의 경우,컴파일러는 것들을 처리 지능적으로 당신입니다.

이미 많은 좋은 답이지만,그것은 언급 할 가치가있 IDE 이 있을 수 있습의 목록에서 파일을 왼쪽의 목록 기능을 오른쪽에(또는 다른 구성).

당신은 코드입 한 부분의 환경입니다.

나는 일이 적용되지 않습 80 문자를 의미하는 결국어로 포장됩니다.
IMO,길이 선택한 max-width 줄은 항상 적절하지 않고 줄 바꿈되어야 가능한 대답합니다.
그만큼 쉽지 않은 소리입니다.

그것은 구현에 jeditalt text
(출처: jedit.org) 제공하는 단어 랩

하지만 그것은 몹시에서 놓칠 eclipse 에서 컨설팅간 !(2003 년 이후 사실이다),주로하기 때문에 줄 바꿈에 대한 텍스트 편집기 이 포함됩니다:

  • 감싸 줄 정보를 텍스트에 대한 뷰어 코드 네비게이션,수직적 통치자입니다.
  • 미개봉된 온라인 정보에 필요한 기능은 다음과 같 goto 라인,라인 번호자 열,현재 라인을 강조 표시,저장한 파일입니다.

실제로 따르는 규칙에 대한 나의 자신의 코드나 때문에 인쇄하는 코드는 A4 페이지 80 열에 대한 권리에 대한 폭 내 원하는 글꼴 크기.

하지만 그의 개인적인 환경 설정 및 당신은 무엇이었다 후에(이후 당신이 원하는 탄는 다른 방법을 가).

왜 당신은 어떤 질문의 뒤에 추론한,심각하지 않은 경우-하나 오를 수 있는 좋은 이유가 왜 그래서,당신은 좋은 경우가 그것을 제거에서 당신의 코딩 표준입니다.

나는 비교 side-by-side 모든 길과 내가 없거 22 인치 모니터링합니다.지 않으면 알겠지.이는 물론,작은 관심을 쓰기만 프로그래머를 즐기는 화살표 코딩 및 300char 라인입니다.

그렇기 때문에,심지어는이 시대에,우리 중 일부는 코딩에서 터미널(ok,대부분이 터미널 에뮬레이터),디스플레만 표시할 수 있습 80 습니다.그래서,적어도에 대한 코딩이 내가 정말 감사,80char 규칙이 있습니다.

나는 아직도 생각한 제한 제한되지 않는 시각적인 부분입니다.물론,모니터 해상도에 큰 충분하도자 중 하나인 요즘,하지만 그것은 가독성을 증가?

는 경우 제한은 정말 강제 적용되 그것도 좋은 이유가 다시 생각하는 코드고 을 넣고 모든 것을 대각선으로 할 수 있습니다.그것은 동일한으로 들여쓰기-필요하신 경우에는 많은 레벨의 코드를 요구하는 다시 생각했다.

에서 깨 80 자은 당신이 뭔가 코딩,하지 않습니다.동일한 코멘트,물론입니다.대부분의 편집기에서 당신을 지원할 수 있습을 보고 어디 80-문자로 제한한다.

(이 될 수 있는 작은 구약이지만,이클립스에서는 옵션이 있는 코드 형식을 저장할 때 그것은(에 따르면 어떤 규칙을 원합니다).이것은 좀 이상한 처음에는,그러나 잠시 후에 당신을 수용하기 시작하는 이 포맷에서 더 이상 당신의 손보다 생성된 코드입니다.)

가 있으면 우리는 하의 , 우리는 없을 것이 이 토론!;-)

그러나 심각한 문제는 사람들이기에 그들의 답변은 매우 합법적이다.그러나 원래 포스터는지에 대한 논쟁 제한,단순히 80 열이 너무 적다.

의 문제는 이메일 전송 코드 조각을 몇 가지 장점이 있다.하지만 고려하는 악한 것들이 대부분의 이메일 클라이언트가 사전 포맷 텍스트 내가 생각하는 줄 바꿈은 하나만의 문제입니다.

인쇄하기 위해 나는 일반적으로 찾는 100 캐릭터 라인 것입니다 편안하게에 맞게 인쇄된 페이지입니다.

나도 나를 아래 80 개의 열이 있습니다.가장 강력한 이유는 내가 종종 자신을 사용하여 grepless 을 찾아 나의 코드 작업을 할 때 명령 라인입니다.나는 진짜로 좋아하지 않는 방법을 터미널은 깨는 긴 소스 라인(그들은 모두 후에 만들어지지 않았는 작업).또 다른 이유는 내가 그것을 발견하면 좋아 보이는 모든 것에 맞는 선하지 않에 의해 깨진 편집기입니다.예를 들어 다음의 함수 호출을 멋지게 정렬 아래 각각의 다른 유사한 물건입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top