Lorsque votre application prend quelques paramètres de configuration (~ 5) et que l'application va pour être utilisée par des utilisateurs non technologiques (par exemple, KISS), comment gérez-vous généralement la lecture des options de configuration , puis passez les paramètres entre objets/fonctions (plusieurs modules)?Python - options de configuration, comment saisir/gérer?
Exemples d'options: répertoires d'entrée et de sortie/noms de fichiers, niveau de verbosité.
J'utilise généralement optparse
(Python) et passe les options/paramètres comme arguments ; mais je me demande s'il est plus commun d'utiliser un fichier texte de configuration qui est lu directement par tous les objets des modules (mais alors, n'est-ce pas comme ayant des variables 'globales' ?, et sans que personne ne «possède» l'état ?).
Un autre problème typique est le test unitaire; si je veux tester individuellement chaque module indépendamment, un module particulier peut nécessiter seulement 1 parmi les 5 options de configuration; comment déconnectez-vous habituellement les modules/objets individuels du reste de l'application, tout en autorisant à accepter 1 ou 2 paramètres requis (est-ce que le framework de test unitaire appelle ou prend en charge la fonctionnalité de configuration)? Je pense qu'il n'y a pas une façon unique et correcte de faire cela, mais il serait intéressant de lire sur les différentes approches, ou les modèles bien connus.
Je ne suis pas sûr que la technique de "mise à jour" fonctionnera. SO ne fait rien de gracieux avec des mises à jour simultanées. La mise à jour de quelqu'un sera perdue. –
n'avait pas utilisé suffisamment SO pour se rendre compte qu'il existe des problèmes de verrouillage et/ou de condition de course - merci pour votre réponse s.l. –