编写业务时,枚举用中文真的不好吗

2023-04-11 11:20:10 +08:00
 Hbisedm

如一些业务状态,我用枚举定义

export enum selfDeliveryStepListEnum {
  顾客下单,
  顾客付款,
  商家接单,
  顾客取货,
  评价,
}

那么我判断时候,取selfDeliveryStepListEnum.顾客下单 这样的写法

我觉得对于英语不好的人,维护性不是很好吗,老是纠结英语中文这些真的好吗。

我编程水平也不是很好,所以求大佬指导下!!

7692 次点击
所在节点    问与答
87 条回复
nexo
2023-04-11 23:45:07 +08:00
@Leviathann 为啥.... enum 有的功能 普通 literal 无法实现啊
natsukage
2023-04-12 00:20:18 +08:00
明明楼里说的只是枚举,怎么没几楼就冒出变量名警察方法名警察甚至易语言警察来了。

大家写日常业务多了觉得大多数日常行为比如顾客下单之类的可以很容易用英文表达这我能理解,但是也有很多特殊的场合,比如游戏开发时候角色身上的状态啊之类的,毒=poison 什么的还好说,什么三分归元气之类乱七八糟的枚举,全都用英文简直不要太折磨了。
我觉得变量名尤其是枚举应该做到信达雅,如果不可兼得的话,那信达肯定比雅更重要。枚举经常是很多枚举出现在一起甚至一个 switch 结构里密密麻麻挤了很多枚举,这时候我肯定希望一眼就能区分出每个 case 对应什么,而不是鼠标悬浮上去一个一个看定义

if(player.status.连续咏唱 && player.status.凤凰燃烬增幅)

之类的可比

if(player.status.dualCast && player.status.phoenixAshesBoost)

可读性高多了。
尤其是有一些日系要素游戏,比如 status.神楽舞,你觉得写成英文应该是怎样的,kaguraMai ?但是这实际上是罗马音,这还不如用拼音…
thinkershare
2023-04-12 01:32:56 +08:00
将本地化的东西编码到代码中本身就是缺陷。
fuwu1245
2023-04-12 07:47:33 +08:00
我想知道用中文来做 key 是不是会有技术上潜在的问题?
遇到过项目中有中文 key 的情况,但没遇到过问题
从可读性角度上讲,中文可读性更好,而且翻译成可读性好的英语的话,长度要长不止一倍
pkoukk
2023-04-12 09:52:09 +08:00
语言支持 UTF8 的话我觉得没问题
但我不会用,因为切输入法太麻烦了,而且影响 copliot 帮我写代码
hstdt
2023-04-12 20:31:48 +08:00
唯一一次中文枚举用在了省份上,要用自定义顺序
Chinsung
236 天前
@natsukage 就你是个正常人,明明说枚举,一堆人在那鬼扯语法和方法中文警察,在国内环境,大部分术语你强行翻译成英文,可读性反而更差,更何况不是每个人的英文水平都支持准确翻译,同样一个词你去百度翻译,我去谷歌翻译,出来的英文就可能完全不一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/931494

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX