遊戲編程,變數命名用拼音可以嗎?
在開發一些特殊背景的遊戲時候,開發人員習慣用拼音直接做變數名。這樣做的好處是什麼?(開發團隊均是中國人)我可以理解,這樣便於可讀性更高。但內心總覺得這樣不太「標準」。還是想費力的去找對應的英文。
比如:三國類遊戲, huaRongDaoNPC(華容道NPC) 這樣的。
不知道其他行業是否也有這樣的情況?
如果是技術術語,建議使用英文。
如果是專門的遊戲邏輯,沒有合適的英文可以用漢語拼音。
但因為漢語同音字多,有較大機會產生歧義。國際化時其他團隊也有可能會遇到些麻煩。
除了太長外沒啥壞處。
切記不能只用首字母簡寫。
我覺得如果是發布的產品的話,可以考慮用拼音。
比如,360後台進程,名字:zhudongfangyu(據說是為了接地氣)
雨血:蜃樓的試玩版名字就叫:shenlou_……
況且,很多專業術語簡單明了,何樂而不用呢?
若為遊戲角色創建一個」筋斗雲「技能函數, 用英文恐不合適。
拼音+聲調
降龍十八掌 xiang2long2shi2ba1zhang3
天山六陽掌 tian1shan1liu4yang2zhang3
據我所知,有的項目要求極高的安全性,需要對代碼進行混淆、加密處理,這時採用拼音的確是效果良好、成本低廉的方式。也有爲了效果,特意調研開發人員的家鄉方言、採取粵語、吳語等方言拼音方案的個例;對於有小語種背景的,也可以採用小語種名稱。與此同時以 Python、C#、Cpp 以及 Swift 爲代表的許多編程語言也引入了 Unicode 支持,直接使用漢字作爲變量名與方法名也可以實現。(感謝各位在評論中的補充)
有些東西也不好譯成英文吧?那還不如用拼音呢……
你不如直接用中文
曾經嘗試過用中文 不過有幾個問題不得不面對
解決辦法:
可以通過在類名稱後面加上類型 不過對於例如整數這種類型 看起來會很冗長 彆扭
並且和模版在一起的時候 想要描述一個類型的類型 更是會變得異常的長 難以閱讀
class Matrix{};
Matrix matrix;
Int i;
template &
class Matrix {};
#define class 類
類 矩陣類型{};
矩陣類型 矩陣;
整數類型 整數;
模版&<類型 標量類型的類型&>
類 矩陣類型 {};
2.中文漢字不適合作為符號 英文卻每個字母都能作為符號 對於數學表達式 邏輯表達式 極其不利
解決辦法:
可以嘗試使用甲乙丙丁
int a,b,c,d;
整數類型 甲,乙,丙,丁;
3.中文作為象形文字 天生和阿拉伯數字 數學符號這種符號文字不合 不光書寫違和而且對於文字對齊也不利
class Rect
{
private:
Point p0,p1;
};
Vec v0,v1;
Vec v2 = v1 - v0;
類 矩形類型
{
私有:
點類型 點0,點1,點2;
};
向量類型 向量0,向量1;
向量類型 向量2 = 向量1 - 向量0;
4.中文縮寫規則複雜 非常用的縮寫 常常讓人不知所謂 英文縮寫規則較明確 並且幾乎任何單詞都能縮寫
Img i;
DNA dna;
圖類型 圖;//到底想表達Graph還是Image呢?
核酸類型 核酸;//你說這樣合適么
5.中文輸入量大 導致大量時間被浪費在鍵入文字身上 並且代碼冗長 同等長度代碼 信息量少 噪音多 增加閱讀難度
使用感受:
當你打開你的代碼 感受到黑壓壓一片方塊字
頓時感覺腦中一片亂麻
難以閱讀 信息冗餘量大 噪音多
簡單的代碼瞬間會感到很繁雜
不建議使用中文書寫程序
因為代碼實際上是表現演算法和邏輯
這種東西用簡單的符號文字應該比較合適
不過也未嘗不可 可以嘗試
特殊背景嘛……有的東西真的很難翻譯成英語的,不要太長就可以了。
另外如果統一的話那麼用縮寫也不是不可以(比如整個項目全是 hrdNpc , hrdScene, hrdBlock 這種),但是你不能把 華容道 跟 Hardware 都縮寫成 hrd ,會出大事……
另外,現在 IDE 都那麼智能了,有 Highlight All 功能的話局部變數就隨便起吧。如果作用域只有那麼兩三行,隨便起用個 npc 都可以啊……
===看了其他知友的回答,中英混合有的時候會死人……
比如上中學的時候有一本書,書名華麗麗的印著…… GEOGRAPHY DITUCE ……
還有類似 Somersault cloud 這種萬萬不可……
每次我寫代碼都去查查變數名的英語表達是什麼,,單詞很容易就背下了。。。
我覺得 huaRongDao 比 huaRongRoad 要好多了。
剛才聽我後面的同事吐糟自己:
有一天我用拼音定義一個變數名(嫦娥 chang e):
local change = "xxx"
然後改天去debug代碼的時候, what a fuck !!! change (改變) 是什麼意思, 回味了好久才明白過來!!
然後就尼瑪再也不用拼音做變數名了.拼音寫全的話除了長,倒是沒啥問題,提醒題主千萬別用拼音首字母簡寫給變數和函數命名!要瘋的!
我個人是不太喜歡用拼音的
雖然由漢字聯想到拼音很簡單,但是反過來就很難了,有時候自己都不知道這個變數是幹嘛的,還得靠注釋,不過既然有注釋的話,用英文也可以啊。華容道 英文也是 Huarongdao
其他行業也有 你看京東 就是jd
HuabRongbDaod這樣如何?
用小寫的abcd代表聲調!
華容道!
我覺得中國文化的名稱原本就是拼音的,遊戲的對象名兵器名等都應該是可以拼音的,再不成可以試試變數命名神器,參考下面的
編程的時候 命名 方法或變數 詞窮了怎麼辦? - unbug 的回答
我經常這麼干。。。關鍵更多的時候英文看著一目了然 而拼音還得理解半天 那還是用英文吧
推薦閱讀:
※函數式語言開發 GUI 是不是自虐?
※有哪些支持多種語言的 IDE ?
※各種編程語言的實現都採用了哪些垃圾回收演算法?這些演算法都有哪些優點和缺點?
※全python項目,使用protobufThrift適合嗎?
※Haskell中的惰性求值如何實現?