日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

读书笔记软件调试之道 :从大局看调试-零容忍策略

發布時間:2023/12/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读书笔记软件调试之道 :从大局看调试-零容忍策略 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:本文檔的內容主要來源于書籍《軟件調試修煉之道》作者Paul Butcher,屬于讀書筆記。歡迎轉載!

--------------------------------------------------------------------------------------------

缺陷優先

如何使缺陷修復與軟件開發相結合?

如何估計缺陷修復花費的時間?

如何確保項目不會陷入《人月神話》中所描述的無數缺陷修復的焦油坑中呢?

  • 缺陷優先
    • 要采用早起缺陷修復原則,并且基于以下兩個原則
  • ? ?測試、代碼審查、讓用戶使用軟件要貫穿于整個開發過程中
  • ? ?缺陷修復要由于其它任何事情
    • 早期缺陷修復可以大大降低軟件運行的不可靠性,并估計修復上所需要的大概時間以調整你的測試計劃,后期修復只會積累技術債務,也不知道何時能修復他們并結束項目。
    • 質量低下具有傳染性,因此要沒有破窗,軟件開發與維護,是一個持續與熵抗爭的過程

    ? ? 2.調試的思維

    • 調試首先是一種心理活動,要保持健康的調試心態。天真的說,“沒有破窗”可以被理解為只有絕對完美的情況下才能實現。任何參加過軟件開發的人都知道,缺陷不可避免,無論多么努力,總會有遺漏,如何解決這個問題?
    • 最有效的思維模式是務實的零容忍策略,非常接近于零,但是用務實的心態去實現,雖然我們遠遠做不到完美,但是可以用正確的方式無限的接近它。
    • 采取無破窗策略時,要分清是缺陷還是特性,缺陷是無意識行為,其它都是特性,對于客戶來說二者可能一樣,但是軟件開發人員要分清,并且要明白特性就是軟件按照設計運行的,問題沒有缺陷那么嚴重。

    ? ?3.自己解決質量問題

    • 沒有快速修復缺陷的靈丹妙藥,唯一可靠的方法就是修復所有缺陷。 停止開發有缺陷的程序,構建實驗,觀察結果
    • 把不干凈的代碼從干凈的代碼中分離出來,如果沒有足夠的時間修復它,那么就先阻斷它,這種方法的一個變化形式是采用“沙箱模型”來解決問題模塊。
    • 錯誤分類,定期更新缺陷數據庫,并保證新創建項目具有合理的優先級。
    • 缺陷閃電戰,即在一天、一周或者一個時期內,除了修復缺陷不做其它任何工作,但是要謹慎使用,持續時間一長,很容易讓人疲憊,并累垮每一個人。
    • 專項小組,是閃電缺陷戰的變形,讓一個小組在有限的時間內聚集在一起解決特殊的質量問題。

    ? ? 4.修復已經發布的軟件時,要集中精力減少風險

    • 一個真正的修復可能涉及大范圍的軟件重構,深層次的軟件體系變化,在缺少發布過程的正常檢驗和各環節平衡的前提下,很難確定其帶來的連鎖反應,最終使事情變得更糟而不是更好。因此實施一個補丁時,治標不治本可能是一個更好的選擇。
    • 不要以為修復程序試一次修改就疏忽大意,要注意與這樣的修復產生關聯的潛在問題,因此要盡可能多的檢查。
    • 在開發版經歷完整的發布周期時,要得到一個完整的、解決根本的修復。

    ? ? 5.向后兼容

    • 確定代碼本身的修復不會引起兼容性問題,回歸測試可以查明向后兼容性問題
    • 解決兼容性問題,如果確認導致兼容性問題,那么需要按照下面的選擇
  • 提供遷移辦法
  • 實現一個兼容模式
  • 提供預警
  • 不修復缺陷
  • 6.海森堡缺陷

    • 如果在調試器下運行軟件,嘗試將插樁直接加到源碼中。
    • 海森堡缺陷依賴于某些不確定性因素,這本身就是一條線索,把你的任務變為尋找某種方法來收集你所需要的信息,這種方法對軟件影響極小,保證不會改變它的行為
    • 修復該缺陷的唯一辦法就是比平時更仔細些,確保你真正了解潛藏的根本原因。
    • 在未了解問題本質前,不要假設你已經修復它了。比如缺陷是由一個未出生的變量引起的,那么要弄明白未出生的變量如何引起你觀察到的行為?將其初始化為壞值,你能看到預期的結果嗎? 性能缺陷 尋找瓶頸,是哪個特定區域的代碼限制了整體性能 準確性能分析

    7.嵌入式軟件

    • 調試嵌入式軟件是非常棘手的,不是它錯綜復雜,而是它所在的運行環境。
    • 利用嵌入式調試工具,可以通過網絡電纜進行遠程調試,或者通過JTAG,SW在線調試,其中挑戰之一是軟硬件并行發展,通常修復一個硬件問題比解決軟件問題更難。
    • 提取信息的痛苦過程,一個LCD、LED、串口等手段當做通信通道往往就夠了,雖然并不方便,但是它是可能的。
    • 利用邏輯分析儀作為軟件的調試工具,解決時序錯誤!

    ? ? ?8.?第三方軟件的錯誤

    • 不要太快去指責,第三方也只是代碼,也會包含缺陷,首先要懷疑自己的代碼。
    • 如果確信第三方代碼存在缺陷,那么出了提交錯誤報告并等待解決,別無它法,最好是短期內擱置問題。
    • 開源代碼,很多開源項目只獲得了有限的關注,因此其開源不意味著調試的結束。
    • 開源社區的一個偉大之處是,為我們提高了高質量、免費的軟件,往往高質量的技術支持也是免費的。因此要學會有效的尋求幫助。

    總結

    以上是生活随笔為你收集整理的读书笔记软件调试之道 :从大局看调试-零容忍策略的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。