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.