我對.hrl
文件應該用於什麼感到困惑。我的理解是,.hrl
文件可以包含任何有效的Erlang代碼,使用-include
指令將本質上將.hrl
文件中的代碼插入到包含它的任何模塊中。Erlang頭文件(.hrl)文件應該和不應該包含哪些內容?
什麼樣的代碼適合放在這些.hrl
文件中,然後呢? Erlang的編程規則在記錄方面聲明如下:
如果記錄要在多個模塊中使用,則其定義應放置在模塊包含的頭文件(後綴爲.hrl)中。
因此,我已經在我的代碼中形成了這樣做的習慣。然而,我喜歡在頭文件中放置諸如記錄的實例化和比較函數以及類型定義之類的東西(因爲這是我在C中要做的事情)。這是不好的形式?應該從.erl
文件中導出類型,即使它們用於多個模塊?似乎沒有關於可用Erlang頭文件的最佳實踐的文檔。