[瞎聊] 个人看不惯代码或相关资源里的汉语拼音(或非英语),算强迫症吗

2014-12-30 00:03:19 +08:00
 KentY

近些年来看的代码很少有中间变量名用拼音的了。只是个别时候浏览代码的时候看到过类似,想起来早年间,这样的代码看的挺多的,有时候还要修改/扩展。 那时候就觉得特别别扭。 我觉得,如果要写中文,可以在注释里写。 既然那些地方写不了母语, 就用英语就好了,虽然功能, 性能上没变化,看起来顺眼点。 而且以前有的同事是南方的, 拼音还不标准, 更让人别扭。 一些例子:

string yonghu
int  haoma
function xiazai(){...}
数据库表名:Baobiao, 字段: baobiao_id, report_mingcheng, riqi
网页url: app.com/ziliao/baocun
....

前面说过现在接触这种拼音很少了, 但是有的同事写变量什么的是非英语的,和其它英文的变量名一起混着, 觉得和拼音一样很奇怪。

最没辙的是, 多年前弄过一阵子SAP ABAP4, 里面日期类型是Datum,不是Date. 这个没办法了,人家的类型就叫这个。

这让人看着很别扭。 我这不知道算不算强迫症呢?

6748 次点击
所在节点    程序员
76 条回复
circsqua
2014-12-30 11:52:26 +08:00
小python脚本,直接中文变量名,哈哈……
wezzard
2014-12-30 13:11:49 +08:00
datum 是 data 的單數。

datum |ˈdeɪdəm|
noun (pl. data || )
1 a piece of information. See also data.
• an assumption or premise from which inferences may be drawn. See sense datum.
2 a fixed starting point of a scale or operation.
ORIGIN mid 18th cent.: from Latin, literally ‘something given,’ neuter past participle of dare ‘give.’
nomemo
2014-12-30 13:33:35 +08:00
这个叫代码规范,看各个公司怎么规定的了
自娱自乐的项目随便你用什么,swift开发你用UFT-8里任意非关键字单词都可以做变量名

好的程序员那就是要不仅写出机器能懂的代码,也是其它程序员都能懂的代码。之前拿到的一份代码规范第一个要点里就明确规定:
US English should be used.
连英式英语都不推荐使用


https://github.com/raywenderlich/objective-c-style-guide
sarices
2014-12-30 13:35:39 +08:00
呵呵,切换输入法不累吗?

错误信息:Input string was not in a correct format.
Sql:SELECT c_id = [id] ,c_title = [名称] ,c_level = [级别] ,c_pid = (select id from [商品类型] where 编号=a.[父编号]) FROM [dbo].[商品类型] a with(nolock) where not exists( select 编号 from 操作员权限 z left join [商品类型] y on z.类别ID = y.id and z.类别ID > 0 where y.编号 like a.编号+'%' ) order by 编号 asc
KentY
2014-12-30 15:52:44 +08:00
@wezzard datum是德语和英语Date的意思一样。不是data
leassy
2014-12-30 15:59:31 +08:00
同看不惯,甚至讨厌,我写代码的时候,就算不知道英文是什么也要google一下再写
之前公司的人用MSSQL建的表,表名是拼音,字段名是中文,我勒个去,当时我就跪了
wezzard
2014-12-30 16:01:55 +08:00
@KentY datum 是英語,在字典裏面有,看我 copy 過來的解釋
KentY
2014-12-30 16:24:15 +08:00
@wezzard 我说我提到的datum还有那个XP提到的,都是德语的Datum (日期)
KentY
2014-12-30 16:33:58 +08:00
可能有些特殊情况必须写拼音或非英语。比如提到的游戏里的文化相关的信息,还有专有名称比如taobao,zhihu这类URL或包名。

当然我说的不是这些情况。我觉得多语言混合在代码里(注释除外)非常难读。我觉得应该遵循开发语言本身大部分语言都是英文。而且特别是国际团队共同开发的项目,更应该做到用英文,包括注释。

我自己觉得因为英语不好而写拼音不是借口。可以问,可以查,而且学了新词,在代码里敲那么多次也记住了。对自己对别人都是负责的表现。当然这是小事,上升到责任心有点过。就说这意思吧。
kf9621735
2014-12-30 18:16:25 +08:00
到处都是看到易语言啊,这货真的有那么好么?且先不说中文编程、拼音编程、文言文编程是不是合理。用了这么多年的软件,从来没有遇到过下载的某个不错的软件发现是易语言写的,一个根本没多少人用的东西为什么这么喜欢吹牛呢?

易语言作者声称易语言全部自己手写没有一点微软的烙印,实际上易支持库那就是包装的微软VC++6.0里的MFC框架,所以易语言的窗口指针也就是MFC里的CWnd*指针,把MFC源码打个壳就说是自己的。这个东西除了山寨汉化下关键字,技术上没有任何拿得上桌子面的东西。就连易语言自己写支持库都不用易语言,只会用VC++,写完了再汉化下函数名。搞这么麻烦还不如直接去用C++,还没有什么易语言能做MFC还做不了的东西。

所以大家知道易语言是根本不可能真正的跨平台了,因为MFC就是专用于微软windows的嘛,易语言声称能编译成01二进制的跨平台的机器码,这实际上是玩了一个低级的文字游戏忽悠无知的小白,其实任何数据存储在内存里都可以说是01二进制,这不是耍流氓吗。易语言也就是VB脚本式的伪编译成易格式体,所以易语言早期生成的EXE可以用VB Explorer解开,易的模块现在还有人做出反编译器可以还原出源代码、虽然易语言慌忙推出所谓易包但被反编译也是时间的问题,真正原生编译的编译器还原源代码这种事是没这么容易的。

易语言打的旗号是中国人用自己的编程语言,你看美国人写个编程语言会在LOGO上大张旗鼓的写上“美国人自己的编程语言”吗?!可笑的是用国外的编程语言是免费的,你用“自己的编程语言”还要高价购买,问题是你买的东西里面还是打包的国外的源码。然后易论坛上还整天骂C++骂英文编程骂MFC,哪有儿子整天骂爹的呢,其实只要看看易语言作者吴涛做的视频教程,那桌面上都是些lua新手入门教程、directX入门这些东西,可以看出就连吴涛自己都不怎么使用“自己的编程语言”。
wheatcuican
2014-12-30 20:54:34 +08:00
@gdgoldlion
降龙十八掌难道不是Beating dragon 18 palms
哈哈哈~
rocai185
2014-12-30 21:40:11 +08:00
@DeutschXP 除非你的代码不要维护的就可以这样,不然你让后面维护你代码的人情何以堪。你可以想象一下他看到你代码时的表情
greensea
2014-12-30 21:54:55 +08:00
你们啊,too simple,汉语拼音算什么,看看这个 PHP:
http://t1.qpic.cn/mblogpic/61062d66f8eb9dc29dac/2000.jpg
KentY
2014-12-30 22:10:39 +08:00
@greensea 这个写代码的人用编辑器自动完成的时候,一定体验很爽...或者他不知道可以自动完成?
pandada8
2014-12-30 22:16:41 +08:00
是时候用拉丁文作为变量名了,同志们!
miyuki
2014-12-30 22:18:02 +08:00
@pandada8 逼死维护人员
weakfox
2014-12-30 22:19:46 +08:00
资深OCD患者表示这不是OCD,一般人都没病。
你们继续跑题。
hzlzh
2014-12-30 22:25:52 +08:00
我就 BEM + 中文缩写 命名,维护起来相当方便,一目了然,比如:
mod__quanminfeijidazhan
长度什么的完全不是问题
tt7
2014-12-30 23:13:56 +08:00
ZhuDongFangYu.exe
zhfy1991
2014-12-30 23:40:31 +08:00
@lm902 好歹写成eighteen 吧这位大侠

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

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

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

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

© 2021 V2EX