Лучшая практика для обработки словаря args: распаковать в отдельные переменные или передать словарь? - PullRequest
0 голосов
/ 19 марта 2019

Например, следующий код становится очень длинным.Затем я должен передать их каждому в соответствующие функции.Преимущество здесь в том, что я могу легко указать все значения по умолчанию в одном месте (для меня класс __init__).

### Parse Arguments ###
self.rui_server = self.args.get("Server", "https://url.com")
self.system_name = self.args.get("SystemName", "Generic_Accessor")
self.predicates = self.args.get("Predicates", None)
self.keywords = self.args.get("Keywords", None)
self.number_of_tests = self.args.get("NumberOfTests", None)
self.matching_lookback_count = self.args.get("MatchingLookbackCount", 10)
self.update_period = self.args.get("UpdatePeriod", 3)  # in days 
self.readable_logs_key = self.args.get('ReadableLogsKey', None)

VS

self.args.setdefault("Server", "https://url.com")
...etc...

Затем сделать self.args доступным длякаждый метод или подкласс.В моей реализации нет проблем со всеми, кто имеет доступ ко всему остальному.

Так что же на самом деле лучше и почему?Или есть еще лучший способ, о котором я не знаю?

...