我是一个web开发人员,在一家很小的公司工作网站/系统,在角控制器中有这样的语句。
if ((cover.coverPK == 6 || cover.coverPK == 8 || cover.coverPK == 10 || cover.coverPK == 4) && cover.coverDetailsCompleted > 0) { etc etc现在,这些保险IDs是用于识别不同保险范围的SQL主ID。当然,在前端引用这样的ID是不好的设计,一个新的开发人员加入将不知道6应该是什么意思?除非他们在SQL中进行查找。
另外,数据库ID可以更改吗?这会破坏这段代码。
谢谢
发布于 2017-04-20 11:09:17
为了避免这个神奇的数字,你可以写这样的东西
$scope.typeOfCoverPKs = {"FirstPK": 1, "SecondPk": 2, etc.};
Object.freeze($scope.typeOfCoverPKs);使用Object.freeze(),您可以确保对象不是被操纵的。当然,您应该将属性FirstPK, etc.命名为数据库中的表达式。
或者您可以在后端生成一个服务,这将向您发送coverPK的当前状态。
无法在您的if-Statement中编写
if(cover.coverPK === $scope.typeOfCoverPKs.FirstPK)
{
//Do something
}您的第二个问题,如果数据库id可能更改。这一点没有明确的答案。这真的取决于。例如,如果您的id是表的主键,则它更改的可能性很小。
https://stackoverflow.com/questions/43517544
复制相似问题