工作了一个月了,程序总是有bug,信心大受打击!

时间:2021-09-01 23:30:38
    工作了一段时间了,不知道为什么给boss留下了个bug多的毛病,现在交给我的课题出现了bug,就会皱眉、叹气!我也不知道怎么没有查到bug,这样下去我该怎么混啊!

105 个解决方案

#1


努力学习咯...

#2


调试也是一门技术,一切都会好起来的..

#3


出现bug不要紧,关键是怎么以后避免出现相同的bug。

#4


如果是vb6,加上option explicit,减少出现语法bug,逻辑bug就是多学习业务知识了,首先要了解熟悉你要做的程序的业务流程

#5


是啊,做程序太需要注重细节了,这方面我需要加强,我的找找作程序减少bug的习惯。是不是我方法上存在问题,我现在做程序是让它能跑,然后在考虑判断条件!不知道那种方法写程序可以减少bug,大家都有什么好方法,好习惯啊!!小弟拜谢!
                                                 


                                                         ---一个走上程序道路的人,也想走的更远、更好的人!

#6


让它能跑,然后在考虑判断条件?
这样很不合理吧,不是说磨刀不误砍柴工嘛,要先做分析,分析业务流程,整个模块怎么操作要在脑袋里有个大概的概念,然后设计建立数据表,然后设计一步步地怎么操作,具体的函数实现细节可以以后填充,先写个大体的流程,放个函数在那里,自己的脑子里首先不能乱套,程序一般就不会乱套。还要多注意极限条件的判断。

#7


没BUG才怪呢,BUG是地球上种类最多的“生物”,不过VB因为是应用层的,底层在内存、安全方面不会有太大的问题,应用层面的BUG解决起来相对用一些,之前学过C或C++么?学过的话会感觉VB程序的BUG都不能称之为BUG……

#8


刚开始作项目有BUG是很正常的. 
再多的BUG也要坚持一个一个去解决.
高手都是从BUG堆里成长起来的新手.

#9


有时BUG不仅仅是你自己造成的,VB自己也有BUG.举个小例子,你如果使用了VB的dtpicker这个日期控件,设置为不显示日历的情况下,在每月的28号之后你就无法选择2月,呵呵,除了2月,每月总有那么几天不正常(当然可以加入代码加入修正).

#10


谢谢各位大哥的教导!不知道有没有大姐!让我受益匪浅,特别感谢 tongnaifu 的方法,我以后会多多尝试的!

#11


引用 9 楼 prcstar 的回复:
有时BUG不仅仅是你自己造成的,VB自己也有BUG.举个小例子,你如果使用了VB的dtpicker这个日期控件,设置为不显示日历的情况下,在每月的28号之后你就无法选择2月,呵呵,除了2月,每月总有那么几天不正常(当然可以加入代码加入修正).

这个还没用过,呵呵!

#12



养成良好的思维方式和工作习惯。

1 动手之前先想,需求究竟是什么,大概有多少种方案,各有哪些利弊,哪个方案你最熟悉。确定你的大致做法,但不要深入到实现细节。
2 写代码之前要“胸有成竹”。虽然不一定要画流程图,但心里要有一个完整的框架。这就和下盲棋一样。有些东西一定要先想好,例如,你需要几个窗体,需要那些模块,他们之间的关系如何。你的具体功能在哪些模块中实现,怎样分割和联系。
3 代码要规范。常量、变量命令要规则,符合惯例;代码要有规整的缩进;所有的常量、变量都在开始处声明……总之,是你的代码易读。

#13


慢慢来,急不得,多想多练加坚持一定会更好!

#14


bug不要紧关键是积累经验

软件开发的过程是先想后动手的过程,要分析好业务流程。

bug也分级别,写程序的时候要小心,比如说你的message或者label拼写错误这就是不应该出现的错误;逻辑上的bug可以慢慢改进
另外bug不要紧,但是程序中要写处理,比如on error 。。。这就是必须的。在回收的时候写到log文件中以便维护

才1个月而已,不用着急,只要用心细心一定能更好

#15


bug不要紧关键是积累经验 ,这个是必须的.

#16


努力学习,我也是个新手。刚开始是这样的,树立自己的信息

#17


引用 14 楼 clear_zero 的回复:
bug不要紧关键是积累经验 

软件开发的过程是先想后动手的过程,要分析好业务流程。 

bug也分级别,写程序的时候要小心,比如说你的message或者label拼写错误这就是不应该出现的错误;逻辑上的bug可以慢慢改进 
另外bug不要紧,但是程序中要写处理,比如on error 。。。这就是必须的。在回收的时候写到log文件中以便维护 

才1个月而已,不用着急,只要用心细心一定能更好


想问一下,on error你是每个函数都写么?我都是觉得心里没谱的才写,后者后期发现bug的才写。

#18


后者-》或者

笔误了

#19


友情提醒楼主: 


愚以为:

---一个走上程序道路的人,也想走的更远、更好的人!

应该避免在CSDN上发问题点数为0的求助帖

#20


vb版还是这样亲切 工作了一个月了,程序总是有bug,信心大受打击!

#21


呵呵,貌似这个是我的第一个帖,是想有分来着!

#22


呵呵,貌似这个是我的第一个帖,是想有分来着!
引用 19 楼 slowgrace 的回复:
友情提醒楼主: 


愚以为: 

---一个走上程序道路的人,也想走的更远、更好的人! 

应该避免在CSDN上发问题点数为0的求助帖

#23


现在我好像有分了,希望前辈门多多说说,让我们这些后来人少走些弯路!

#24


代码的bug可能源于几个方面

1.你认为绝对正确的地方.可以在调试期,使用debug.assert进行断言.
2.写了if,select case,for等语句,没有考虑全部情况.比如写if,你就该写else该怎么办,select case就该考虑case else做什么,for循环内部改变了for循环条件,这个是可能会导致难以发现的错误.
3.控件特性,有时控件特性之间是相互影响的,这个是难以发现的,一般要看下示例或帮助.
4.设置编译器的要求变量声明,是个不错的办法.
等等吧- -,一时想不起来了

#25


LZ认真读读以上星级人物的留言,这都是经验总结呀。我就不想多讲了。Good Luck and Happy coding.

#26


搞掉BUG,继续混!

#27


編程要有追求完美的精神, 但只要盡力而爲, 就不要太在意結果, 
否則神功尚未練成就先成仙了...

經驗就是這樣不斷累累積起來的, 
每一次的失敗, 你就會多了一個成功的媽媽.
一起加油...

#28


有BUG的程序才是正常的程序,因为开发人员绝对不能做测试,自己测试自己的东西肯定测试不出什么问题
我们都是将程序直接交与客户,只要是没什么大问题,随时出现随时调整吧

#29


on error 这个需要根据设计者自己回收错误的处理方法决定

如果是母函数调用子函数的话,如果在子函数中不加on error, 这样的情况error会向上级抛出。只要母函数接收就够了
需要具体问题具体分析,有的时候on error并不是真的bug而是需要捕捉某个结点是否存在什么的。。。

#30


Thank you!
引用 25 楼 VBAdvisor 的回复:
LZ认真读读以上星级人物的留言,这都是经验总结呀。我就不想多讲了。Good Luck and Happy coding.

#31


收藏了,说的真好,这个地方也是我常有错误的地方!
引用 24 楼 AisaC 的回复:
代码的bug可能源于几个方面 

1.你认为绝对正确的地方.可以在调试期,使用debug.assert进行断言. 
2.写了if,select case,for等语句,没有考虑全部情况.比如写if,你就该写else该怎么办,select case就该考虑case else做什么,for循环内部改变了for循环条件,这个是可能会导致难以发现的错误. 
3.控件特性,有时控件特性之间是相互影响的,这个是难以发现的,一般要看下示例或帮助. 
4.设置编译器的要求变量声明,是个不错的办法. 
等…

#32


耐心+细心+努力

#33


刚开始我也这样,有些Bug没碰到过都不知道这里会有Bug,只能慢慢积累了

#34


程序代码一定要规范,使用变量必须声明,每个过程中都要加错误捕获代码,这样可以大幅的减少你的代码Bug,提高程序的健壮性。

#35


很对!!!!

引用 6 楼 tongnaifu 的回复:
让它能跑,然后在考虑判断条件? 
这样很不合理吧,不是说磨刀不误砍柴工嘛,要先做分析,分析业务流程,整个模块怎么操作要在脑袋里有个大概的概念,然后设计建立数据表,然后设计一步步地怎么操作,具体的函数实现细节可以以后填充,先写个大体的流程,放个函数在那里,自己的脑子里首先不能乱套,程序一般就不会乱套。还要多注意极限条件的判断。

#36


引用 9 楼 prcstar 的回复:
...每月总有那么几天不正常(当然可以加入代码加入修正).


用丹碧斯就好

#37


努力使人飞扬,退却让人坠落!

#38


个人认为,经验在其中起了很大作用.

我住到这个屋子时,由于不习惯这非常陡的*,曾摔了一次,那个爽~~~~ 工作了一个月了,程序总是有bug,信心大受打击!

从那以后就非常注意下*了.

你也一样,现在上面各位的发言都是经验,都是摔过后才能自己切身体会的.

现在你就是要多摔,不要怕摔,再找到摔的原因(这点非常重要),快速积累经验.(当然,不是说要故意去摔,而是遇到了就要弄个明白,以防以后再摔)

PS:

我不想再摔了,很痛啊~~~~~ 工作了一个月了,程序总是有bug,信心大受打击!

#39


写代码之前一定要冷静地想一想算法,不要着急,这是我这次复试的总结

#40


正常的 坚持就是胜利 我们还有错误呢!!

#41


try
{
    ............
}

catch(CException *e)
{  
   e->ReportError();
   delete e;
}

#42


我的BUG倒不多,因为我步步为营;可是烦恼的是,开发得太慢……

#43


另外,谢谢clear_zero

#44


做程序员   就是累呀    慢慢熬吧    放松心情

#45


努力学习,天天向上~~~

#46


up

#47


细心 努力 总结

#48


学习了!!!

#49


那是难免的啦

#50


没有bug的程序不是程序

#1


努力学习咯...

#2


调试也是一门技术,一切都会好起来的..

#3


出现bug不要紧,关键是怎么以后避免出现相同的bug。

#4


如果是vb6,加上option explicit,减少出现语法bug,逻辑bug就是多学习业务知识了,首先要了解熟悉你要做的程序的业务流程

#5


是啊,做程序太需要注重细节了,这方面我需要加强,我的找找作程序减少bug的习惯。是不是我方法上存在问题,我现在做程序是让它能跑,然后在考虑判断条件!不知道那种方法写程序可以减少bug,大家都有什么好方法,好习惯啊!!小弟拜谢!
                                                 


                                                         ---一个走上程序道路的人,也想走的更远、更好的人!

#6


让它能跑,然后在考虑判断条件?
这样很不合理吧,不是说磨刀不误砍柴工嘛,要先做分析,分析业务流程,整个模块怎么操作要在脑袋里有个大概的概念,然后设计建立数据表,然后设计一步步地怎么操作,具体的函数实现细节可以以后填充,先写个大体的流程,放个函数在那里,自己的脑子里首先不能乱套,程序一般就不会乱套。还要多注意极限条件的判断。

#7


没BUG才怪呢,BUG是地球上种类最多的“生物”,不过VB因为是应用层的,底层在内存、安全方面不会有太大的问题,应用层面的BUG解决起来相对用一些,之前学过C或C++么?学过的话会感觉VB程序的BUG都不能称之为BUG……

#8


刚开始作项目有BUG是很正常的. 
再多的BUG也要坚持一个一个去解决.
高手都是从BUG堆里成长起来的新手.

#9


有时BUG不仅仅是你自己造成的,VB自己也有BUG.举个小例子,你如果使用了VB的dtpicker这个日期控件,设置为不显示日历的情况下,在每月的28号之后你就无法选择2月,呵呵,除了2月,每月总有那么几天不正常(当然可以加入代码加入修正).

#10


谢谢各位大哥的教导!不知道有没有大姐!让我受益匪浅,特别感谢 tongnaifu 的方法,我以后会多多尝试的!

#11


引用 9 楼 prcstar 的回复:
有时BUG不仅仅是你自己造成的,VB自己也有BUG.举个小例子,你如果使用了VB的dtpicker这个日期控件,设置为不显示日历的情况下,在每月的28号之后你就无法选择2月,呵呵,除了2月,每月总有那么几天不正常(当然可以加入代码加入修正).

这个还没用过,呵呵!

#12



养成良好的思维方式和工作习惯。

1 动手之前先想,需求究竟是什么,大概有多少种方案,各有哪些利弊,哪个方案你最熟悉。确定你的大致做法,但不要深入到实现细节。
2 写代码之前要“胸有成竹”。虽然不一定要画流程图,但心里要有一个完整的框架。这就和下盲棋一样。有些东西一定要先想好,例如,你需要几个窗体,需要那些模块,他们之间的关系如何。你的具体功能在哪些模块中实现,怎样分割和联系。
3 代码要规范。常量、变量命令要规则,符合惯例;代码要有规整的缩进;所有的常量、变量都在开始处声明……总之,是你的代码易读。

#13


慢慢来,急不得,多想多练加坚持一定会更好!

#14


bug不要紧关键是积累经验

软件开发的过程是先想后动手的过程,要分析好业务流程。

bug也分级别,写程序的时候要小心,比如说你的message或者label拼写错误这就是不应该出现的错误;逻辑上的bug可以慢慢改进
另外bug不要紧,但是程序中要写处理,比如on error 。。。这就是必须的。在回收的时候写到log文件中以便维护

才1个月而已,不用着急,只要用心细心一定能更好

#15


bug不要紧关键是积累经验 ,这个是必须的.

#16


努力学习,我也是个新手。刚开始是这样的,树立自己的信息

#17


引用 14 楼 clear_zero 的回复:
bug不要紧关键是积累经验 

软件开发的过程是先想后动手的过程,要分析好业务流程。 

bug也分级别,写程序的时候要小心,比如说你的message或者label拼写错误这就是不应该出现的错误;逻辑上的bug可以慢慢改进 
另外bug不要紧,但是程序中要写处理,比如on error 。。。这就是必须的。在回收的时候写到log文件中以便维护 

才1个月而已,不用着急,只要用心细心一定能更好


想问一下,on error你是每个函数都写么?我都是觉得心里没谱的才写,后者后期发现bug的才写。

#18


后者-》或者

笔误了

#19


友情提醒楼主: 


愚以为:

---一个走上程序道路的人,也想走的更远、更好的人!

应该避免在CSDN上发问题点数为0的求助帖

#20


vb版还是这样亲切 工作了一个月了,程序总是有bug,信心大受打击!

#21


呵呵,貌似这个是我的第一个帖,是想有分来着!

#22


呵呵,貌似这个是我的第一个帖,是想有分来着!
引用 19 楼 slowgrace 的回复:
友情提醒楼主: 


愚以为: 

---一个走上程序道路的人,也想走的更远、更好的人! 

应该避免在CSDN上发问题点数为0的求助帖

#23


现在我好像有分了,希望前辈门多多说说,让我们这些后来人少走些弯路!

#24


代码的bug可能源于几个方面

1.你认为绝对正确的地方.可以在调试期,使用debug.assert进行断言.
2.写了if,select case,for等语句,没有考虑全部情况.比如写if,你就该写else该怎么办,select case就该考虑case else做什么,for循环内部改变了for循环条件,这个是可能会导致难以发现的错误.
3.控件特性,有时控件特性之间是相互影响的,这个是难以发现的,一般要看下示例或帮助.
4.设置编译器的要求变量声明,是个不错的办法.
等等吧- -,一时想不起来了

#25


LZ认真读读以上星级人物的留言,这都是经验总结呀。我就不想多讲了。Good Luck and Happy coding.

#26


搞掉BUG,继续混!

#27


編程要有追求完美的精神, 但只要盡力而爲, 就不要太在意結果, 
否則神功尚未練成就先成仙了...

經驗就是這樣不斷累累積起來的, 
每一次的失敗, 你就會多了一個成功的媽媽.
一起加油...

#28


有BUG的程序才是正常的程序,因为开发人员绝对不能做测试,自己测试自己的东西肯定测试不出什么问题
我们都是将程序直接交与客户,只要是没什么大问题,随时出现随时调整吧

#29


on error 这个需要根据设计者自己回收错误的处理方法决定

如果是母函数调用子函数的话,如果在子函数中不加on error, 这样的情况error会向上级抛出。只要母函数接收就够了
需要具体问题具体分析,有的时候on error并不是真的bug而是需要捕捉某个结点是否存在什么的。。。

#30


Thank you!
引用 25 楼 VBAdvisor 的回复:
LZ认真读读以上星级人物的留言,这都是经验总结呀。我就不想多讲了。Good Luck and Happy coding.

#31


收藏了,说的真好,这个地方也是我常有错误的地方!
引用 24 楼 AisaC 的回复:
代码的bug可能源于几个方面 

1.你认为绝对正确的地方.可以在调试期,使用debug.assert进行断言. 
2.写了if,select case,for等语句,没有考虑全部情况.比如写if,你就该写else该怎么办,select case就该考虑case else做什么,for循环内部改变了for循环条件,这个是可能会导致难以发现的错误. 
3.控件特性,有时控件特性之间是相互影响的,这个是难以发现的,一般要看下示例或帮助. 
4.设置编译器的要求变量声明,是个不错的办法. 
等…

#32


耐心+细心+努力

#33


刚开始我也这样,有些Bug没碰到过都不知道这里会有Bug,只能慢慢积累了

#34


程序代码一定要规范,使用变量必须声明,每个过程中都要加错误捕获代码,这样可以大幅的减少你的代码Bug,提高程序的健壮性。

#35


很对!!!!

引用 6 楼 tongnaifu 的回复:
让它能跑,然后在考虑判断条件? 
这样很不合理吧,不是说磨刀不误砍柴工嘛,要先做分析,分析业务流程,整个模块怎么操作要在脑袋里有个大概的概念,然后设计建立数据表,然后设计一步步地怎么操作,具体的函数实现细节可以以后填充,先写个大体的流程,放个函数在那里,自己的脑子里首先不能乱套,程序一般就不会乱套。还要多注意极限条件的判断。

#36


引用 9 楼 prcstar 的回复:
...每月总有那么几天不正常(当然可以加入代码加入修正).


用丹碧斯就好

#37


努力使人飞扬,退却让人坠落!

#38


个人认为,经验在其中起了很大作用.

我住到这个屋子时,由于不习惯这非常陡的*,曾摔了一次,那个爽~~~~ 工作了一个月了,程序总是有bug,信心大受打击!

从那以后就非常注意下*了.

你也一样,现在上面各位的发言都是经验,都是摔过后才能自己切身体会的.

现在你就是要多摔,不要怕摔,再找到摔的原因(这点非常重要),快速积累经验.(当然,不是说要故意去摔,而是遇到了就要弄个明白,以防以后再摔)

PS:

我不想再摔了,很痛啊~~~~~ 工作了一个月了,程序总是有bug,信心大受打击!

#39


写代码之前一定要冷静地想一想算法,不要着急,这是我这次复试的总结

#40


正常的 坚持就是胜利 我们还有错误呢!!

#41


try
{
    ............
}

catch(CException *e)
{  
   e->ReportError();
   delete e;
}

#42


我的BUG倒不多,因为我步步为营;可是烦恼的是,开发得太慢……

#43


另外,谢谢clear_zero

#44


做程序员   就是累呀    慢慢熬吧    放松心情

#45


努力学习,天天向上~~~

#46


up

#47


细心 努力 总结

#48


学习了!!!

#49


那是难免的啦

#50


没有bug的程序不是程序