程序猿節調試大半天的經歷

今天是程序猿的節日,我從早到晚都在調試,雖然解決問題不涉及複雜的技術,但是整個調試過程值得說一說。

遇到的問題是這樣的:

點擊界面上的item後,彈出了界面,不過,界面上的checkbox消失了,不僅如此,doublespinbox的上下剪頭也消失了;

一開始我懷疑是創建界面的函數出了問題:爲了省事,我採用工廠模式創建界面,試了三次,排除了這個原因;

然後,擔心是不是主界面在堆區創建,導致界面缺損,然後我把類似程序的主界面也放到堆區創建,界面玩好,排除;

擔心不知道什麼原因造成checkbox隱藏,就在界面彈出時顯式調用show()函數,仍然沒有checkbox的影子;

這樣過了大半天,我突然想到,是不是樣式表出了問題,觀察了一下其他的界面,也沒有checkbox控件,然後,就基本上鎖定是樣式表的問題了;

最後發現是類名改變後,樣式表中某些字段沒有隨之改變,導致某些控件看不到了;

一開始,我會擔心是自己的代碼出了問題,然後擔心所有的改動是否造成影響,比如把界面從棧區移到堆區等,直到最後,觀察到所有界面都缺少checkbox後,纔想到樣式表可能出問題;

後續,在查找原因之前,要收集足夠多的信息,否則很容易被頭腦中的想法帶偏。

另外,經驗仍顯不足,頭腦中冒出來的想法大部分都是代碼相關,而忘記了這可能是代碼以外的問題引發。

先蒐集足夠的信息,然後再動手去做,這樣會輕鬆得多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章