2013-07-10 19 views
1

我有一個erlang應用程序在應用程序中的子應用程序和deps /中的依賴項。在子應用程序的一個運行透析器,例如:在應用程序上運行透析器:我應該將相關性添加到PLT嗎?

$ dialyzer -r apps/app1/src --src 

作品,但列爲「未知函數」從DEPS應用的各種功能。

那麼,我應該添加deps應用程序到plt,還是我應該相信他們的作者已經完成了他們自己的測試?

我能想到的合理論據之一:

  • 可能會發現下游的bug;
  • 將堵塞清理我自己的代碼。

回答

2

向plt添加依賴關係給出有關依賴關係的透析器信息。

它不會添加關於依賴關係的任何錯誤。

或者,您可以將您的應用程序與所有依賴關係傳遞給透析器,但是這會反覆重新檢查代碼而沒有任何額外收益。

+0

謝謝。在我看來:如果我不添加依賴項,透析器會給我「未知功能」警告;如果我添加了依賴項,我可能會收到類型警告和錯誤,我不想處理這些錯誤。前者似乎更明智,但我不知道這是不好的做法還是反社會的。 –

+0

當您使用PLT時,您不會收到有關代碼的警告和錯誤。產生的警告只是關於你的代碼使用依賴錯誤 –

+0

謝謝,我現在明白了。那就是答案:我應該將依賴關係添加到PLT中。 –

相關問題