找回密码
 加入
搜索
查看: 14345|回复: 41

[AU3基础] 《代码有问题吗?学会自己找原因》初学者进来

 火... [复制链接]
发表于 2011-2-26 22:48:59 | 显示全部楼层 |阅读模式
本帖最后由 lixiaolong 于 2011-3-5 17:32 编辑

不知道发这里对不对,如果不对请版主移动.

我看过很多新手的提问,还是有关代码的问题多.
本人没什么技术,但我会尽量自己找原因,解决问题.

这里给初学者介绍自己找原因的方法.
不只是autoit,对其他的语言也可以用这个方法.

使用这个方法不只是为了找到原因,还可以提高自己的能力.

第一:多看帮助文档
http://www.autoitx.com/forum.php ... 9307&highlight=

第二:利用论坛的搜索功能

第三:每行语句结尾加个注释(这个很重要)
分号(;) 是注释符.

加了注释后再从头开始看一次自己的代码.
看一次还不明白,那就再看一次.
看10次还不明白,那就休息一会儿,再看10次...100次.
实在是不明白 Go To 第四.

为什么加上注释?看看下面的2个代码您就知道了.

例子:
没加注释
$adr = "d:\game"
$i = 0
While $i <= 2
        If FileExists ($adr) Then
                Sleep(10)
    DirRemove("d:\game", 1)
        Sleep(10)
        DirCreate("d:\game")
    ;$i = $i + 1
        Sleep(10000)
        Else
        MsgBox(4096,"文件路径不对!","请联系管理员")
        EndIf
WEnd

加了注释
$adr = "d:\game"; 给变量赋初值(文件夹路径)
$i = 0; 给变量赋初值(0)
While $i <= 2; 如果变量 “$i” 小于2或等于2 开始循环,如果变量 “$i” 大于2 即退出循环 
        If FileExists ($adr) Then; 开始多条件运行语句; 如果“$adr”存在
                Sleep(10); 暂停 0.01秒
    DirRemove("d:\game", 1); 删除"d:\game"文件夹,包括子目录
        Sleep(10); 暂停 0.01秒
        DirCreate("d:\game"); 在D盘根创建“game”文件夹
    ;$i = $i + 1
        Sleep(10000); 暂停10秒
        Else; 如果“$adr”不存在
        MsgBox(4096,"文件路径不对!","请联系管理员"); 弹出对话框
        EndIf; 结束多条件运行语句
WEnd


*加注释还有一个目的,请看14楼.

第四:实在是不明白在提问交流问问大家

学习是一种循环:
       
          1 = 写代码
         2 = 测试
         3 = 如果代码有问题 Go To 4 如果代码没有问题 Go To 1
         4 = 看帮助文档 Go To 5 Or Go To 7 Or Go To 8 Or Go To 10 Or Go To 11
         5 = 加个注释
         6 = 如果忘了,或者不明白什么意思 Go To 4
         7 = 从头看一遍代码
         8 = 如果解决了问题 Go To 12
         9 = 如果没有解决问题 Go To 4 Or Go To 7 Or Go To 10 Or Go To 11 Or Go To 13 Or Go To 14
        10 = 搜索答案 Go To 8
        11 = 问问大家 Go To 8
        12 = 恭喜,您已经提高了能力,请继续... Go To 1
        13 = 休息 Go To 4 Or Go To 7 Or Go To 10 Or Go To 11 Or Go To 13 Or Go To 14
        14 = 放弃,Exit
发表于 2011-2-26 23:47:38 | 显示全部楼层
每句都注释没有必要,因为au3本身就是结构化的,合理利用空行,在代码块前上一行写注释是比较通用的做法。养成好习惯,比如写FOR语句现把NEXT写了再填循环内的CODE。这样即使有几千行源码也很难出现混乱内容
发表于 2011-2-27 00:05:49 | 显示全部楼层
提高自己的能力.
发表于 2011-2-27 18:09:01 | 显示全部楼层
呵呵,一种情况是函数的失败没有理会,想当然的以成功来继续,导致的出错
发表于 2011-2-27 23:36:31 | 显示全部楼层
天, 这种加注释方式,会把人搞死的。不可取!
 楼主| 发表于 2011-2-28 00:31:10 | 显示全部楼层
本帖最后由 lixiaolong 于 2011-2-28 00:32 编辑

呵呵,注释加在哪里是个人的习惯,随便改.
主要是把代码写成中文,反复看代码和注释.

不要连续看100次,必须休息.
看完了100次后,你就会发现。。。
发表于 2011-2-28 01:18:21 | 显示全部楼层
au3的脚本,一看就明白是什么,基本上不需要注释,又不是象Perl那样的,没有注释,复杂点的,一个月,连自己都看不懂写的啥了。
其实有点对于新手或老手要注意的是:尽量分开写,不是函数套函数,象:StringMid($Source, StringInStr($Source, "http", 5))这种不可取的,若再复杂点,就“可读性”就差了
 楼主| 发表于 2011-2-28 01:52:04 | 显示全部楼层
这是一种很单纯,很有效的提高自己能力的学习方式.
当然明白什么意思就不需要注释,可以去掉,但不是每个人都一看就明白.

我个人认为初学者根本不用想“可读性”什么的.
重要的是一步一步的把基本练好就可以了,其他的以后再说.
发表于 2011-3-1 15:54:53 | 显示全部楼层
受教了
感謝喽主對新人的提點
发表于 2011-3-1 17:46:44 | 显示全部楼层
写的很好,关键是养成良好的习惯!
发表于 2011-3-1 20:19:54 | 显示全部楼层
不错!养成良好的代码书写习惯是很有必要的。

很惭愧,偶也很少会给代码加注释,只是偶尔遇到精辟的思路会特别加以注明。

向小龙哥学习!
发表于 2011-3-2 05:32:39 | 显示全部楼层
学习了,俺也只加少部分注释
发表于 2011-3-2 12:19:11 | 显示全部楼层
有理,不错,支持,我们差不多都是业余爱好者,不是专业的编程人员,有时候久了不去看编程的东西就会忘记,所以说给自己写注释是不错的习惯,也是编程必须养成的习惯。
 楼主| 发表于 2011-3-2 12:55:34 | 显示全部楼层
回复 2# 蜘蛛抱蛋
回复 3# myang
回复 4# 飘云
回复 9# dorissu
回复 10# devilma
回复 11# 水木子
回复 12# touch_xu
回复 13# m765555

其实加注释还有一个目的.

经常活动手指来刺激大脑,可以延缓脑细胞的衰老,改善记忆力、思维能力,还可以提高人的智力.
一般在正式学习前、学习中、学习后,都可进行手指操的练习.
这对开发弱势脑、改善左右脑半球的交流、提高注意力、放松调动出大脑α波都有很大的作用.
发表于 2011-3-3 12:03:41 | 显示全部楼层
高手也应该看看,很好
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-4 21:39 , Processed in 0.084259 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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