为什么大家都很否定中文编程?
- 建站教程
- 2024-09-25 23:47:02
因为很多人低估了英文的难度,觉得会写 if else(逻辑思维好)就能编程。
实际 sex 和 gender 分不清,设计数据库字段时查半天词典,降低了开发效率。
而且查的单词往往是错的,同事看不懂,只好配上中文注释或用拼音……
Phil Karlton (菲儿·卡尔顿)曾说过:在计算机科学中只有两件困难的事情——缓存失效和命名规范。
调查报告也显示:49% 的程序员认为「起名」是最难的工作。
Data Source: Quora/Ubuntu Forums「中文关键字」已经有很多人回答了,if else 这几个单词难度不高,不翻译也问题不大,而且可以直接使用现有编程语言,所以本文只探讨「中文标识符」——数据库字段、类名、函数名、变量名、URL 等。
认为英文编程没问题的同学,请听题:
1、产品经理要开发「红包」功能,需要程序员设计数据库字段,请问用哪个英文词组?
A. 支付宝:Lucky Money B. 微信:Red Packet哪个是对的?
这道题超纲了,微信最后找了个英语母语的产品经理,才解决了:
2、用户的「性别」用哪个英文单词?
A. sex B. gender为什么英美身份证件用 sex,社交网站用 gender?
《谍影重重》杰森·伯恩 的证件3、用户的「积分」用哪个英文单词?
很多人查词典或者用 CODELF,查到了 integral ……我在老项目里见过,错了十万八千里!
正确的做法是:整句翻译,然后图片搜索英文句子,看看国外是否有这种宣传海报。
4、用户消费时「获得」积分,此函数名用什么英文合适?
A. calculate B. get C. earn D. reward E. redeem5、英语不好,全靠搜索国外资料很多时候也没用,比如微信「拍一拍」怎么翻译?
A. Take a pat B. Take a shot C. flap D. nudge E. tickle6、如果发现之前的英文术语用错了(比如 Lucky Money 和 Red Packet 必然有一个是错的),按照「破窗户效应」,应该清理老代码,而不是放任形成「屎山」,那么你觉得哪些地方能改的动?
A. Android/iOS 包名 B. 函数名 C. 变量名 D. 数据库字段 E. User Agent F. 开放 API E. 私有 API《Broken Windows(破窗户效应)》- 1982在极狐「江狐会」技术交流《Code Review》时,大家进行了投票,可以看出:数据库字段一旦错了,很难改,从而导致代码中必须迁就错误,逐渐形成屎山。
实际微信的做法:User Agent 不改,保持「MicroMessenger」,而不是很多人以为的 WeChat。
总结如果有人答对了上面的所有单词,那是英语母语水平了,考虑一下:中国有多少程序员能达到?
很显然,包括 BAT 在内的绝大多数程序员都达不到,过了四六级也没用。
那如何提高整个中国的代码质量,减少查词典的时间,让程序员工作更轻松?
全部考托福雅思,然后才允许编程?很显然不现实。
相比之下,「中文编程」更可行,只是缺少一个完善的解决方案。
很多人以为的中文编程:
如果……否则……人民群众需要的中文编程:
create table ( id 积分 性别 ) if (性别 == xx)…… func 获得积分()好像能实现,但 URL 沿用汉字就导致复制时被转义,难以传播:
https://example.com/积分商城?分类=手机&系统无广告=是总之,「中文标识符编程」能解决查单词的大问题,但需要一个完善的解决方案。
参考资料Programmers' hardest tasks : ProgrammerHumor - reddit.com
为什么微信把“拍一拍”的翻译改成 tickle?有点污啊~
微信的歪果仁产品经理说:“红包”这个词太难翻译了
程序命名的原则与重构
支付宝 Android App 包名为什么是 com.eg.android.AlipayGphone?
为什么大家都很否定中文编程?由讯客互联建站教程栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“为什么大家都很否定中文编程?”