引用:
问:武力用wl变量名好吗?
答:不好。现在的语言,变量长度可以达到32位,基本上够你描述清楚一个比较复杂的问题,几个单词的容量还是够的,不怕麻烦,怕记不清楚.
我认为程序变量名有达到如下要求就够了,不要那么多:
1.好记好读
2.不混淆
我认为程序变量名不一定非要一大串的英文来命名,你试想如果一个变量名30个字符的,在一段程序中十几二十次用到这个变量名比起五六个字符的,是不是开发效率要降低很多?其实只要满足我上面所说的几个条件就够了,何必要那么复杂呢?
我们知道之所以不用拼音命名,是因为拼音容易混淆,可读性差,而英文的可读性好也好记,所以绝大多数的程序命名用英文.
但是,作为三国游戏来说,一个词比如武力,如果要真能表达它,不是power之类来表达的,万一以后又出现一个力量的属性怎么办?还要整个程序去大改吗?
因此,我认为在三国游戏开发开发的过程中,遇到武力智力之类的用英文命名,并不是明智之举,当然也不能用拼音命名了.需要建立一个专有名词英文对照表来,按专有名词英文对照表里面的名称来命名,但是在游戏中要加上相应的前缀,以免与游戏中其它的变量混淆.
专有名词英文对照表如下(一小点点):
武力-wl 智力-zl 政治-zz
看到这,有人就要问了,你这不是明摆着用拼音命名吗?我要说明的是,看wl,zl,zz等之类的时侯可以把这些看作专有名词看待.之所以这样命名是为了好记好写.当然不是所有的都这样命名,因为就会出现一些混淆的情况,比如:
魅力-ml 命力-?
这样就出现了拼音命名混淆的问题了,因为在游戏中魅力用得更多,所以魅力用ml,而命力用mn命名.虽然说mn跟命力没有什么关系,但是用得少,实在要用可以在专有名词英文对照表里面查.但我不否认这的确是这种命名的一个缺点.
但是这种命名与英文命名比起来,书写上就容易了很多,便于提高开发效率,也便于以后AI之类的算法研究(因为字母少表达这个意思的时间就少,使得更有精力去研究算法).而且还要说一点的是,一个三国游戏中的专有名词比如武力用英文有非常多种表达方式,因为程序员之间需要合作,那么就要统一这个变量名,但是可能程序员之间对武力这个词的英文表达不同,为了统一,程序员照样要去查,这个变量名怎么表达,也不能省下查的时间.
因此我认为,用专有名词英文对照表的方式虽然有缺陷,但跟长长的英文名命名比起来来说,还是好一些.当然这些专有名词英文在游戏中要加如a_之类的前缀以示区别.
当然最根本的,还是需要三国游戏制作者达成共识,制定出一个完整的专有名词英文对照表,如果遇到新名词还要补充.这样一来,一方面便于三国游戏制作者程序员之间合作(因为易懂变量名的意思),另一方面也便于研究算法(毕竟无论是打还是写wl总比武力来的简单吧)和交流(交流时侯打zl总比智力来得简单,这样有利于加快速度,传递更多的信息)
当然以目前的情况来说,大多数人可能还会不接受这样子做,但是随着时间的推移,逐渐就会流行起来的(就跟网络语的流行的一样的),如果是这样将能大大加快交流,同时也能免去硬记的麻烦.
|