![]() | 1 Romic 99 天前 |
![]() | 2 r6cb 99 天前 启动的时候将.env 文件中的内容放到环境变量,后面哪里要用直接读环境变量,耦合低,而且增删配置项都很方便 |
![]() | 3 skiy 99 天前 哈哈。有其它解决办法吗?连 AI 都是这么给代码的。 |
4 w568w 99 天前 这个是设计问题,因为 Python 本来就是快工出糙活的语言,讲究一个快速迭代、原型验证。 你说的这种方式在 AI 相关项目中最常见,因为一开始设计的时候没有想清楚需要哪些配置(这一阶段也没有必要考虑,因为根本不知道会不会有用户),后面需求随着用户量一起复杂起来,本着最小修改的倾向,自然就会开始在上下文对象上挖洞,添加各种可变属性或者更复杂的机制。直到最后阶段把 config 变成巨型克苏鲁,不得不重构。 所以,你的问题不是 Python 问题,是工程学问题。再往大了说,先积累后清扫是人类思维的惯性。 |
![]() | 5 cnt2ex 99 天前 只要把 config 的初始化集中在一个地方,初始化后就不要修改,一个 config 到处传我感觉问题没多大。这样,很多时候还方便加新的键值对,而不需要一个一个方法/函数的改签名。 但如果把 config 当返回值使用,代码随处在修改 config 的值,然后再到处乱传就恶心了。这种代码读起来简直要命,一般读一遍下来根本不知道哪里传来的值。 |
![]() | 6 cquan 99 天前 我用.env |
![]() | 7 Rorysky 99 天前 搞成全局的 |
9 CodingIran 99 天前 不太懂 py ,是不是其他语言里的全局变量? |