如何評價用漢字編寫C#代碼的公司?

跳槽誤入一家用漢字編寫C#代碼的公司,望各位大師指點~-CSDN論壇

小弟年前跳槽進了一家通信公司,開發語言用C#,不過到了公司發現他們的大哥竟然要求用漢字編程,當時的官方解釋是不用寫代碼注釋,小弟當前以為只是把類名,變數名,方法名等改成漢字而已,無關大緊(雖然個人認為這是非常「NB」的作法)。可後來才發現他們竟然比這更「NB」的。小弟現列舉兩條供大家鑒賞:

1. 比如封裝一個連接資料庫的方法

用「傳統」C#的寫法應為(已經按我原來相像的漢字編程來寫了)

定義:

class 資料庫連接對象
{
連接(string 伺服器名 , string 用戶名, string 密碼, string 資料庫名)
}

資料庫連接對象.連接(伺服器名 , 用戶名, 密碼, 資料庫名);
資料庫連接對象.連接到(伺服器名).用戶為(用戶名).密碼為(密碼).資料庫為(資料庫名稱);

關於這第一條的官方解釋是這樣代碼讀著通順,就像文章一樣,任何人都可以看得懂! ……%¥……@¥%!%*%@!

2. 他們竟連c#的關鍵字都用漢字包裝了,比如 if, for, try 就連註冊事件的+=都換了,全部用Lambda實現(汗只怪Lambda太強大了)。而他們的官方解釋有二(一、文章統一都是漢字;二、c#的關鍵字效率低,他們有更好的方式)

遍歷器&<登錄信息&>.計數遍歷(_詳細信息集合).從(0).到(_詳細信息集合.長度()).每隔(1).執行((當前行索引, 登陸信息) =&>
{
判斷.如果是(XXX).則(() =&>
{
判斷.如果是(YYY).則(() =&>
{
表格.行(當前行索引).背景色設為(Color.Gray);
});
}).否則(() =&>
{
判斷.如果是(ZZZ).則(() =&>
{
判斷.如果是(KKK).則(() =&>
{
表格.行(當前行索引).背景色設為(Color.Gray);
});
});
});
});


我倒不想黑他們,至少他們是自己在實踐,而不是只作鍵盤俠。

"你認為我是錯的,那麼你最好證明你是對的"。

我反而希望他們用中文寫出一個有點規模的程序,開源到 Github 上,狠狠打我們這些英文吹的臉吧。


謝邀。

任何人都看得懂是不可能的。

比如這句

「資料庫連接對象.連接到(伺服器名).用戶為(用戶名).密碼為(密碼).資料庫為(資料庫名稱);」

語文老師會過來抽你,你這不說的廢話嗎?

用戶為用戶名

密碼為密碼。。。

就跟說人一殺就會死一樣,完全無法反駁!看著就不會有bug!

我覺得這樣做非常有可能導致漢語程序員腦袋短路。

密碼為密碼呀,怎麼可能錯啊,這怎麼看都是對的啊。

這種地方應該強制的區分開變數,非要自然語言,那麼變數都應該加個命名規則"xx的變數的值",看上去就舒服的多。

密碼為(密碼變數的值)

是不是嚴謹多了!很像數學語言了!

我看運算符也要重載才好。

不然誰知道這個「.」是個什麼鬼意思?

改叫「的成員」

表格的成員行(當前索引的變數的值)的成員設背景色為(背景色變數的值)

是不是更像人話了!

更近一步函數調用也改了!

改成這樣就行了:

令行等於調用表格的成員獲取行使用當前索引的變數的值;

調用行的成員設背景色使用背景色變數的值。

完全不用括弧啦。更像人話了,快拿去採用吧,不用謝我!

突然發現都叫xxx的值是不嚴謹的。

應該根據類型分為xxx的值,xxx的引用。

哇,那這樣不就一下解決了類型推斷了嗎,我們來寫個編譯器吧。

可以搞出以下的語句:

令甲為10;

調用加使用甲變數的整形值;

調用加使用甲變數的整形引用;

調用加使用甲變數的整形值以及甲變數的整形引用;

啊哈哈,我開個坑做個「難」語言好了。


效率高個屁,漢字的輸入和閱讀成本都比字母系的語言高多了


如果漢化有用,歐美人豈不是人人都會寫代碼?


我想這就是美國人用 英文寫代碼的感覺,直接閱讀的感覺


這是我今天看過的最好笑的段子,已經發朋友圈。

不過,如果公司的管理足夠強大,所有的翻譯都是自洽的,說不定可以成為一個新流派。


推薦閱讀:

阿里雲中Windows和SQL Server軟體的許可是如何解決的?
微軟的生物信息研發部門在哪?
微軟新注音輸入法相比微軟拼音輸入法而言有何優缺點?
網上流傳的一張關於 Evolution of Windows 的圖片想要表達的意思是什麼?
2010 onenote OCR識別功能的「使圖像的文本可搜索」不能用「,怎麼解決?

TAG:微軟Microsoft | 程序員 | 編程 | ASPNET | C# |