javascript - 从后端获取枚举并将其用作 javascript 中的字符串

标签 javascript angularjs rest enums backend

今天我与一位 Java 后端开发人员进行了一场相当激烈的讨论。我用 jsangular 做前端。他的休息服务向我发送了一个包含枚举的对象。我将其作为字符串获取,需要在 Angular 网格中显示它。

枚举非常容易解释。

我得到的例子: Person = {性别:“MAN”,职位:“IS_EMPLOYED”}

在 View 中,我必须显示以下内容: 人被雇用

所以我用一种简单而通用的方式解决了它: Person.gender.toLowerCase () + ' ' + Person.position.toLowerCase ().replace ('_', ' ')

他发现这个糟糕的编程并要求我用 if else 或 switch 制作一个映射器 所以: If(Person.gender==="MAN") 返回“man” 否则如果....

标签名称始终与枚举名称相同(只有小写和空格而不是下划线)

他大发雷霆,说这是糟糕的编码,基本上很糟糕,是对上帝的罪恶......

所以我的问题是这种不好/好的做法(所以是一个黑白故事)还是在某些情况下可以接受和辩护?

在我的手机上打字,所以我无法将代码示例放在正确的标签中..

最佳答案

有几种方法可以看这个:

映射更稳健: 他说得对,应该有完整的映射功能。这允许您处理错误(即,如果您对 position 得到的响应是“banana”,您可能不应该把它扔掉)。当您可能使用严​​格的架构时,这在后端开发中尤为重要。

规模很重要: 您的方法技术上没有任何问题。如果条目数量少,或者用户群或应用范围较小,则可能无关紧要。它并不真正符合最佳实践,但它有效,如果这就是最重要的,它可能就足够了。尽管您应该始终努力争取最佳实践,但您需要牢记大局。

效率: 一种方法可能比另一种方法更有效。差异可以忽略不计。在 Web 开发中,速度是重中之重,如果两种方法得到相同的结果但一种方法更快,请选择那种方法。

关于javascript - 从后端获取枚举并将其用作 javascript 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174170/

相关文章:

javascript - 无法从函数作用域向外部对象添加属性?

javascript - HTTP 200 + 空响应 + 重定向

angularjs - 矩形 POST 文件和数据

javascript - 不使用 JQuery 将 Masonry 添加到 Angular

rest - Jersey/ServletContext 和启动时的资源加载

Python/Flask Rest API 未通过带有 CORS 的预检

javascript 创建使用元素

javascript - 根据视口(viewport)高度为 x 图像行分配相同的高度

javascript - angularjs 未捕获错误 : Unknown provider:

android - 如何为 iOS 和 Android 移动应用程序创建 REST 身份验证