주제가 잘 선택되었다고 생각합니다. 한 번에 10 만 개의 작업을 수행하는 Perl 라인을 작성하는 것은 "멋지다". 그러나 다시 방문해야 할 때 짜증 난다.
영리한지 아닌지에 관계없이 코드를 문서화해야합니다. 업계에서 수용되는 프로그래밍 언어와 인간으로서 우리가 생각하는 데 익숙한 고급 개념 간에는 고유 한 임피던스 불일치가 있습니다. 자체 문서화 코드는 자연어가 될 때까지 실현할 수 없습니다. 비록 높은 수준 일지라도 여전히 공식적인 코드이므로 프롤로그 코드조차 문서화되어야합니다.
세분화 된 명령형 코드는 문서화해야하는 굵은 세분화 된 계획을 구현하는 데 사용됩니다. 빠른 3 줄 로드맵 주석이있을 때 50 줄의 방법을 모두 읽고 싶지는 않습니다.
나중에 편집 : 더 웅변적인 예는 컴퓨터를 초월하는 것입니다. 책은 아주 잘 쓰여졌지만 종종 다른 수준의 추상화로 처리하려고합니다. 종종, 책의 요약이 할 것인데, 그것이 주석이 코딩에 제공 할 수있는 것입니다. 물론 잘 추상화 된 코드는 자체 문서화를 향한 먼 길을 갈 수 있지만 모든 수준의 추상화를 제공 할 수는 없습니다.
또한 주석은 책에서 탈선하지 않고 주장의 배후에있는 추론 과정을 설명해야 할 때 책에서 주석처럼 작용할 수 있습니다.
이러한 맥락에서, 나는 의견의 필요성을 초월하는 자연어를 언급하는 나의 이전 진술이 부정확하다는 것을 발견했다. 책에서와 같이 자연어조차도 문서에 빌려주거나, 본문에 구현 된 추상화를 드물게 설명하거나, 본문을 탈선하지 않고 우회를 제공 할 수 있습니다. 잘 추상화 된 코드는 이미 자체 문서화를 향한 먼 길을 갔다는 점에 유의하십시오.
마지막으로, 주석은 코더가 높은 추상화 수준을 유지하는 데 도움이 될 수 있습니다. 종종 나는 단계 목록에 포함 된 두 개의 연속적인 주석이 동일한 추상화 수준에서 말하지 않는다는 것을 알고 있습니다.
어떤 문제는 코딩을 초월하고 다른 활동과 마찬가지로 코딩에 영향을 미칩니다. 의견은 우리의 코드의 이론적 근거와 측면을 명확히하는 데 도움이 될 수 있으며, 사람들에게 변화를 가져 오기 위해 더 부드러운 언어를 사용하는 즐거운 동반자를 찾습니다.