Hi Greg, [me] > > --> IMO 'from ... import ...' is EVIL and its use should be banned! <-- [Greg Stein]: > You are being overly strict here. I use this all the time: > > from module import submodule > ... > submodule.Class() > > or even > > from module.submodule import subsub > ... > subsub.Blargle() Okay. Later in my rant I wrote: < Well: at least if people use 'from' to import arbitrary objects and < classes. Using 'from package.subpackage import module' is an idiom, < with which I can live with comfortably. [Greg Stein]: > In other words, "from package import module" is a Fine Thing. It can > simplify your code without hiding where the symbols come from. Yes, you are right. But if you put the facade pattern[*] into use within such packages, this will even simplify your live, if you later have to redesign the internal substructure of your package. [*] Design patterns and especially the "facade pattern" were AFAIK introduced in the so called "Gang of four" book: "Design Patterns - Elements of Reusable Object-Oriented Software", Addison Wesley, 1995. The somewhat similar "whole part" design pattern is discussed in the book "A System of Patterns" written by Buschmann, Meunier, Rohnert, Sommerlad, Stal; published by John Wiley & Sons, New York; 1996; ISBN 0 471 95869 7 > In general, I agree with you: importing symbols from a module into your > namespace is a Bad Thing. Fine. Consensus gives a warm and fuzzy feeling. ;-) Regards, Peter
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4