On Thursday, 5 December 2013 at 13:39:09 UTC, Alexandr Druzhinin wrote:
05.12.2013 20:34, Dicebot пишет:
On Thursday, 5 December 2013 at 11:17:18 UTC, Alexandr Druzhinin wrote:
I don't see difference, but it doesn't mean it doesn't exist. What do
you think about it?

It depends on how bar uses foo. You should do public import of symbols from foo if they are required to interact with bar public API. If foo is only used as part of internal implementation, it should be kept private
and both modules imported explicitly.
Third module uses both Bar and Foo. So I should either import every module individually, or import Bar only but Bar should publicly import Foo - that's the question.

It does not matter what third module uses, it is purely about relation between foo and bar. If foo symbols are not necessary part of public bar API, third module will import both. If they are, bar will import foo publicly. Pretty simple.

Reply via email to