大家在什么情况下会用拼音命名变量什么的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
curiousjude
V2EX    问与答

大家在什么情况下会用拼音命名变量什么的?

  curiousjude 2014-10-20 11:54:20 +08:00 7236 次点击
这是一个创建于 4011 天前的主题,其中的信息可能已经有所发展或是发生改变。
用拼音命名似乎是大家说不提倡,甚至鄙视的。但有时似乎用拼音命名会比较合理。

比如「马甲账号」,sockpuppet? dummy?(见知乎讨论 http://www.zhihu.com/question/19746018 )似乎都不直观,所以最终我决定直接用拼音majia;

比如「红包」,red packet? red envelope? 感觉没有表达红包的意思,于是我就直接用hongbao了。

就是想问问大家,如果遇到英文中没有对应的词的情况,大家是怎么处理的?如果选择用拼音,有没有什么好的实践?

或者就简单分享一下大家用拼音命名的例子吧。
第 1 条附言    2014-10-20 14:05:36 +08:00
我提这个问题并不是想要具体知道「马甲账号」、「红包」应该如何用英文命名,而是想往大了讨论在难以找到能够准确描述中文意思的英文时,使用拼音是否合理?或者有更好的实践?
52 条回复    2014-10-21 14:02:56 +08:00
fangzhzh
    1
fangzhzh  
   2014-10-20 12:19:22 +08:00 via Android
你如果开源 别人看到你的代码将是一头雾水 majia = ninjia?

我的词汇量也不太大
红包 bonus, cash_rewards
马夹 alias, fake_account

另,马夹变量名为什么会出现在代码中,主账号关联马夹账号?
helone
    2
helone  
   2014-10-20 12:27:35 +08:00   1
不用拼音原因是容易出现歧义,而且拼音就是单纯读音,就算读出来了,有时候也可能不知道意思,例如马夹、马甲、马家。
alexrezit
    3
alexrezit  
   2014-10-20 12:33:43 +08:00   2
说明你英语水平太差了。中文中“马甲”的含义太宽泛,在英文中可以分很多种,根据不同情况可以叫做 dummy、puppet、alias、smurf。

红包请根据给的方向分别叫做 bonus 或 bribe 不谢。
tan9le
    4
tan9le  
   2014-10-20 13:18:42 +08:00
让我想起了公安的若干个项目,表名全是T_CZRK_JBXX,T_ZZRK_JBXX这个风格的,在没文档的情况下,着实好好的复习了一下拼音
curiousjude
    5
curiousjude  
OP
   2014-10-20 14:06:55 +08:00
@tan9le 我个人也是很不喜欢拼音的,尤其是拼音缩写。我甚至觉得拼音缩写就应该禁止。
AstroProfundis
    6
AstroPofundis  
   2014-10-20 14:11:46 +08:00
尽量用英语吧,能尽可能保证别人看到的时候知道这是什么,实在不行在用了拼音的时候旁边就放上注释...
curiousjude
    7
curiousjude  
OP
   2014-10-20 14:15:08 +08:00
@helone 你说的有道理。但我认为这种情况(可能多义)在中英文下都是无法避免的,只能靠语境来确定。「马甲」的例子,如果在账号系统的语境下,要确定「majia」是「马甲」应该是不难的。
curiousjude
    8
curiousjude  
OP
   2014-10-20 14:18:01 +08:00
@AstroProfundis 我不是在倡导使用拼音。使用拼音的弊端大家应该都知道。我这里想讨论的就是你所说的「实在不行」的情况下用拼音与硬要使用英文那个更合理。
helone
    9
helone  
   2014-10-20 14:20:30 +08:00
@curiousjude 在我看来用拼音都可以的,尤其是自己的项目或者是内部的,但是要保证无明显歧义~
tan9le
    10
tan9le  
   2014-10-20 14:24:18 +08:00
@curiousjude 如果是实在不行的情况,个人觉得拼音(全拼)好一些,一是词汇量方面,二是语境方面,一个半吊子的英文命名反而会增加阅读难度。
但是有个前提,需要统一风格,不能有的英文有的拼音,这样很难过,比如我刚才说的公安的项目,各个开发商已经约定俗成了,而且大多数情况下都是做功能扩展,这会改变命名规范不太合适。
话说我还见过DingDanDetail的类名呢,貌似是一个旅游类的项目
likaci
    11
likaci  
   2014-10-20 14:25:44 +08:00
拼音还是好的,最受不了拼音首字母!

rwsl -- 任务数量
xxgj -- 巡线轨迹
sbsj -- 上报时间

艹艹艹艹艹艹!
shiny
    12
shiny  
   2014-10-20 14:28:25 +08:00
1、品牌
2、风格保持统一,如果项目之前的人用的拼音,只能继续用拼音了。
curiousjude
    13
curiousjude  
OP
   2014-10-20 14:28:54 +08:00
@alexrezit 这两个例子里我使用拼音或许不合理。我个人水平有限在当时的情况下确实就使用了拼音。那么引申讨论一下,如果团队里队员们的英语水平都一般的情况下,硬要使用英文是否就一定比使用拼音合理。我有一个同事,把根据某个主题罗列商品的「专区」直接就叫「Prefecture」了,如果他用「zhuanqu」可能还更好理解。
shiny
    14
shiny  
   2014-10-20 14:30:39 +08:00
看了帖子内容,这个不是不可以接受。但是换我的话,上 Google 翻译,它翻啥就啥了。
curiousjude
    15
curiousjude  
OP
   2014-10-20 14:44:20 +08:00
@shiny 我觉得这么做就是会出现@tan9le所说的「半吊子的英文命名」,反而更增加阅读难度。
curiousjude
    16
curiousjude  
OP
   2014-10-20 15:01:59 +08:00
@fangzhzh 开源的情况确实没有考虑。

你列的那几个词,其实我们都有考虑过,但是最终觉得都无法准确描述,时间有限的情况下,大家才决定用拼音的。

「马甲」的话,是用于标记小编的账号的。
AstroProfundis
    17
AstroProfundis  
   2014-10-20 15:29:11 +08:00
@curiousjude 既然都实在不行了,当然就是说只能用拼音,主楼里面提到的单纯不知道怎么说应该还算不上,毕竟稍微补一下英语找个过得去的表达应该还是能办到的;我考虑到的是可能是合作者或者其他会看代码的人确实英语水平有限并且短期内不方便让他们学习相关说法的时候,另外同意上面说的,尽量用全拼,缩写太反人类了,哪怕是英语缩写都要尽量少用何况拼音_(:з∠)_以及注释还是要有的吧~
otakustay
    18
otakustay  
   2014-10-20 15:32:36 +08:00
以前做政府项目的时候全是拼音命名,去他妹的英文,这类内部专有名词用英文意义何在
shiny
    19
shiny  
   2014-10-20 16:19:10 +08:00
@otakustay 以前做政府项目数据库也都是拼音首字母,还TM是国家标准。
incompatible
    20
incompatible  
   2014-10-20 16:23:12 +08:00
@helone 这容易解决 直接使用汉字做变量名即可
cxe2v
    21
cxe2v  
   2014-10-20 16:30:21 +08:00   1
一个利用SSLv3漏洞的工具里,作者留了这么一行
"woqunimalagebide",老外在研究这个工具得时候当时就觉得自己的知识面是不是太狭窄了,到处都找不到关于这个单词的解释
xiaowangge
    22
xiaowangge  
   2014-10-20 20:42:25 +08:00 via Android
游戏开发中的某些词语-_-#
msg7086
    23
msg7086  
   2014-10-20 21:23:20 +08:00 via iPhone
用罗马字呢?做电视节目信息的时候经常会起名bangumi
rrfeng
    24
rrfeng  
   2014-10-20 21:30:43 +08:00
学籍 学历
本科 专科
专升本
同等学力

请大神翻译~
14
    25
14  
   2014-10-20 21:59:39 +08:00 via Android
看情况,公司代码别人一排拼音就在下面保持队形,已经有英文变量了也保持队形= =
Jolin1677
    26
Jolin1677  
   2014-10-21 00:36:10 +08:00
策划给游戏功能起了奇奇怪怪名称的时候
kmvan
    27
kmvan  
   2014-10-21 00:47:01 +08:00
用拼音还不如直接用中文变量,用中文变量还不如直接易语言。
英文词汇量不足搞啥开发,看文档估计都看得一知半解吧,这种程序员T掉~
Bakemono
    28
Bakemono  
   2014-10-21 01:49:32 +08:00 via iPad
@alexrezit 菊苣alex OAQ
Bakemono
    29
Bakemono  
   2014-10-21 01:51:14 +08:00 via iPad
昨天渗透的时候遇到一个表名叫做 kjjb

总之我感觉很邪恶呢w
ericls
    30
ericls  
   2014-10-21 03:45:59 +08:00 via Android
拼音有一个好处就是和built-in冲突的时候用起来比较爽
zkd8907
    31
zkd8907  
   2014-10-21 07:53:34 +08:00
sanddudu
    32
sanddudu  
   2014-10-21 07:56:00 +08:00 via iPhone
@Bakemono 科技进步 XD
66450146
    33
66450146  
   2014-10-21 08:36:07 +08:00
Never.
curiousjude
    34
curiousjude  
OP
   2014-10-21 08:36:36 +08:00
@kmvan 说得轻巧。要是在知乎就直接点无帮助了。
frankzeng
    35
frankzeng  
   2014-10-21 08:48:31 +08:00
拼音是比较偷懒的做法,就算不知道英文词汇,不是还有翻译嘛
Monad
    36
Monad  
   2014-10-21 08:50:07 +08:00
我去找个游戏里面的名字你们全给我翻译成英文看看?
tabris17
    37
tabris17  
   2014-10-21 09:11:50 +08:00
用拼音不如直接用中文,现在编程语言都支持UTF-8编码了
gyteng
    38
gyteng  
   2014-10-21 09:26:34 +08:00
现在做的某个项目对方的接口就是全部拼音首字母变量名,什么用户编号YHBH、用户地址YHDZ什么的,太恶心了
curiousjude
    39
curiousjude  
OP
   2014-10-21 09:31:28 +08:00
@frankzeng 我觉得命名的原则是精确并尽可能短。如果在英文无法精确表达(有可能是个人英文水平不足),或即使表达精确但是太冗长的情况下,我认为用拼音(全拼)更合理。比如「海淘」这个词。
loading
    40
loading  
   2014-10-21 09:33:16 +08:00
有些关键字实在太长了,而且目标数据库列名用的也是拼音。。。
shakoon
    41
shakoon  
   2014-10-21 09:42:45 +08:00
鄙视一下国内某著名的银行核心系统开发商,表字段名基本都是奇葩的拼音缩写,例如“帐户中文名”是“ZHUZWM”,“销户数”是“XIOHSH”,“交易柜员”是“JIO1GY”
jsonline
    42
jsonline  
   2014-10-21 09:43:44 +08:00 via Android
never
xunyu
    43
xunyu  
   2014-10-21 09:44:54 +08:00
注释,比如说,no zuo no die
xiaogui
    44
xiaogui  
   2014-10-21 10:22:47 +08:00
个人表示想名字是编程中花时间最长的部分了。
imn1
    45
imn1  
   2014-10-21 10:25:35 +08:00
如果有写文档习惯的话,就什么命名方法都无所谓了
curiousjude
    46
curiousjude  
OP
   2014-10-21 11:05:24 +08:00
@imn1 我不赞同你的观点。文档只是补充,代码本身应该是要清晰的,而命名是关键的一环。而且如果命名都不愿意花心思,那么很可能也不想花力气写文档吧。
alexrezit
    47
alexrezit  
   2014-10-21 12:32:49 +08:00
@curiousjude

之前有人我: 英不好可以做研工程?

我: 你行吧. 不不不不你先我完, 不是你英水平的, 真的不是, 是你智商的.

什人出? 不切菜可以做?

我心想, 我研工程的基本要求又不高, 量上 8k 就行了, 再差的, 呵呵, 有空陪你玩啊, , 他得出.

@Bakemono

求, 不, 黑...
imn1
    48
imn1  
   2014-10-21 13:11:11 +08:00
@curiousjude
花心思这点我也赞同~
但这个观点反过来也该用在你说的主题上,你有花心思去想命名么英文可以去查一下,汉语独有词汇也可用意思相近的英语命名的……如果一部分用英语,一部分用汉语反而是大问题
如果担心英语不好,那就直接用字母+编号命名变量好了,不要混杂

我的观点跟楼上 @alexrezit 的观点部分相同,真不该问这样的问题,我觉得预案做好不会有这个问题出现

另外感觉你有点小看文档的作用了,一个好的文档其实是能达到主导作用的,特别是很详细的预案
我曾经参与过一个项目,那个真叫乱得一塌糊涂,传参用xml/json/sql,命名也是五花八门,大驼峰、小驼峰、下划线……最后见到一个大家都看不明白的命名,问他是什么,他说拼音太长了,用双拼字母键,全体晕倒~
curiousjude
    49
curiousjude  
OP
   2014-10-21 13:41:20 +08:00
@alexrezit 我不知道你这个回复的用意是什么,如果是要嘲笑我智商不行那大可不必。你轻易就得出别人智商不行的结论,那是因为你自己智商不行吧。
curiousjude
    50
curiousjude  
OP
   2014-10-21 13:49:52 +08:00
@imn1 我没有否定文档的作用,只是否定你说的「什么命名方法都无所谓」的说法。我所讨论的使用拼音的情况是在很无奈的情况下,也就是根本找不到或找不到准确的英文表达的情况下,转而使用拼音可能是更合理的。你说的「汉语独有词汇也可用意思相近的英语命名的」,及「用字母+编号命名变量」恕我无法赞同,因为这两种方式比起拼音来很有可能更不准确,甚至产生歧义。
timonwong
    51
timonwong  
   2014-10-21 14:01:31 +08:00
这不是没有先例,不过成功案例一般是日文,中文的文化影响力不够强,拼音也不酷,被喷也正常。

dojo
emoji
go
davidyin
    52
davidyin  
   2014-10-21 14:02:56 +08:00
怎么都不会用拼音的
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3490 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 27ms UTC 04:59 PVG 12:59 LAX 21:59 JFK 00:59
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86