设为首页收藏本站

 找回密码
 注册
查看: 4684|回复: 9
打印 上一主题 下一主题

谈谈程序调试方面的经验 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
跳转到指定楼层
1#
发表于 2007-12-6 16:07:55 |只看该作者 |倒序浏览
我的程序已经编好了,程序代码比较长,有一百多行,用了大量的条件分枝,到最后,进行编译的时候,总是提示大括号在未行不符,随意添加几个大括号后,可以通过编译了.在图表中调用,发现其表现并非我的原思路,我知道肯定是某个条件语句在作怪,或者有的大括号是放错了地方,但查找起来比较困难,用什么好的方法可以一点一点的排查呢?
我打算是由内向外排查,把括号内的代码去除,保留条件和大括号,再将剩下的框架打印出来,用笔由外向内标出大括号,比如最外层的两个大括号撇一画,再向内一层的两个大括号撇两画,依次类推.
不知大家有什么好的方法,给介绍一点儿,互相学习啊
TradeBlazer交流群33647992。

Rank: 4

精华
0
UID
41
积分
498
帖子
67
主题
8
阅读权限
50
注册时间
2007-7-25
最后登录
2019-3-24
2#
发表于 2007-12-6 16:40:33 |只看该作者
我出现过类似情况,是用/*  */屏蔽某块内容,屏蔽间隔点要选择好,很快就可以找到对应的块,在类推下去。

使用道具 举报

Rank: 4

精华
0
UID
584
积分
501
帖子
63
主题
10
阅读权限
50
注册时间
2007-10-22
最后登录
2019-2-4
3#
发表于 2007-12-7 16:54:28 |只看该作者
分支多的话可以在大括号后用//1、2、3……等数字配套区分,这样一般不会错。

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
4#
发表于 2007-12-7 17:29:39 |只看该作者

“步步销融法”推广

从实践中总结出来的方法,无偿与大家分享。
总方针是:未走先立神,下笔渐销融。在未动手之前,必先认清要实现什么样的功能和可能达到的效果,然后下上步工作才有意义。
即从全局到局部,把全局逻辑性的控制语句(条件、循环句)先构建起来,要写出层次感(缩进用tab键);接着在控制语句里用汉字填入该处要实现的局部功能(就叫功能块吧);原后再把各功能块再分离出属于该块起到全局性控制的语句,之后依法填入该处要实现的功能块;再把各小功能块再分离出属于该块起到全局性控制的语句,之后依法填入该处要实现的功能块;再把各小功能块再分离出属于该块起到全局性控制的语句,之后依法填入该处要实现的功能块;依法进行,直到不可再分解为止,再用相应的代码实现不能再分解的功能块,整个系统就这样设计完成了,可谓一气呵成啊(当然中间的分解可以多日进行,注意在有汉字的地方加//)!
校验通不过的原因一般只是最小功能块出现了问题,根据原因提示可以很快找到并修改。
TradeBlazer交流群33647992。

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
5#
发表于 2007-12-7 18:58:36 |只看该作者

再补充

对于新手来说,其实每一个步骤都是先在纸上写好了,润色好了,才抄上编辑器的,因为编辑器屏幕实在是太小了,同时面对电脑久了很容易使人发晕。
TradeBlazer交流群33647992。

使用道具 举报

Rank: 4

精华
0
UID
877
积分
256
帖子
49
主题
8
阅读权限
50
注册时间
2007-12-4
最后登录
2019-4-1
6#
发表于 2007-12-10 11:29:19 |只看该作者

回复 #6 clmtw 的帖子

说的很有道理

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
7#
发表于 2007-12-10 20:27:05 |只看该作者
大括号不匹配是很容易出现的,除非你能一次性搞得定和你的程序很简单,当你多次在程序中改来改去时,很容易迷失自我,最后只好重头做起。不过,那已经成了过去,我终于熬过来了。
TradeBlazer交流群33647992。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
377
积分
1827
帖子
222
主题
29
阅读权限
70
注册时间
2007-9-19
最后登录
2021-12-9
8#
发表于 2007-12-11 09:03:17 |只看该作者
原帖由 clmtw 于 2007-12-9 23:36 发表
如果严格按照缩排格式的话,大括号不匹配的情况不太会出现啊


是啊。
我一开始也总是配不上括号。
后来就用这招。非常好用。
使用条件选择时,先输入
if()      //先不急着写内容。回车
{}       //{}会自动配好行缩。先不急着写内容。再回车,格式很清楚。

   if()
   {

   }

把这种条件框架先弄好,再输内容。就不会配不上号了。
复杂的分支,提前组织好先后的顺序,
先整体后细节。就象画素描那样。

[ 本帖最后由 jvya 于 2007-12-11 09:15 编辑 ]

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
377
积分
1827
帖子
222
主题
29
阅读权限
70
注册时间
2007-9-19
最后登录
2021-12-9
9#
发表于 2007-12-11 09:18:33 |只看该作者
我现在不明白的是

为什么有时,要重起软件之后,画线才能出来。否则什么都不显示。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25127
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
10#
发表于 2007-12-11 09:22:50 |只看该作者
看看交易指令设置里面,是否关闭了讯号的显示。
在编译出错之后,会自动关闭已经在图表中的该交易指令的显示。
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-2 07:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部