언제 코드 주석을 쓰는 것을 피해야 합니까?
2549 단어 메모
제목을 보면 내가 왜 코드 주석을 피해야 하는지 알 수 있다. 이것은 좋은 일이 아니겠는가?"라고 생각할 수도 있다.네, 주석을 쓰는 것은 대다수 상황에서 유용합니다.그러나 내가 말한 것은'대다수의 경우'입니다. 왜냐하면 어떤 경우에는 주석을 써서는 안 되기 때문입니다.
아직도 안 믿어?그럼 내가 너에게 알려줄게: 주석을 쓰면 때때로 나쁜 일이 생길 수 있어!나쁜 코드를 초래할 수 있습니다!
내가 명언 한 마디로 나의 논증을 시작할 수 있도록 허락해 주십시오.
나쁜 코드를 주석하지 마라. 다시 써라.Brian W. Kernighan and P. J. Plaugher
이 말은 나에게 매우 깊은 인상을 남겼다.코드를 몇 번이나 주석해 놓았는지 곰곰이 생각해 보아라. 단지 나중에 다시 고개를 돌려 읽을 때 그 뜻을 이해하지 못할까 봐 걱정했기 때문이다.한 번쯤은 해봤지?솔직히 말해서, 나는 이 때문에 주석을 달은 적이 매우 많다. 특히 내가 깨끗한 코드를 재구성하고 작성하는 신출내기인 날에는.
그렇다면 왜 이런 주석은 오히려 좋지 않습니까?요컨대, 우리는 주석이 있기 때문에 나쁜 코드를 쓰는 것을 방임할 것이다!보시다시피 주석은 때때로 오히려 우리가 불결한 코드를 쓰도록 격려한다.
또 다른 원인은 주석이 우리를 오도하기 때문이다.너는 이미 코드를 바꾸었는데도 옆의 주석을 바꾸는 것을 몇 번이나 잊었니?부인하지 마라, 이런 일은 자주 발생한다.이것이 바로'진리는 코드에만 존재한다'는 말을 자주 듣는 이유다.
그럼 언제 주석을 쓰지 말았어야 했나요?
경험의 법칙은 언제든지 주석을 사용해서 이 코드가 무엇을 하는지 설명해야 한다는 것을 발견할 때, 기본적으로 코드가 더욱 깔끔해지기 위해 재구성되어야 할 때이다.
일반적인 솔루션
지금 너는 왜 때때로 오히려 주석을 쓰는 것을 피해야 하는지 아느냐, 그러면 무슨 해결 방법이 있느냐.사실 아직 효과적인 해결 방안은 없지만, 코드를 청소하면 주석 없이도 이해할 수 있다.
주석을 읽을 수 있는 코드로 바꾸기 위해 일반적으로 추출 방법 재구성(Extract Method refactoring)을 사용합니다.이런 재구성 방식은 내가 가장 좋아하는 것이다.이에 대해 저도 블로그를 한 편 썼는데 그 안에 완전한 예가 있습니다.'Break Your Method Into Smaller Ones'.
다음은 당신의 코드를 향상시켜 주석을 해방시키는 방법을 간단하게 설명하는 예를 보여 줍니다.
php
// Check to see if the customer can get free product
if ($customer->isPremium () and $customer->numberOfPurchases > 8) {
}
// OR
if ($customer->canGetFreeProduct ()) {
}
나는 네가 이 두 조건 문장 사이의 차이를 주의할 수 있기를 바란다.어느 것이 더 깔끔합니까?두 번째가 더 깔끔하고 좋은 게 뻔해요.우선 주석을 삭제할 수 있기 때문이다. 코드를 보면 뜻을 알 수 있기 때문이다.그 다음으로 가장 중요한 것은 고객이 무료 제품을 받을 가치가 있는지 확인하는 논리를 추출한 것이다. 특히 응용 프로그램에서 다시 사용하고 싶다면.
더 상세한 예에 대해 나는 네가 내가 이전에 발표한 문장을 읽는 것을 추천한다.
결론
내가 면책 설명으로 이 문장을 끝내는 것을 허락해 주십시오.나는 주석에 반대하지 않는다.주석은 대다수 상황에서 매우 유용한데, 특히 개원 프로젝트에서 특히 유용하다.
내가 말하고 싶은 것은 네가 너의 나쁜 코드에 주석을 달아서는 안 된다는 것이다."진리는 코드에만 존재한다"는 것을 기억하세요.
-
번역 링크:http://www.codeceo.com/article/when-avoid-comment-code.html
우리망 - 소봉
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작은 재료 : 결함 혼입, 테스트 레벨, 공정 책임결함은 후공정에서 적출할수록 비용이 부풀기 때문에 조기에 적출하는 것이 이상적입니다. 그럼에도 불구하고 결함의 종류에 따라 조기에 발견되는 것이나 후공정에서 처음으로 나타나게 되는 것이 있습니다. 예를 들어 컴파일러...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.