Importations génériques : utiliser ou ne pas utiliser ?

Linda Hamilton
Libérer: 2024-11-21 08:10:11
original
808 Les gens l'ont consulté

Wildcard Imports: To Use or Not to Use?

Importations de caractères génériques : un guide des meilleures pratiques

Les importations de caractères génériques, telles que celles provenant de l'importation PyQt4 *, sont une source courante de débat dans la communauté des programmeurs. Cependant, de nombreux développeurs conviennent qu'ils doivent généralement être évités.

Les arguments en faveur d'éviter les importations génériques

Les noms qualifiés sont préférés aux noms nus. Il est préférable de spécifier explicitement le module à partir duquel vous importez, en utilisant une syntaxe telle que from PyQt4.QtCore import Qt plutôt que de PyQt4 import Qt. Les noms qualifiés facilitent le traçage des dépendances de code et les erreurs de débogage.

Ils réduisent également le risque de collisions entre modules. Si deux modules définissent une fonction portant le même nom, vous devez en importer explicitement un pour éviter toute ambiguïté. Les importations de caractères génériques permettent d'ignorer plus facilement de telles collisions, ce qui entraîne des erreurs inattendues.

Enfin, les importations de caractères génériques peuvent rendre plus difficile le test de votre code. Par exemple, si vous vous moquez d'une classe provenant d'une bibliothèque tierce, il est plus facile de le faire si vous disposez d'une référence qualifiée à la classe.

Alternatives aux importations génériques

Si vous souhaitez réduire le nombre de lignes dans vos instructions d'importation, vous pouvez créer des alias pour les modules. Par exemple, au lieu d'écrire depuis PyQt4.QtCore import Qt, QPointF, QRectF, vous pourriez écrire :

import PyQt4
Qt = PyQt4.QtCore
Copier après la connexion

Cette approche vous permet d'utiliser Qt.QPointF, Qt.QRectF, etc. sans avoir à le faire explicitement qualifier chaque nom.

Une autre option consiste à utiliser l’importation sélective. Au lieu d'importer toutes les classes d'un module, vous pouvez importer uniquement celles dont vous avez besoin :

from PyQt4.QtCore import QPointF, QRectF
from PyQt4.QtGui import QGraphicsItem, QGraphicsScene
Copier après la connexion

C'est plus verbeux que d'utiliser une importation générique, mais cela présente l'avantage de n'importer que les classes que vous utilisez réellement. .

Conclusion

Bien que les importations génériques puissent être tentantes, elles ne sont généralement pas recommandées. Les noms qualifiés sont plus lisibles, moins sujets aux erreurs et plus faciles à tester. Si vous cherchez des moyens de réduire le nombre de lignes dans vos instructions d'importation, envisagez plutôt d'utiliser des alias ou une importation sélective.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal