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