在学习python的第四天,我参照示例做了几版演练,由于没有完全按照示例去做,换了自己的表格数据,结果发现每次调试结果都是数据不全,仅仅只有2行数据。
反复检查了几遍代码,没有发现什么问题,这更让我开始怀疑,难道代码哪里有问题么。
带着疑问,第五天也就是今天,我又把之前的代码重新检查了一遍,没看出问题;又重新敲了一遍,文件还是换了自己的,结果还是只有2行数据,正确的至少几万行。
这个问题困惑我很久,又花了一两个小时检查代码,也上网搜索了下,没有找到原因,最后我换了一个思路,是不是我的表格数据有问题呢,这是我之前从未想过的问题。
顺着这个思路,我打开了表格重新看了下,乍一看数据源没有动过,没啥问题呢,但是我又顺着往下查了查,结果发现,这中间有空行的数据,而且又顺着往下查,发现空行的数据不止一条,粗略算去有几百条。那么问题就清晰了,代码本身没什么问题,但是提供的数据源不知道什么时候变了,不再是我以为的原原本本的数据源,这也导致程序运算的时候,遇到空行就自动停止计算了。
这个bug超乎我的预料,通常代码bug都在代码上,这几天学习也犯了好多错误,比如False写成小写,True写成Ture,或者调用的App函数写成了APP,很多报错是一点疏忽导致,一个字母的顺序错了,或者大小写错了,最常犯的错误是把data写成了date。
写代码让我进一步认识了自己,那就是有粗心大意的现象,是编译时不够仔细还是对于语言掌握不够深入呢,可能也是一种个人习惯,不求甚解,不够追求完美,但是程序代码这个东西,虽然会有一定的容错性,但是在代码上差一个字母就是差之千里。
好的书写习惯,可以减少很多不必要的麻烦,写的过程中应该经常检查,而不是等着写完了再去让系统校验,然后自己又不得不反复改bug,很多时候bug不正是自己一手造成的么。
而检验的流程是什么呢,要前后对应,从头到尾要有一个检查的顺序,不要放过每一个可能出错的细节。
网友评论