找回密码
 加入
搜索
查看: 2025|回复: 7

[AU3基础] 问个大家定义变量习惯

  [复制链接]
发表于 2011-2-1 21:11:12 | 显示全部楼层 |阅读模式
是统一在一起定义,如:Local $x, $y, $z
还是在需要时再定义,如:
If $A then Local $Label = GUICtrlCreateLabel(" Settings", 70, 15, 40)
这种各自的优缺点是什么
在家讨论下!
 楼主| 发表于 2011-2-1 21:14:39 | 显示全部楼层
不过,有点我是坚持的,就是:MustDeclareVars
也许是从C/C++带来的习惯,不过,这样可以减少不少潜在问题。虽然au3可以方便地直接赋值当声明
发表于 2011-2-1 21:32:25 | 显示全部楼层
对于$A不成立,而下面的代码恰好用到$Label时,程序会不稳定。如果是数组,直接报错。

所以,我个人对于全局变量都是统一声明的。
发表于 2011-2-1 22:00:53 | 显示全部楼层
优缺点不好说,个人一点看法,如果不是特殊要求,比如有重定义要求的,尽量使用全局变量,不管要不要mustdeclare,一方面有助于分清程序的书写结构,另一方面在排错的时候比较方便,不过有一点可能在写脚本的时候稍微麻烦点(要来回来去翻页)
 楼主| 发表于 2011-2-1 22:06:34 | 显示全部楼层
回复 3# republican

当然上面只是举个例子,实际时,肯定要考虑你说的了
 楼主| 发表于 2011-2-1 22:08:15 | 显示全部楼层
回复 5# happytc

我跟你说的相反,几乎不用全局变量,因为对于维护程序和函数再利用很不方便。
发表于 2011-2-1 22:33:50 | 显示全部楼层
呵呵, 我现在一般都会声明 ,自己看他的用处吧。有时候也会忘记,唉, 看来这个习惯还没养成
发表于 2011-2-1 22:59:15 | 显示全部楼层
看作用域
不影响代码使用,随便丢都行
不过域特性最好要明确
该Global 的 G
该Local 的 L
就不会冲突,以避免出错
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 06:53 , Processed in 0.084544 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表