跳槽误入一家用汉字编写C#代码的公司,望各位大师指点~

HeavensDoor 2012-02-03 11:55:12
小弟年前跳槽进了一家通信公司,开发语言用C#,不过到了公司发现他们的大哥竟然要求用汉字编程,当时的官方解释是不用写代码注释,小弟当前以为只是把类名,变量名,方法名等改成汉字而已,无关大紧(虽然个人认为这是非常“NB”的作法)。可后来才发现他们竟然比这更“NB”的。小弟现列举两条供大家鉴赏:

1. 比如封装一个连接数据库的方法
用“传统”C#的写法应为(已经按我原来相像的汉字编程来写了)
定义:

class 数据库连接对象
{
连接(string 服务器名 , string 用户名, string 密码, string 数据库名)
}


调用:


数据库连接对象.连接(服务器名 , 用户名, 密码, 数据库名)


用我公司的“汉字C#”的写法是这样(由于定义实在是太麻烦,就不写出了)

调用:

数据库连接对象.连接到(服务器名).用户为(用户名).密码为(密码).数据库为(数据库名称)


关于这第一条的官方解释是这样代码读着通顺,就像文章一样,任何人都可以看得懂! ……%¥……@¥%!%&*%@!

2. 他们竟连c#的关键字都用汉字包装了,比如 if, for, try 就连注册事件的+=都换了,全部用Lambda实现(汗只怪Lambda太强大了)。而他们的官方解释有二(一、文章统一都是汉字;二、c#的关键字效率低,他们有更好的方式)

遍历器<登录信息>.计数遍历(_详细信息集合).从(0).到(_详细信息集合.长度()).每隔(1).执行((当前行索引, 登陆信息) =>
{
判断.如果是(XXX).则(() =>
{
判断.如果是(YYY).则(() =>
{
表格.行(当前行索引).背景色设为(Color.Gray);
});
}).否则(() =>
{
判断.如果是(ZZZ).则(() =>
{
判断.如果是(KKK).则(() =>
{
表格.行(当前行索引).背景色设为(Color.Gray);
});
});
});
});




异常.对以下语句进行异常检测(() =>
{
判断.如果是(_事件处理方法.不为空()).则(()=>
{
_事件处理方法();
});
}).发现异常则(() =>
{

});



小弟在这发文不是为了抨击或者诋毁,
只是小弟不才,确实是困惑了,不解,痛苦,绝望。

望各个大师们,高人们,仙人们指点~
...全文
71751 563 打赏 收藏 举报
写回复
563 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
中文编程不是可不可以的问题,是二不二的问题
  • 打赏
  • 举报
回复 1
Xw_yanger2015 2014-10-23
应该把 . { } 这些也封装成中文的
  • 打赏
  • 举报
回复
姓小名白丶 2014-09-19
哥们 这个好像叫“易语言” 你查查
  • 打赏
  • 举报
回复
whatdoyousay 2014-09-19
引用 17 楼 shwicho 的回复:
他们这样可以把人留住,在这家公司干几年出去的,会感觉别人公司的东西好难懂!!!!
笑死
  • 打赏
  • 举报
回复
狐狸大仙 2014-09-19
不好评价。。。。 创意是有的。。。。 只是满篇的汉字会不会看着太累?
  • 打赏
  • 举报
回复
好老的帖子啊
  • 打赏
  • 举报
回复
asnychen 2014-09-18
我了个去,真的太长见识了。。
  • 打赏
  • 举报
回复
二、c#的关键字效率低,他们有更好的方式 更好方式不能建立阅读困难的基础上
  • 打赏
  • 举报
回复
编程小可 2014-09-17
你们用的什么输入法
  • 打赏
  • 举报
回复
tanta 2014-09-15
好奇葩。。。
  • 打赏
  • 举报
回复
chaney1992 2014-09-15
太强悍了。。。强大的天朝语言。。。
  • 打赏
  • 举报
回复
a3212b12 2014-09-15
  • 打赏
  • 举报
回复
a3212b12 2014-09-15
引用 542 楼 a3212b12 的回复:
[quote=引用 446 楼 sp1234 的回复:] 如果从这里只能看到“易语言”,那么lz所在的公司确实垃圾了。 如果能理解他们是对函数后缀式编程风格“过度迷恋”并且“把本来很好的工具弄得味道很坏”,那么你可以看出这个公司还是有很值得学习的地方的。其实大家都可以试试看,要想封装这些函数,(虽然在参数化方面有lamda支持)还是需要花几天功夫的,可以判断出始作俑者还是一个技术谜。 这在有lamda支持的现在,封装这类东西是举手之劳。但是在5、6年前则是非常难得事情。在没有lamda支持的年代,我记得有一个函数式编程比较着迷的人,网名叫做“装配的脑袋”。大家搜一下他的博客文章也许能够看到以前封装这个有多么费劲。不过他似乎也没有提出过要把所有的控制流程机制都变成函数模式。 现在编写这类函数式程序可以说基本上可以举手之劳、随用随封装。
--------------------------- 装配的脑袋 很牛的一个技术牛人[/quote] 帐户号是:Ninputer
  • 打赏
  • 举报
回复
a3212b12 2014-09-15
引用 446 楼 sp1234 的回复:
如果从这里只能看到“易语言”,那么lz所在的公司确实垃圾了。 如果能理解他们是对函数后缀式编程风格“过度迷恋”并且“把本来很好的工具弄得味道很坏”,那么你可以看出这个公司还是有很值得学习的地方的。其实大家都可以试试看,要想封装这些函数,(虽然在参数化方面有lamda支持)还是需要花几天功夫的,可以判断出始作俑者还是一个技术谜。 这在有lamda支持的现在,封装这类东西是举手之劳。但是在5、6年前则是非常难得事情。在没有lamda支持的年代,我记得有一个函数式编程比较着迷的人,网名叫做“装配的脑袋”。大家搜一下他的博客文章也许能够看到以前封装这个有多么费劲。不过他似乎也没有提出过要把所有的控制流程机制都变成函数模式。 现在编写这类函数式程序可以说基本上可以举手之劳、随用随封装。
--------------------------- 装配的脑袋 很牛的一个技术牛人
  • 打赏
  • 举报
回复
小猪八Q 2014-09-15
引用 5 楼 xiaoshenyi2 的回复:
开发这个的人才NB - -
深表赞同,这是真大神啊
  • 打赏
  • 举报
回复
a3212b12 2014-09-15
引用 457 楼 sp1234 的回复:
lz一开始误导了我们,让我们以为这个公司自认为最NB的就是用汉字方法名来编程似地。于是我们的焦点都集中在对所谓的“易语言”的批评上了。我们看看 #344 楼所贴出的易语言程序,把{ } 括号用代码缩进来替代,把if()用“如果真”三个字来替代,把&& 用“与”之一个字来替代,把自定义函数名用中文命名,这就算是变成语言的发明? 所以说批评易语言过度忽悠“中文噱头”是有道理的。它就是没有什么高级的内涵。 但是冷静地看lz贴出的代码,我发现一开始我们忽视了这个公司对函数式编程的那种“痴迷”,把它跟垃圾易语言一同给否定掉了。虽然他们对函数式编程用的走火入魔了,但是很多人其实严重缺乏类似Lisp、Prolog、F#之类的变成语言的了解,不理解这些编程语言在表达逻辑规则上的优秀特点。lz他们的公司只是没能够把这些特点用真正简洁合理的方式表达出来(比如说还不如改用F#来编写程序)。我们应该看到这个公司一定有我们要学习的地方,否则我们就教出一帮低级的程序员,那么还不如lz所在的公司用八股方式而能教出几个高级程序员呢!
+100 -------------------------------------------- 另外,我觉得既然VS支持中文了,如果程序只在中文环境用户下使用,适当的使用中文,还是很好的。 总之,那种方便用那种。
  • 打赏
  • 举报
回复
leyt 2014-09-15
楼主应该试试‘文言文’,更简洁些。
  • 打赏
  • 举报
回复
大头说 2014-09-15
奇葩到处有啊!我想问一句,你们老大一个英文都不会吗,不知道在编程的时候打中文比打英文慢得多吗?
  • 打赏
  • 举报
回复
余生Her 2014-09-15
中国各种山寨,
  • 打赏
  • 举报
回复
Sunny丶 2014-09-15
我只能说,太屌了。还能不能再屌点了。
  • 打赏
  • 举报
回复
加载更多回复
发帖
非技术区
加入

7731

社区成员

.NET技术 非技术区
社区管理员
  • 非技术区社区
申请成为版主
帖子事件
创建了帖子
2012-02-03 11:55
社区公告
暂无公告