J'essaie de mettre en place un module très simple avec un fichier source .py, et j'ai déjà rencontré un barrage routier. J'allais l'appeler scons-config
mais import scons-config
ne fonctionne pas en Python. J'ai trouvé cette SO et j'ai regardé guide de style PEP8 mais je suis un peu perplexe, il ne parle pas de deux mots- conventions de nom.
Quelle est la bonne façon de gérer cela?
edit: J'ai vu "l'utilisation des traits de soulignement est découragée" et cela m'a laissé dans une impasse: devrais-je utiliser "sconsconfig" ou "scons_config" (Je suppose que les autres sont sortis)?
Si vous devez, utilisez toujours des traits de soulignement _
.
Utilisation d'un point .
ne fonctionnerait même pas, sinon
from scons.config import whatever
se briserait.
Mais PEP 8 le décrit clairement:
Noms des packages et des modules
Les modules doivent avoir des noms courts tout en minuscules . Souligne peut être utilisé dans le nom du module s'il améliore la lisibilité . Python les packages doivent également avoir des noms courts tout en minuscules, bien que le l'utilisation de soulignements est déconseillée .
MISE À JOUR:
Pour cibler directement votre question: je pense que sconsconfig
est très bien. Ce n'est pas trop long et assez lisible.
Mais honnêtement, je pense que personne ne vous en voudra si vous utilisez des traits de soulignement et que votre code fonctionnera avec l'une ou l'autre décision. Il y a toujours un certain niveau où vous ne devriez plus vous soucier ça beaucoup plus.
Tout d'abord, le nom du module est le même que le nom du fichier .py unique. En langage Python, une collection de plusieurs fichiers .py est un package.
PEP-8 décourage la décomposition des noms de package avec des soulignements. Un rapide aperçu de mon répertoire de sites-packages montre que les noms multi-mots sont généralement simplement exécutés ensemble (par exemple, setuptools, sqlalchemy)
Les noms de modules (c'est-à-dire les noms de fichiers) peuvent être décomposés par des traits de soulignement (et je le fais généralement, car je déteste les noms qui les traquent).
Stick avec minuscules uniquement (par PEP-8). Cela évite les problèmes lors du passage de systèmes de fichiers sensibles à la casse à des systèmes de fichiers non sensibles à la casse et vice versa.
Outre PEP-8, vous pouvez également vérifier comment les modules natifs Python gèrent ce problème.
Si vous deviez comparer les modules natifs de Python 2 à celui de Python , vous verrait que la nouvelle tendance avec les développeurs officiels est d'éviter les majuscules et les traits de soulignement. Par exemple, ConfigParser
in Python 2 devient configparser
in Python 3.
En regardant cela, la meilleure solution serait d'éviter les majuscules et les soulignements, et de simplement joindre les mots ensemble, c'est-à-dire sconsconfig
.
-
est un non. Le symbole est utilisé pour l'opérateur moins. La même chose est vraie dans la plupart des langages de programmation. Utilisation _
ou sinon rien du tout.