我创造了一个由武器组成的小游戏。武器具有准确性等特征。当玩家制作这样的武器时,为每个特征生成最小值和最大值之间的值。例如,新枪的准确度是2到5之间的数字。
我的问题是......我应该在数据库中存储最小值和最大值,还是应该在代码中进行硬编码?
我知道将它们放在数据库中可以让我轻松地更改这些值,但是这些值不会经常发生变化,这样做意味着在需要这些值时必须发出数据库请求。此外,它意味着有更多的表...但是,将它直接存储在代码中是一个好习惯吗?
总之,我真的不知道选择哪种解决方案,因为它们都有优点和缺点。
答案 0 :(得分:1)
如果您拥有实体的属性,则应将它们存储在数据库中。
这就是数据库用于存储数据的内容。我认为硬编码这些值没有任何好处。更糟糕的是,这些值可能会在代码中的不同位置使用。而且,当您更新它们时,您可能会在整个代码中得到不一致的值。
编辑:
如果这些是默认值,那么我可以想象将它们与关于武器的所有其他信息 - 武器的名称,类别等一起存储在代码中。这些值是武器的源信息。
我仍然认为最好有一个Weapons
表或WeaponDefaults
表,以便它们在数据库中。现在,您可能认为默认值仅在一个地方使用。你会惊讶于软件的发展。此外,在数据库中使用它们可以使值更易于维护。
答案 1 :(得分:1)
我不得不同意@Gordon_Linoff。 我不认为你会以更多的表格结束,也许一两个。如果你的表有ID,Weapon,Min,Max ...... 然后,您可以在需要时进行记录集搜索。正如你所说,这些变量可能永远不会改变,但在一个地方改变它们,似乎更多的是管理员友好的,然后搜索你很长一段时间的代码。我的两分钱值得。