He estado programando en varios idiomas durante unos 10 años. Y todavía no he descubierto cuándo es una buena idea importar algo al espacio de nombres global ( using x::yen C ++, from x import yen Python, etc.), por lo que casi nunca lo hago.
Casi siempre me parece una mala idea, aunque solo sea porque limita el conjunto de nombres de variables que puedo usar. Por ejemplo: dónde usarlo using namespace std;o using std::string;en C ++, ya no podría usarlo stringcomo un nombre de variable, lo que ocasionalmente hago (por ejemplo, para funciones de utilidad de cadena).
Pero me pregunto: ¿hay algunas situaciones en las que importar un nombre en el espacio de nombres global realmente tiene sentido? ¿Alguna regla general?