500-9
500-9
我来说下自己的看法,感觉这个问题不必局限java,基本适用于所有C类PL:python, typescript, etc. >如何区分类/方法/变量/常量: 没有了大小写区分,词性又会有歧义,考虑用前/后缀? >英文单复数如何表达? 类和方法个人认为不太需要区分。因为如果一定要区分,写个class 香蕉类 就可以了。变量和常量,感觉也不需要区分,如果一定要区分,变量前面加v就好了,比如:v总和。常量同理可以加s(c留给class) 总结一下对应的可选前缀:i接口,c类,m方法,s静态,v变化,n复数 比如for(String name: names)的这种,写成for(String 名:N名字)是比较好认的 >如何命名临时变量: 英文的a, i, j之类 临时变量我觉得完全可以继续用英文,中英文混合,可以让英文的优先级视觉低一点无妨。就好像小学生选择题都是ABCD,也没有说一定要改成甲乙丙丁,是一个道理。 >如果程序语言都支持i18n了,源码肯定也不是文本了,不妨用颜色或者其它办法区分单复数? 如果不想跟ide紧耦合,那么尽量还是兼容现有的一些规则比较好。 --------- 如果是我的话,在python里面应该是很少需要大量使用中文命名的。一般都是必要的时候统一规范,比如实体用中文,非实体不用中文,模板用中文,字符串用中文。完全中文化,有时候是画蛇添足了。 用中文替代英文的原则应该是中文比英文方便的时候,用中文。一个字母可以搞定的事情,就不需要另外用汉字了。
@cflw 你写的那个方案还是啰嗦了一点。不过你说的基本上也是以前的汉化方案存在的问题。 这个是我的方案:https://github.com/pyzh/song/issues/26
@cflw 回复一下你的观点: >标题的《Python变量命名规范》说明它不具备可以应用于不同编程语言的普遍适用性。 第一,关于普适原则,我认为,只要有交集就可以,在别的PL里,可以用别的写法。interface这类通用概念,py有java也有。 > 缩写有冲突,你的方案里的t即代表元祖,也代表列表尾,h也有头和句柄的双重含义。这样子的代码不会引发歧义吗? 第二,我认为多义性是好的。这类似OOP里面的duck typing,类似erlang里面的同名不同目函数。比如erlang里面f/1和f/2,因为参数目不同实际上是两个函数。而你举例的t和h/t,实际上,可以对应为t/0和t/1。
@farteryhr 你说的这个问题,其实就是标准尚未统一的问题。这里是现在收集的所有简化关键词https://github.com/program-in-chinese/overview/wiki/英文关键词汉化 个人的标准规范是:https://github.com/pyzh/song/issues/26
挺好,我就很想闭着眼睛编程。
据我所知,手语有很多象形语素在里面,这跟中文的产生,本质上是一致的。盲文的情况不太了解,书上见到的大多是基于字母的转译。
我倒是可以搞一搞nerv.js这块。vue搞不来 附:https://github.com/NervJS/nerv , https://github.com/program-in-chinese/cnv
@nobodxbodon 我记得vue3.0会改用typescript重写。感觉可以等等 https://juejin.im/post/5bb719b9f265da0ab915dbdd
@nobodxbodon 我是出于兼容ie8的考虑,才想到了京东的nerv.js。之前有一个类似的,叫avalon,不过感觉用的人已经不那么多了,所以选择了前者。