跳槽误入一家用汉字编写C#代码的公司,望各位大师指点~
//转注:这是一篇趣文哈
小弟年前跳槽进了一家通信公司,开发语言用C#,不过到了公司发现他们的大哥竟然要求用汉字编程,当时的官方解释是不用写代码注释,小弟当前以为只是把类名,变量名,方法名等改成汉字而已,无关大紧(虽然个人认为这是非常“NB”的作法)。可后来才发现他们竟然比这更“NB”的。小弟现列举两条供大家鉴赏:
一、 比如封装一个连接数据库的方法 用“传统”C#的写法应为(已经按我原来相像的汉字编程来写了)
定义:
class 数据库连接对象
{
连接(string 服务器名 , string 用户名, string 密码, string 数据库名)
}
调用:
数据库连接对象.连接(服务器名 , 用户名, 密码, 数据库名)
用我公司的“汉字C#”的写法是这样(由于定义实在是太麻烦,就不写出了)
调用:
数据库连接对象.连接到(服务器名).用户为(用户名).密码为(密码).数据库为(数据库名称)
关于这第一条的官方解释是这样代码读着通顺,就像文章一样,任何人都可以看得懂! ……%¥……@¥%!%&*%@!
二、他们竟连c#的关键字都用汉字包装了,比如 if, for, try 就连注册事件的+=都换了,全部用Lambda实现(汗只怪Lambda太强大了)。而他们的官方解释有二(一、文章统一都是汉字;二、c#的关键字效率低,他们有更好的方式)
遍历器<登录信息>.计数遍历(_详细信息集合).从(0).到(_详细信息集合.长度()).每隔(1).执行((当前行索引, 登陆信息) =>
{
判断.如果是(XXX).则(() =>
{
判断.如果是(YYY).则(() =>
{
表格.行(当前行索引).背景色设为(Color.Gray);
});
}).否则(() =>
{
判断.如果是(ZZZ).则(() =>
{
判断.如果是(KKK).则(() =>
{
表格.行(当前行索引).背景色设为(Color.Gray);
});
});
});
});
另一个:
异常.对以下语句进行异常检测(() =>
{
判断.如果是(_事件处理方法.不为空()).则(()=>
{
_事件处理方法();
});
}).发现异常则(() =>
{
//
});
望各个大师们,高人们,仙人们指点~