gpt4 book ai didi

python - 为什么我应该将所有字符串转换为 Python 中的常量?

转载 作者:太空狗 更新时间:2023-10-30 01:46:40 25 4
gpt4 key购买 nike

我不知道这对社区是否有用,因为它可能只适合我的情况。我正在与一位高级程序员合作,他在他的代码中有一种特殊的习惯,即在使用它们之前将所有字符串转换为常量。我只是不明白为什么。这对我来说没有任何意义。 99% 的时间,我们没有从转换中获得任何抽象或表达能力,因为它是这样完成的:

URL_CONVERTER = "url_converter"
URL_TYPE_LONG = "url_type_long"
URL_TYPE_SHORT = "url_type_short"
URL_TYPE_ARRAY = [URL_TYPE_LONG, URL_TYPE_SHORT]
for urltype in URL_TYPE_ARRAY:
outside_class.validate(urltype)

就是这样。通常,常量名称几乎总是简单的字符串内容,大写,而且这些常量很少被多次引用。可能只有不到 5% 的由此创建的常量在运行时被引用两次或更多次。

这是我不明白的某种编程技术吗?或者这只是一个坏习惯?其他程序员开始模仿这种(可能不好的)形式,我想知道我是否有理由在盲目跟随之前也这样做。

谢谢!

编辑:更新了示例。此外,我理解每个人的观点,并且要补充一点,这是一个相当小的商店,最多只有另外两个人会看到任何人的代码,更不用说在上面工作了,这些都是我们正在构建的非常简单的一次性产品,而不是复杂的 worker 或任何东西。我理解为什么这在大型项目中是一种很好的做法,但在我们的工作环境中,对于一个非常简单的任务来说,它的开销太大了。

最佳答案

它有助于保持代码的一致性。例如。如果您在客户端和服务器中都使用 URL_TYPE_LONG,并且出于某种原因需要更改其字符串值,则只需更改一行。而且您不会冒忘记更改代码中的一个实例或更改代码中具有相同值的危险字符串的风险。

即使这些常量现在只被引用一次,我们又能预见 future ...

我认为这也源于您尝试 (A) 保持数据和代码分离以及 (B) 您担心分配了多少字符串的时间(当恐龙在地球上漫游时)。

关于python - 为什么我应该将所有字符串转换为 Python 中的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com