在中国公司,C#项目用中文编写有问题吗?
2020 年,之前的困惑不再:
吴烜:中文命名标识符如何区分类型和变量吴烜:在代码中进行中文命名(类/变量/方法等)的优势【2017 年 1 月 31 日原答】之前用Java+MySQL做了一个示例项目(进销存), 虽然开发过程中碰到一些问题,但最后还是基本做到了用中文命名类/方法/变量, 以及数据库中命名表格/列.
后来发现大多数现代编程语言都支持中文编写代码. 详见: 为什么大家都很否定中文编程? - 吴烜的回答 -
【在中国公司,C#项目用中文编写有问题吗?】 个人觉得, 如果是内部项目, 虽然前期可能碰到类似编码的问题, 但如果规范了开发过程并落实到文档, 还是可以进行中文编写代码的. 好处: 比英文理解容易, 长期来说增强可维护性, 减少调试和维护成本.
变量命名确实是个潜在问题. 但是驼峰命名法的大前提是英文分词不借助空格就难了,而中文本身分词就不需要空格.所以个人觉得并不需要找一个替代它的方法. 更重要的可能是对类/方法/变量的区别命名. 比如Java里类大写开头,方法/变量小写开头. 如果中文命名, 该如何区分呢?
■网友
欧美用他们的母语编程,你用自己的母语编程,没毛病。就跟英国人说英语进行交流日常工作。中国人说中文交流日常工作一样。没问题。只不过他吗的这软件大部分是老外写的,有些软件内置编码不支持UTF-8 -16 -32之类的编码,只支持他那26个英文字母。但是思路没毛病,就是容易在老外编写的软件上出BUG。
■网友
我之前有个项目,用的是devexpress里的xaf。很嚣张地把所有xpo对象的属性都以中文命名。然后就悲剧了。XAF里会使用反射得到我的xpo对象的属性名,然后自动生成一个个tab标签,再使用Ajax加载数据。偏偏XAF这里有个bug,当属性名为非英文字母就加载不出来!我反映了这个BUG,可惜直到我的Devexpress过期这个BUG都没得到修复。我想大概是Devexpress的开发人员根本没办法再现这个bug,他们的电脑连中文都不支持。
■网友
VS2015只支持带BOM的UTF-8. 详见 http://www.zhihu.com/question/37252051如果你在代码里面用中文,保存时很有可能会存成gb2312格式,再打开你就发现中文都会变成乱码了。毕竟这些软件都是老外开发的,不会考虑到我们这种情况。所以还是不要用中文,就算编译通过了,谁知道会不会引起更大的问题呢?
■网友
关键字,.net内置的类型都是英文的,中英文混杂会很难看,而且需要常年全角半角切换,优势就是可以练习如果快速切换输入法 OR 按shift键。。。
■网友
Mr狗剩,今晚你有time没有?一起喝一cup呗~中文编程和以上一个造型。
推荐阅读
- 太阳照常升起“中国第一高楼”迎新年第一缕曙光
- 中国海拔最高气田跨年夜的坚守:戈壁寒夜保万家温暖
- 广西东兴边检开通绿色通道助8名遇险中国籍船员回国
- 中国各地冬泳爱好者在长春“劈波斩浪”迎新年
- 『医生』苏州援圭医生联手救治南美危重病人 “中国医生真了不起!”
- 滁宁城际铁路一期项目汊河新城特大桥箱梁架设完成
- -44.5℃“中国最冷小镇”迎入冬以来最低温
- 第24届环球夫人大赛中国总决赛深圳举行
- “中国最冷小镇”呼中最低温突破-40℃
- 世界旅游小姐中国赛区冠军:积极备战向世界推介中国之美
