我正在给一个从json文件中获取设置的函数写评论,我发现我的Github副驾驶仪表明这样做不是个好主意。我查看了为什么全局变量是邪恶的?[封闭],看到了对“坏”或“邪恶”的不同看法,这取决于具体情况。在这种情况下,使用全局字典对象进行设置是一个很好的调用吗?
# tools.py
def get_settings() -> dict:
# Having empty global variable for settings is necessary to check if settings is loaded global settings
if 'settings' in globals():
return settings
if os.path.isfile('settings.json'):
with open('settings.json', 'r') as f:
settings = json.load(f)
return json.load(f)
发布于 2022-11-04 09:51:56
当您尝试使用这些设置时,特别是当您尝试测试使用这些设置的代码时,问题就会出现。突然间,所有的代码都围绕着这个变量耦合在一起。如果您想将代码分成不同的模块,就会变得更加不方便。
它通常更易于管理,如果稍微冗长的话,可以:
( DI框架本身就有全局,但是提供了更多的工具来管理它们)
https://softwareengineering.stackexchange.com/questions/442080
复制相似问题