coding practices: include whole module or only the needed function

monarch_dodra via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Oct 7 01:37:58 PDT 2014


On Tuesday, 7 October 2014 at 07:33:24 UTC, Gary Willoughby wrote:
> On Monday, 6 October 2014 at 21:24:56 UTC, AsmMan wrote:
>> Which practice do you use: if you need only one or two 
>> functions from a module:
>>
>> import myModule : func, func2;
>>
>> or (import whole module, assuming no function name conflits of 
>> course)
>>
>> import myModule;
>>
>> any words why one over the other are welcome.
>>
>> I like the first one why it explicitly show why I'm importing 
>> such a module and I think (personally) it make code more easy 
>> to read/understand/maitain. Also it's very useful inside 
>> functions (local imports) where we can "overload" the function 
>> like in:
>>
>> int f(int arg)
>> {
>>   import foo : f;
>>
>>   return f(somethingElse, arg);
>> }
>>
>> I used it recently.
>
> Be mindful of this classic bug: 
> https://issues.dlang.org/show_bug.cgi?id=314

Yeah. In the current state of affairs, please NEVER do selective 
imports in global scope. As a general rule, avoid imports in 
global scope anyways.


More information about the Digitalmars-d-learn mailing list