POD는 Perl에 내장된 문서화 형식으로, 대규모 프로젝트 지원을 위해 언어 확장과 함께 역사적으로 등장했습니다. 그것의 근본적인 차별점: 문서는 항상 원본 코드에 바로 저장되어 있어, 구현과 설명 간의 관계를 잃지 않도록 도와줍니다(현재로서는 Perl에서 복잡한 모듈 개발과 원칙상 분리될 수 없습니다).
문제: 종종 프로그래머는 자동 문서화 생성 시스템을 모르거나 무시합니다. 하지만 Perl 생태계(CPAN)는 명백히 모든 모듈에 대해 이를 요구합니다.
해결책 — 각 파일, 클래스 및 함수에 대해 POD를 사용하는 것입니다. 자동화를 위한 도구로는 perldoc, pod2man, Pod::Coverage와 같은 것들이 있습니다. 분명한 규칙: 귀하의 모듈에 POD가 없다면 — 그것은 기업 환경에 수용되지 않거나 CPAN에 올라가지 않습니다.
코드 예시:
=head1 NAME My::Module - POD 사용 예시 =head1 SYNOPSIS use My::Module; ... =head1 DESCRIPTION 이 함수는... =cut
주요 특징:
POD가 파일의 시작이 아닌 서브프로그램 내부에 있을 수 있나요?
답변: 네, POD 사양은 함수, 메서드 선언 후, 심지어 블록 내부에 삽입하는 것을 허용합니다.
POD 블록 내부에 코드를 작성하면 어떻게 되나요?
답변: =pod(또는 다른 헤더)와 =cut 사이의 모든 내용은 인터프리터에 의해 무시됩니다. 코드는 실행되지 않습니다! 이는 자주 발생하는 오류입니다.
POD에서 비공식 기능을 문서화하는 방법은 무엇인가요?
답변: INTERNALS 또는 PRIVATE FUNCTIONS 섹션을 추가하거나 SYNOPSIS에 그러한 문서를 포함하지 않는 것이 통상적입니다. 특히 라이브러리가 공개된 경우, 문서를 완전히 숨기는 것은 권장되지 않습니다.
모듈이 문서 없이 제공됩니다. 새로운 개발자는 원본을 읽고 함수의 마법 매개변수를 이해해야 합니다.
장점:
단점:
모든 코드가 POD로 문서화 되어 있으며, 사용 예가 SYNOPSIS 섹션에 명시되어 있고, 각 함수가 설명되어 있으며 제한 사항이 있습니다.
장점:
단점: