你的程序爲什麼那麼多bug?

 許多程序員有個共同的毛病,就是不承認自己寫的代碼有bug,而且看別人的代碼,感覺全都是垃圾。呵呵,不能怪,自古就有文人相輕這一說,所以言至今日,這些靠寫代碼來養家餬口也沒有改掉這個毛病。這個毛病不改,如果還想在繼續在這行當裏往混,並且還想混好,恐怕沒有那麼容易。
    我寫的程序怎麼會有bug呢?是的,你開始是滿臉的詫異,不相信,像個剛娶進門的媳婦因爲不懂規矩受到婆婆的責罵,有滿肚子的委屈。可當測試人員(作爲開發人員的你不知有多討厭他們)拿着測試報告給你看的時候,你的臉是不是一陣紅一陣白呢?
   我們一起來看看你寫的代碼到底錯在哪了吧:
   1.最常見的錯誤,null,你統計一下,你在用一個對象的時候,是否判定他是不是空引。可以說,這是大多數程序員犯的錯,你以爲給對象賦值了,可以你想過:對象否賦值成功了麼?是否每一條路徑都覆蓋到了呢?如果你能在你的程序當中避免空指針,我可以說,你已經不是普通的程序員了。
  2.無效的列名或表名,或者無效的對象或引用。我告訴你,出現這類型的錯誤,是程序員根本沒UT過代碼,並且很可能這段代碼是從其他地方copy過來的。如果你已習慣不管什麼都實行拿來主義,那麼,你幹十年,二十年和幹一二年沒有什麼區別。因爲你就是一個複印機,不是一個製造機。如果原稿錯了,復印出來的東西肯定是錯的。何況,別人的代碼有它的使用場景,怎麼可以照抄過來呢?即使能拿過來,爲什麼你要把相同的東西寫兩遍呢,爲什麼不重構呢?如果想進步的話,還是少copy別人的東西吧,多動動腦。當然,有可能的別一種情況可能你的表更新了,但你對應的代碼沒有更新也有可能出現這種情況,總之,你不夠仔細。
  3.配置錯誤,很多情況下程序在開發環境下正常,但一旦正式環境就出問題,主要原因配置問題。這方面的bug可能佔到你程序bug的三分之一。
  4.系統一旦龐大起來,複雜起來,你的條件判定語句就是缺這或者缺那。這類問題的原因,主要是邏輯考慮不周,總以爲自己考慮到了,但別人一提醒,感覺還有沒考慮的地方。要解決這類問題,主要靠熟悉業務,程序員脫離了業務,寫出來的東西只是理想的空中樓閣而已。

   如果做一個程序員能把上面幾個小問題完全解決,他真不是一個簡單的程序員!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章