Perl POD

14

Click here to load reader

Transcript of Perl POD

Page 1: Perl POD

Проектная документация

Как сделать так, чтобы вас не проклинали потомки

Page 2: Perl POD

Зачем нам её писать?

Page 3: Perl POD

Глупый вопрос

Page 4: Perl POD

Зачем?

Структуру большого проекта не получится держать в головеРазбираться в чужом коде - то ещё удовольствиеВозможность подключить к проекту новых программистов

Page 5: Perl POD

Perl

начнем с примера:

package Test;

sub do_nothing{}

sub do_something{...}

1;

Page 6: Perl POD

Немного теории

Документация в Perl - это та часть файла, которая находится между=чтоугоднои=cut

Например

=podКакой-то текст=cut

Page 7: Perl POD

Структура POD-документа

Обычный блок текстаДословный блок (отступ) Управляющий блок (=pod, =head1)

Page 8: Perl POD

Управляющий блок

=headN text - заголовок 1-4го уровня=pod - начало обычного блока текста=over отступ - установка отступа=item - элемент списка =back - возврат предыдущего отступа

Page 9: Perl POD

Форматирование

I<TEXT> - курсив (<i></i>)B<TEXT> - жирный (<b></b>)C<TEXT> - кодL<LINK> - ссылка на секцию либо модуль L<LINK|TITLE> - установка кастомного TITLEE<gt> - escapes like HTMLF<.zshrc> - имя файла

Page 10: Perl POD

Документируем модуль

package Test;=head1 NAMETest - краткое описание модуля=head1 SYNOPSYS use Test; ... some example ...=head1 DESCRIPTIONБольшое и длинное описание модуля. =head1 METHODS=cut...дальше следует код модуля...=head1 AUTHORAndrey Kostenko <[email protected]>=head1 LICENSEMicrosoft EULA=cut

Page 11: Perl POD

Документируем метод

=head2 do_nothingArgs: noneReturns: nothingActually does nothing=cutsub do_nothing { } =head2 do_somethingArgs: $variable, \%hashReturns: some data=cut

Page 12: Perl POD

Либо

Создаём файл с расширением .pod  и пишем туда документацию, не связанную с каким-либо кодом

Page 13: Perl POD

Спасибо, Капитан Очевидность

Возможно, я не рассказал вам ничего нового. Но я очень надеюсь, что вы задумаетесь о необходимости документирования кода

Page 14: Perl POD

=head1 AUTHORI<Andrey Kostenko>

L<http://kostenko.name> L<mailto:[email protected]>