【求助】计算日期间隔的Python程序bug查找

【求助】计算日期间隔的Python程序bug查找,第1张

首先吧,你这注释习惯不好,大家都是在一段代码开始前写注释,你的却是在一段代码之后注释,读起来费神。

纯粹作为练习来说,如果没有明确要求(一般也不会有这样的要求),一段代码要避免过长,将代码切分为一个个的函数,有助于测试与以后的修改。

这些两条都可以在python之禅中找到。

你的代码,在不跨年时,还是可以正确得到结果的。但关于跨年处理都是有问题的,你可以做一些关于跨整年的测试来确认这一点。关于future状态下跨年,计算是有问题的,past状态下的跨年,问题更明显。

关于1582年格里历界那段,else块里做减10的处理就有些粗糙,两个年份都大于1583,你做减10是为了什么?

同样,1582年前,闰年的计算,要排除整100年的那一部分计算。

建议你不要以这段代码为基础继续修改了,这只会让你养成写铁板的坏习惯(所谓铁板就是指大段的难以修改的代码)。你可参考如下框架来重新实现它:

当年,令狐大侠以其独孤九剑笑傲江湖,不知打败了多少江湖好手。其运作原理就是,无招胜有招,剑锋专指敌方破绽。满手的进攻招式。步步进逼,连防御都省却了。他说:天下武术千变万化,神而明之,存乎一心。不论对方的招式如何精妙,只要是有招,便有破绽

而游戏程序呢,我想也是一样的。虽然程序变化万千,但却不离其宗。无论多么完善的程序,多么敬业的程序开发人员,做过多少遍测试,只要是程序,终究都会有BUG,不要说你找不出破绽或者程序干脆没有破绽一类的话,当年令狐冲学剑的时候曾说:即使我瞧不出破绽,未必便是真无破绽,只是瞧不出罢了.

如何找BUG呢方法就是利用逆向思维和举一反三来寻找BUG的,只要有程序的地方,那就有BUG,只要掌握了正确的方式方法,找出BUG只是时间与机缘的问题。

number2+=number1+number2;

这句,number2 += number1 ,这个其实就已经是number2 = number2 +number1

"+="这个符号的意思你应该知道吧

如例:a=a+1 和 a+=1 是一样的。

当然,如果你想让你上面的等式成立,可以写成

number2+=(number1+number2),

不过这个是number2=number2+(number1+number2)

写程序的话, 不能用眼睛来除错, 一定要学会 "单步除错", 不然碰到大点或复杂的程序, 那还得了

"单步除错" 可以逐步执行程序, 验证程序逻辑, 同时可以随时查看每个变量的内容, 先学会Visual Studio 或 Eclipse 的这个功能吧

int create(struct Record p, int num)

改为

int create(struct Record & p, int num)

加一个引用

以上就是关于【求助】计算日期间隔的Python程序bug查找全部的内容,包括:【求助】计算日期间隔的Python程序bug查找、游戏中怎么找BUG、刚接触java,对某程序源代码有疑问。很简单的问题,希望师哥师姐帮忙解答,寻找此 java 程序的 BUG等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10628714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存