문제

이드/석 비율을 고려하는 것을 좋은(나쁜)코드 건강?

을 줄 수 있습니의 예로는 오픈 소스 프로젝트는 것으로 간주되는 것을 잘 코딩 및 그들의 각각의 의견 비율이 있습니까?

(나는 깨닫는 비율은"true"모든 프로젝트에 대해가 잘 될 수 있습니다 엉터리로 하는 프로젝트 전시 이러한 이론적인 황금 비율이 있습니다.여전히...)

도움이 되었습니까?

해결책

댓글이 매우 희귀하고 가치있는,거의 항상을 표현하는"왜?"라고 적는 방법""(제외되는 경우는 방법은 복잡하고 쉽게 식별 할 수있는 코드에서).

모든 주석은 힌트를 필요할 수 있는 형식을 만드의 의도를 명확하다.모든 코멘트 위험성되고 날짜가 즉시 작성됩니다.

우리는 거의 댓글이 없습니다.고객께서는 XML 의견에 xUnit.net 프로젝트, 하지만, 어떤 사람들 보 코드를 찾기 위해 명확하고 쉽게 읽을 수 있습니다.:)

다른 팁

누구든지 해결하는 코드에서 다른 프로그래머이 말 .큰 문제는 오래된 코드:"당신은 무엇을 참조 코드는 않습니다.당신이 볼 것이 문제입니다.하지만 당신은하지 않는 이유를 알고 프로그래머를 썼는데,이렇게 하면 된다."

을 이해하는 버그 당신은 알 필요가 있다:

  • what 코드 do(지 what 코드는 않습니다)및 이유.
  • 계약서의 모든 기능이다.예를 들어 있는 경우 nullpointerexception 이 그 어디인가요?에서는 기능 또는에서 호출하는 기능입니까?
  • 에서 모든 해킹하는 방법에 대해 설명한 문제를 재현할 수 있(어 버전,OS,OS 버전)입니다.예를 들어 우리는 많은 해킹에 대한 오래된 Java VM 에는 지원되지 않습니다 더 이상입니다.그러나 우리가 확실하지 않으면 우리는 그것을 제거할 수 있기 때문에 우리가 알지 못하는 방법을 재현하다.

우리는 비율을 2~3%는 너무 적다.나는 생각 10%좋은 대규모 또는 오래 살았다.

죄송이없는,엄지손가락의 규칙.프레임워크 및 라이브러리,당 인스턴스를 필요로 훨씬 더 많은 의견이기 때문에 프로그래머는 것이 고객과하지 않은 시간을 읽을 때마다 코드 그들이 필요로를 호출하는 방법입니다.

프로젝트를 당신이 어디에 쓰기/읽기 코드 더 적은 필요 의견 및 개선하려고 코드 읽는 대신 코멘트/코드의 비율이 있습니다.

종류 감사

댓글이 없는 단지 설명하는 코드 그들은 또한 안내 디버거를 누가 찾는 조각의 코드로는 뭔가 않습니다.

검색하는 고객의 주문 역사 또는지 여부를 계산하는 적 플레이어는 눈에 보이는 걸릴 수 있습니다 수십 라인의 코드와도 전문가에 프로그래머 걸릴 수 있습니다 여러 분야는 그것이 무엇입니다.댓글을 말하는"검색하는 고객의 주문 역사를 수 있습니다"디버거를 조사하지 않는 코드에서는 모두 알고있는 경우에는 순서 역사는 아무런 문제가 없습니다.

내가 코멘트는 모든 생각이 모호,또는에 대해 설명해야 한다.저는 종종 위 comment.왜?당신이 알고하지 않기 때문에 사람에서 작동합니다 당신의 코드입니다.내가 좋아하는 상황을 상상들 절반으로 팀 원숭이가 사람만을 이해하는 때에서 enter 를 눌러 라인,그들은 바나나.경우에 따라서,그들은 적어도 읽기를 배우고,그들은 변경되지 않은 나의 논리를 읽지 않고 의견이 처음이다.

케이스와 포인트:

// Delete the helloworld file
exec("rm -f helloworld.txt")

을 얻지 않을 것이 변경:

exec("rm -rf /")

가능성,저는 알고 있지만,심지어 일부 개발자가 변경으로 알려져 있기 때문에 로직 그것을 바로 보이지 않는 과하지 않기 때문에 버그가 있었,또는 요구 사항 변경합니다.

나는 모두가 동의할 수 있는 0 의견을 일반적으로 간주 될 수 있습니다 서브 코드를 문서화.을 기억하는 것도 가장 자기 문서화하는 코드만 이제까지 문서는 무엇 ;결코 무엇이었을 의도적으로 왼쪽으로,최적화,멀리했고,폐기 등입니다.당신은 항상 몇 가지 필요한 영어,기본적으로,소스 파일에서,또는 당신을 떠날 수밖에 없는 중요한 주의 사항 및 디자인을 결정합니다.

에 관심이 있어요 어떻게 이 원칙들을 옹호하는(내 전체 계약에 지금까지)으로 번역 코드는 통계입니다.특히,무슨 오픈 소스 프로젝트가 될 것으로 간주합니다(지 이상)문서화,그리고 무엇을 의견율이다.

나는 아주 간단한 원칙-of-엄지:필요할 경우 중단하고 더 많은 생각보다~15 초를 코딩하는 경우 일부 조각의 코드(말하는 기능 또는 복잡한 루프,등등), 다음 코드를 필요합니다.

그것은 정말 좋은 작품습니다.다음 시간 당신을,또 누군가에서의 이해의 수준의 전반적인 코드베이스로 실행되는 조각의 코드,(s)he 즉시 었는 방식으로 수행이 이루어집니다.

LOC / LOcomment = yearsofexp / 5

내 규칙은 이것입니다:무언가가있는 경우에는 말할 수 있어야 및 코드 만든 것을 표현하는 그것은,당신은 코멘트를 작성 할 수 있습니다.그렇지 않은 경우,코드 익스프레스,아이디어를 해야 합니다 다음 생각을 표현한 코드에서 또는 그것의 테스트합니다.

당신이 규칙을 따르면,다음 코드를야한 의견을 때 그것을 다루는 일부 inobvious 문제는 하드웨어에서 또는 운영 체제,때 가장 눈에 띄는 알고리즘은 최고의 선택입니다.이들은"이기 때문에 이상"의견,그리고 정말 그냥 대처하는 메커니즘이 있습니다.대부분의 시간에 의견 코드는 정말 그냥에 대한 사과를 쓰지 않는 그것을 더 확실한 방법으로,이러한 의견해야한 미연에 방지하고 후 삭제됩니다.

심지어 가장 좋은 종종 거짓말을 통해 시간,그래서 정보에서 실행 불가능한,비 검사할 수 있는 장소는 다음과 같 의견을 눈으로 의심.다시 대답은 먼저 언급하였 댓글을 삭제합니다.

나의 이상적인 비율 포함되어 있습니다.그러나,세계는 이상적이,그래서 동의함을 의견이 없을 때 다른 방법으로 통신하는 중요한 아이디어이다.

이 있어야 합 의견이 당신 느낌을 필요합니다.지 더하고 적지 않다.

주석의 부분을 느끼는 이해를 하지 않을 수도 있습니다 후에는 6 주 이상의 휴식을 찾을 때에 다시 코드

저는 의견을 최소화하는 것이 좋습니다.코드는 자 explainetory 동안 소스 코드를 변화하는 경향이의 의견이 거의 항상 뒤에 남아 있으로 잘못된 설명.

골드/견율이의 교차점

  • 주석에 필요한 자신을 생각 나게한 것들의 마음 속에 있는 동안 코딩
  • 댓글을 필요하게 다른 사람의 일을 당신이 마음 속에 있는 동안 코딩
  • 의견이 당신의 고객이 기꺼이 대가를 지불(기 때문에 좋은 의견 비용시)
  • 개발자의 생산에 관심화된 코드기 때문에 작업의 안전을(있다면 그 또는 그녀가 작동하는 회사를 위해 개발자가 떨어져 얻을 수있다)

또한 이것을 보유하는 비율이 다른 모든 프로젝트에 대해 모든 팀이 있습니다.

이 없 황금 비율이 있습니다.수의 의견에 따라 달라집에 가장 큰 영향을 미치는 것은 고유의 복잡성의 코드입니다.당신이 쓰는 CRUD 응용 프로그램,당신은 아마 많이 필요하지 않다.을 작성하는 경우에는 운영 시스템 또는 RDBMS,당신은 아마이를 더할 것이므로 더 복잡하게 코딩 및 확인해야합니다 그것을 좀 더 명시적인을 왜 하고 있는 일을 하고 있다.

하려면 몇 가지 실제 데이터 주석 비율이 다른 언어에 대해 살펴보 Ohloh.

예를 들어,당신이 볼 수 있습니다 다양한 통계 한 리눅스 커널 소스입니다.

나는 가정하지 않는 사람을 줄 수 있는 수치할 수 있지만,훨씬 더 높은 헤더에 파일보다는 것입니다.

제가 기대하는 헤더 파일의 클래스에 대해 문서에 모든 클래스/functions/등 공개적 접근에 의해 포함되는 헤더 파일.할 수 있는 아주 많이 줄을 문서화하는 함수의 프로토타입 단일인(없음,단지 선택에 좋은 이름이 기능과 자신의 매개변수는 없다-그것은 될 수 있지만,자주 하지 않습니다).세 줄의 주석을 위해 모든 라인의 코드는 과도한되지 않습니다.

을 위해 실제 코드는 것이 훨씬 낮습니다.내가 동의하지 않는 극단이 생각하는 사람을 위해 조준해야 하는 제한 의견하지만,확실히 당신이 생각하는 경우에 당신은 필요 의견이 당신이 먼저 해야 하는지 여부를 고려할 수 있다는 크게 줄어들 것으로 예상된다.

그것은 달라질 수 있습니다.예를 들어,당신이 할 수 있는 코드를 이렇게 잘 쓰는 의견을 것도 시간 낭비입니다.

필요할 충분한 의견 개월 후에서 볼 수 있는 코드를 읽고,코멘트,그리고 그는 떨어져하지 않고,많은 노력을 기울입니다.는 경우 인생의 이야기 코드로 필요하지 않습니다,그것을 쓰지 마세요.

같은 것은 없으로 좋은 의견하는 코드를 비율이 있습니다.옛날에 어떤 사람들이 믿는 당신이 필요가 있 코멘트의 모든 기능을 설명하는 그것이 무엇입니다.

그러나,의 출현과 함께 현대적인 언어 코드는 거 자체를 문서화.이것이 의미하는 유일한 이유는 왼쪽에 주석 코드하거나 설명해본 결정에서 나온 또는 이해에 도움이 정말 복잡한 주제입니다.

이 없다"황금 비율".에 따라 달라지 언어 및 방법을 씁니다.더 많은 표현은 코드,더 많은 수 있습 self-documenting 므로 적은 수의 의견이 당신이 필요합니다.는 장점 중 하나의 유창한 인터페이스가 있습니다.

할 수 없습니다 명령 고정 코드/comments 비율이 그렇지 않으면 당신은 마치 코드는 끈으로 묶음과 같:

// Add one to i
i++;

그냥 구름의 코드입니다.

대신 모습에서 코드의 복잡성과 필요한 사항을 참조하십시오를 설명하고,즉squirelly 논리,어떤 마법의 번호,사용되는 무엇이 가는 현재에 대해 들어오는 형식,등등.

스위치 관리자 사고 방식이고 무엇을 생각하는 것은 당신을 설명한 코드 작성합니다.

HTH.

환호

Rob

코멘트 3 용,IMO:

  • 설명 코드는 무엇
  • 문서에 대한 인터페이스 모듈
  • 는 이유를 설명한 다른 방법을 덩어리의 논리려되지 않았

코드가 뭔가 기본에 충분하는 분명해야의 대부분의 시간에서 대부분의 도메인을,그 다음 의견에 논리를 최소화해야...심지어는 접근 제한 없음.댓글 않을 것을 설명 what (으로 가능한 한 예외를 말하는,예를 들어,는 함수가 구현 Foo 알고리즘에서 설명한 바 Publication).필요하신 경우에는 설명 what 당신,당신이 그것을 다하고 있습니다.

이 있는 우수한 논의의 코드의 의견에 스티브 McConnells()예약 코드를 완료(가 첫 번째 에디션이지만 내가 믿는 것은 이제 두 번째 에디션 텍스트 링크)

요약하면 그것을 강화한 어떤 다른 대답이 진술해야한 희귀하고 설명하는 이유하지 않는 방법을-당신이 할 수있는 경우 리팩터 변수와 메서드 이름을 교체 의견은 다음해야 하는 prefferred-으로 가장 IDE 제공하는 몇 가지 종류의 intellisense(또는 한번 들지 않자 그것을 설명하는 as-intellicrack 인 adictivness)아무 이유도 없을 잘라내는 변수/메서드 이름이면 더 이상 명확하게 버전 통신 것이라 그 의도가 더 명확하게

0/0 ; zero divided by zero
Runtime error (func=(main), adr=3): Divide by zero

는 묵시적"무엇을 의미"명령으로"코멘트"의견이 있으십니까?

이 없 같은 비율입니다.

일반적으로 의견에만 있는 상황에서 무언가가 될 수 있습으로 불분명처럼,

// Do not Dispose!
SPSite site = properties.Feature.Parent as SPSite;

다른 한편으로는 경우에,당신은 당신 판매하는 코드는 사람,그것을 필요로 할 것이다 많은 의견으로 가능합니다.이미징 판매 3D 엔진 또는 일부를 다른 게임 미들웨어가 있는 코멘트가 없습니다.지,API-설명서 등입니다.의 큰 부분은 미들웨어 뿐만 아니라,하지만 좋은 주석 코드를 갚으로습니다.물건처럼"1 내가"여전히도 스팸,그러나 같은 것"CreateDevice()를 먼저 확인하는 경우 DirectX10 이 사용할 수 있고 DirectX9 장치지 않은 경우",정말 도움이 될 수 있는 경우에도,그것의 사소한 참조 코드.

일반적으로,내부 코드는 일반적으로 적은 많은 주석 코드를 판매하지만,예외 적용될 수 있습니다.

내가 사용하는 주석 주석을 추가하는 코드가 나는지 확인하는 읽기 쉽고 있는 유익한 변수입니다.는 말을 하려고 쓰는 각 라인의 코드로 유익한 주석으로 가능한 경우.당신이해야 할 수있는 매우 강력한 요점의 내용을 읽기 전에 의견 또는 당신이 잘못하고있다.

사이 3%9.5%,더 많거나 적은

나는 여기 오고에 대한 응답 주변에 2 개의 댓글 1 라인의 코드입니다.는 경우에도 과장이 그것의 올바른 방향으로!대신 내가 보는 사람들이 추천하고 치료하는 의견이 다음과 같 송로 또는 다른 희귀 한 상품입니다.보고에서 특이한 관점의 학계,었 코드의 품질이 저렴한 사용의 버전 관리도 희소한 다음 송로 나가는 것을 촉구를 쓰는 사람 많은 주석으로 가능한 한도에 대한 당신의 자신의 판결의 여부를 코멘트가 100%필요합니다.

의견이 당신의 인생을 더 쉽게 만들기 때문에 기회가 있을 생각하고,도대체 무슨 일이었다 생각하고 할 때 이것을 쓰기!

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