Лучшие способы познакомиться с кодовой базой Perl? - PullRequest
3 голосов
/ 17 июня 2011

Я недавно присоединился к проекту на Perl, и мне нужно довольно быстро начать продуктивно работать с кодовой базой.Однако я обнаружил, что застреваю, потому что не знаю, где мне нужно измениться или как все части кода сочетаются друг с другом.

Каковы ваши советы и инструменты для знакомства скодовая база Perl, с которой у вас нет опыта?

(Примечание: я понимаю, что уже существует подобный вопрос . Мне интересно, есть ли какие-либо специфичные для Perl стратегии.)

Ответы [ 5 ]

4 голосов
/ 18 июня 2011

Во-первых, если предыдущие сопровождающие выполняли свою работу хорошо, у вас должен быть обширный набор тестов и документация perldoc для каждого модуля и сценария в базе кода. Если это так, прочитайте perldoc и прочитайте тесты. Perldoc должен дать вам представление о том, что происходит, а набор тестов даст вам примеры кода, используемого в контексте.

В зависимости от автора, внутренние комментарии могут быть полезны для понимания цели кода, поэтому, просматривая фактический источник, я могу получить представление об алгоритмах, ошибках и предполагаемом использовании.

Если у вас их нет, действуйте так же, как и для любой плохо поддерживаемой базы кода: начните с малого, пишите программы, которые пытаются использовать код, и используйте Test :: More и тому подобное, чтобы начать превращать их в тестовый набор.

В первом случае вам может показаться, что это очень просто, во втором - очень сложно. Perl Medic Питера Скотта может быть очень полезным, помогая вам превратить такую ​​кодовую базу во что-то полезное и полезное, если вы застряли во втором случае, и рекомендация Майка Томсена о Эффективном программировании на Perl тоже хороший.

1 голос
/ 19 июня 2011

Я бы хотел увидеть реальный ответ здесь. Единственное, что у меня есть, это больше вопросов (вам не нужно здесь давать ответы, просто спросите себя):

Цель

  1. Какова цель проекта, что он должен делать?
  2. Кто знает рабочий процесс?

Окружающая среда

  1. Можете ли вы настроить проект в чистой тестовой среде?
  2. Использует ли он систему контроля версий?
  3. Где находятся точки входа (т.е. исполняемые файлы)?
  4. Это полагается на внешние программы?
  5. Требуются ли дополнительные системные настройки (например, cron-скрипты)?

код Perl

  1. Ваш проект везде использует строгие предупреждения и предупреждения?
  2. Какие модули CPAN используются?
  3. Используются ли какие-либо фреймворки (Moose, Catalyst, возможно, какой-то ORM, ...)?
  4. Есть ли в модулях проекта perldocs?
  5. Есть ли какие-либо тесты (особенно t / *. T)?
1 голос
/ 17 июня 2011

Помимо " аналогичного вопроса ", http://perldoc.perl.org/ и пустой файл test.pl - хорошая отправная точка!

1 голос
/ 17 июня 2011

Я работаю над Мелодией , которая написана в основном на Perl. Это довольно большая кодовая база, и я обнаружил, что процесс изучения кодовой базы Melody идентичен любой системе Java, над которой я работал.

Это действительно сводится к тому, чтобы просто работать с ним, гуглить, когда видишь поведение, которого ты никогда не видел, и экспериментировать.

Эта книга является отличным справочником для серьезного изучения Perl. Он не очень плотный и научит вас правильному развитию Perl.

0 голосов
/ 18 июня 2011

Я обычно начинаю с работы над каким-то простым сообщением об ошибке или простой функцией, которую я хочу добавить.Работая над кодом, я пишу комментарии для кода и фиксирую их.Написание тестов также помогает.

...