首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有角JS的良好设计

有角JS的良好设计
EN

Stack Overflow用户
提问于 2017-04-20 10:55:21
回答 1查看 50关注 0票数 0

我是一个web开发人员,在一家很小的公司工作网站/系统,在角控制器中有这样的语句。

代码语言:javascript
复制
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可以更改吗?这会破坏这段代码。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-20 11:09:17

为了避免这个神奇的数字,你可以写这样的东西

代码语言:javascript
复制
$scope.typeOfCoverPKs = {"FirstPK": 1, "SecondPk": 2, etc.};
Object.freeze($scope.typeOfCoverPKs);

使用Object.freeze(),您可以确保对象不是被操纵的。当然,您应该将属性FirstPK, etc.命名为数据库中的表达式。

或者您可以在后端生成一个服务,这将向您发送coverPK的当前状态。

无法在您的if-Statement中编写

代码语言:javascript
复制
if(cover.coverPK === $scope.typeOfCoverPKs.FirstPK)
{
   //Do something
}

您的第二个问题,如果数据库id可能更改。这一点没有明确的答案。这真的取决于。例如,如果您的id是表的主键,则它更改的可能性很小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43517544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档