Venho programando em várias linguagens há cerca de 10 anos. E ainda não descobri quando é uma boa ideia importar algo para o espaço de nomes global ( using x::yem C ++, from x import yem Python etc.), por isso quase nunca faço isso.
Quase sempre parece uma má idéia para mim, mesmo que apenas porque limita o conjunto de nomes de variáveis que posso usar. Por exemplo: Onde eu devo usar using namespace std;ou using std::string;em C ++, não posso mais usar stringcomo nome de variável, o que ocasionalmente faço (por exemplo, para funções de utilitário de string).
Mas estou me perguntando: há algumas situações em que a importação de um nome para o espaço de nome global realmente faz sentido? Alguma regra de ouro?