Как вы отлаживаете функции из включений в Erlang? - PullRequest
1 голос
/ 11 октября 2009

Реализация ScrumJet на GitHub (на момент написания статьи) имеет практически идентичные функции между модулями хранения для задач, категорий и плат. Это было достигнуто путем перемещения идентичного кода, который интенсивно использует макрос ?MODULE в scrumjet_datastore.hrl. Каждый из scrumjet_task.erl, scrumjet_category.erl и scrumjet_board.erl включает scrumjet_datastore.hrl и не имеет функций, определенных локально.

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

Кто-нибудь знает, как заставить работать отладчик Erlang для функций в include?

1 Ответ

0 голосов
/ 15 июля 2010

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

Как я уже упоминал в 2009 году, я последовал совету Зеда и Адама Линдберга и вместо этого использовал модуль хранилища данных с параметризованными методами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...