2010-09-08 54 views
2

當我看到這對一些學生寫了一個小程序,我經常看到這樣的事情:(哈斯克爾,德語):爲什麼非ascii字符在函數/ var名稱中仍然不受歡迎?

ueber = "What the haeck!" 

,而不是

über = "What the häck!" 

被指定爲許多現代語言通過UTF-8允許聲明名稱中包含非標準字符,是否有一個特別的原因可以避免這些項目中的這些特性,這肯定只適用於能夠輸入這些字符的人們(比如德國學生團隊呢? )或者這僅僅是一個歷史原因?

我知道,如果您在國際上開發應用程序,您應該在a-zA-Z_0-9保留名稱,但是有沒有任何理由在「本地」項目中避免此問題?

+0

這可能最好是社區Wiki。我不知道。 – 2010-09-08 11:42:17

+0

嗯......我並不完全知道社區維基的標準,但他們包括AFAIK,它不是一個真正的「問題」,它沒有一個明確的答案。 – fuz 2010-09-08 11:51:59

回答

3

是有避免一個項目,這是肯定是唯一的人誰是能夠輸入這些字符

這當然是主要的原因,這些特殊原因。想到的其他原因是許多開發工具,搜索功能,編輯器,解析器,記錄器,代碼搜索引擎等在代碼中不會期望非ASCII輸入。

此外,你永遠不知道你的代碼可能會在哪裏使用!最小的無辜學校項目可以發展成一個很好的開源工具,有一天會在全球範圍內使用。在這種情況下,至少在此刻,ASCII 是最小公分母

1

我不得不在法國開發人員開始的一個項目上工作。當有更多人加入該項目時,他們不得不花費相當多的時間將他們的項目翻譯成英文。預先向德國學生傳授本課,他們不僅可以與其他人分享他們的代碼,他們不再需要überueber變量。

順便說一句,ü是一個字母字符。 +-是非字母數字的,我會說這很明顯,爲什麼他們不喜歡函數名稱。

+0

問題其實是,老師**強迫**學生使用德文varnames :( – fuz 2010-09-08 12:21:36

+0

順便說一句:有沒有另外一個術語來表達我想表達的內容?(像ü這樣的字符) – fuz 2010-09-08 12:22:44

+0

@FuZxxl你的意思是非ASCII字符。 – 2010-09-08 12:35:15