gpt4 book ai didi

mysql - 硬编码数据库选择。 ID 和名字 vs 其他?

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:18 25 4
gpt4 key购买 nike

我目前正在重构一个项目,到目前为止,该项目中有大量数据在代码中保存为常量和数组。还有很多裁员。现在我想将所有数据移动到数据库中,但我不确定如何进行映射。数据很少根据用户输入动态选择,而是在代码中专门选择。它在应用程序的非常核心级别使用,但实际上不是核心。此外,数据库已经在使用中,因此不会有真正的额外工作。

我的想法是使用一个 Mapping 类,其中我有指向各个行的 ID 的常量。这是个好主意吗?

另一个想法是索引名称行并直接查询名称。

数据库可能包含以下列:id、name、polynom 和 params。所以,基本上我们在谈论数学数据。例如:1、“价格近似”、20x^3 - 5x^2 + 11x、“非累计”。

我认为这个问题与语言无关,但由于可能存在特定于语言(甚至特定于框架)的最佳实践,因此我使用的是:PHP5 with the Yii Framework。

最佳答案

我对 PHP 和 Yii 没有太多经验,但这是我的 2 美分...

如果这些是从技术上定义您的应用程序的常量和常量集合(应用程序架构常量),但最终用户不应该控制它们,我会将它们放在配置文件而不是您的数据库中,除非您我们构建了一个模块来轻松访问和修改它们。是否实现映射类(或配置类)来检索它们并不重要,但检索它们的方式要保持一致。如果您有太多需要在配置文件中管理,那么将它们存储在数据库中是合适的,但请确保您提供一种简单的方法来修改它们。为了使您的源代码可读,我会使用人类可以理解的描述符并将这些描述符映射到您提到的相应行。

如果这些是用户定义的常量,那么您绝对应该提供一个接口(interface)。但保持与应用程序架构常量相同的架构。

在一个完美的程序/应用程序(或者更好的应用程序框架)中,没有什么是硬编码的,一切都由常量(开关)控制。如果您能够在无需维护源代码的情况下成功实现这一目标,您将赢得诺贝尔和平奖。

关于mysql - 硬编码数据库选择。 ID 和名字 vs 其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14171260/

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