【发布时间】:2011-08-21 05:00:18
【问题描述】:
我们有数十万个查找值,由于产品仍处于开发阶段,因此 ID 不固定。因此,无论何时更新 ID,我们都必须返回并更新整个代码中的数千个 ID,以使其正常工作。它会按时吃掉。
是否有另一种方法可以在代码中保持 ID 为动态:它们会在表中更改 ID 时自动更新,或者它们都存储在所有数据库表的 1 个文件中,这样可以更轻松、更快速地从开发和测试的角度?
平台是Mysq + codeignitor php。
【问题讨论】:
-
为什么要在代码中硬编码 ID?
-
您不应依赖 ID 进行测试和开发
-
还有什么替代方案?例如:用户状态。当他们注册时,他们处于“待激活”状态,即我的查找表中的 ID 1208。在他们确认他们切换到“活动”,即 ID 1209 等之后。所以我的团队正在代码中硬编码这些 ID 1208、1209 等。为了测试如果我不使用正确的 ID,我还能测试谁的正确状态正在改变?
-
在代码中使用引用 id 而不是硬编码的 id 本身的变量。应该通过从数据库中提取 id 来为变量赋值。
-
@Uri - 正如 AJ 所说......或者更好的是,使用常量而不是变量。这些值应该在代码中的一个位置设置一次。