代码的重复使用
当你写代码的时候,问一下你自己将来是否还会使用这段代码,如果是,那就要把它分离出来成为一个常规的程序,你可以在其他地方调用。如果你发现你在一个新的句柄上用你过去使用过的代码,那最好吧这段代码拆分出来。
当你写句柄的时候,尽可能的使它普适化,如果能避免使用全局变量就应该避免,因为如果依赖于其他的程序段,就降低了将来再次使用这个句柄的可能性. 如果你只需要全局变量的值,应该考虑用参数传递给句柄。
另一个提高你的代码的可携带性的方法是去除关联的某个特定的object.例如你想要计算两个域的和 不可携带性的代码可能象这样: put SumFields()
function SumFields
return fld "Num1" + fld "Num2" + fld "Num3"
end SumFields
这个句柄只有当三个域的名字都是特定的如例中所示才有效,而更方便的代码应该是这样: put SumFields(fld "Num1", fld "Num2", fld "Num3")
function SumFields
put 0 into tSum
repeat with i = 1 to paramcount()
add param(i) to tSum
end repeat
return tSum
end SumFields
这个句柄不仅可以在任何地方是用,而且使用param 和paramCount 的结果是大大的扩展了这个功能的使用,可以求任意个数的总和。
当关联到一个object的时候,尽可能使用名字,如果无法知道名字或者名字发生了改变,请使用Object的ID号,避免使用一般的数字来命名object(l例如., "button 4"), 因为你可能改变它,而使得脚本不能正常运行,用带有描述性的名字也可以帮助你理解object的含义 (cd flds, grcs, wds, &c.). 如果你的程序需要数字命名也应该这样 "Bookmark 1," "Bookmark 2", 等。
代码的速度
解释性的语言通常比编译的语言运行慢,所以速度是一个重要的考量,这里是几个建议可以使解释器工作得更快:
- 如果语言本身提供了更简洁的词来替换文字例如"comma" 和 "colon" ,就是用它们,因为这些解释器可以处理得更快.
- 文本总是放在引号内,哪怕是一个词的文字,而数字码永远不要放在引号内(除非是语言的需要)这可以提高解释速度,否则解释器在作为文本使用它前需要查找它是否是变量名.
- 用数字而不是数字的文字形式. (例如. "put myVar - 10 into cd fld "myField"", not "put myVar - ten into cd fld "myField"")
- 重复的操作要在变量中完成,而不是域中,因为进入域,解释器需要做很多额外的工作才能确认文字,修改它并显示出来,在变量中先完成工作可以使速度有数量级的提升。
出处:蓝色理想
责任编辑:蓝色
上一页 常用的技巧 下一页 命名规则
◎进入论坛Flash专栏版块参加讨论
|