在编写FISH的过程中,用户自定义的变量名可以是任意长度,但由于行长度的限制,太长的在打印输出会被截断。一般来说,名称可以任意选择,但是它们不能与FISH的控制语句或预定义的变量或函数名相同。下面仅以UDEC进行说明,3DEC是类似的。
在UDEC的输入中还有许多其他的词应该避免使用。UDEC和FISH中的单词列表中包含的可能与所选名称冲突的单词列表显示了所有用于命名FISH变量或函数时可能导致冲突的单词(见下图)。但是,潜在的冲突取决于所选名称的使用方式。例如,单词 gravity 可以用作FISH变量,只要它在FISH函数中被简单地引用;只有在需要使用 SET 命令设置其值时才会发生冲突,因为 gravity 是 SET 命令的关键字。类似地,如果FISH变量的名称与 print 命令的参数相同,则可能无法打印该变量的值。
有时候写的FISH函数明明什么都是对的,但就是运行就出问题,怎么都找不出原因的时候可以考虑是否有变量名或者函数名与下图的保留字一样呢?UDEC列举的保留字按字母进行排序,比较容易进行对比。下面有讲如何简单的避免出现这种莫名冲突的方法。
避免UDEC和FISH的单词列表中列出的任何可能与所选名称或名称缩写冲突的名称(因为UDEC允许截断关键字和命令)。避免名称冲突的一个简单方法是在定义所有FISH变量和函数名时使用下划线字符开始。方法很简单,但为了规范编写,在下划线开头的同时,在命名FISH变量和函数名时推荐使用 驼峰式命名法
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。
——百度百科
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母 。例如:_xvelocitySet,_contactLength _jointAngle 这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。同时,变量的含义一目了然具有可读性,自己容易看,别人也容易懂。
(下面这张图截取自UDEC的手册--List of words in UDEC and FISH that may conflict with chosen names)