翻譯|行業資訊|編輯:胡濤|2023-10-19 11:50:01.820|閱讀 79 次
概述:本文將向您介紹如何解決積壓的靜態分析警告和技術負債,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
將靜態分析工具集成到開發團隊的日常工作流程中后,下一階段的工作是減少項目中積壓的警告和技術債務。
如果產品正在維護或開發中,則可能有大量積壓工作需要處理。對于綠地項目,積壓的情況較少。然而,每個成熟階段的建議都是相同的。
處理積壓的警告的最佳起點是根據期望的結果確定優先級并過濾結果。以安全為例,根據安全警告對積壓的工作進行優先級排序是有意義的,并按重要性進行排名。
這是首次將靜態分析引入項目時使用的方法的延續,但現在的重點是團隊要分析的下一組易于理解的警告。Parasoft C/C++test 通過多種方式處理此問題,我們將在下面介紹。
技術債務是在軟件開發過程中因延誤重要工作或走捷徑而產生的成本。這種形式的債務與金融債務一樣,會隨著時間的推移而產生利息,如果不解決,解決起來可能會變得昂貴。
技術債務的例子包括:
不幸的是,技術債務是一個常見問題,因為軟件開發團隊通常優先考慮快速交付功能而不是創建強大的代碼庫。
出于多種原因,解決技術債務至關重要。它可以:
解決技術債務對于構建能夠適應不斷變化的業務和客戶需求的可持續且可維護的軟件產品至關重要。
談到技術債務,有兩大類。
當團隊有意識地走捷徑以滿足最后期限或實現特定目標時,就會產生故意的技術債務。這種類型的技術債務通常是由于商業考慮(例如市場壓力)而產生的,并且被視為一種不可避免的罪惡。缺點是它可能會導致后續額外的工作,例如重構,這可能成本高昂。
另一方面,當團隊沒有意識到他們在開發過程中做出的決策的影響時,就會產生無意的技術債務。發生這種情況的原因可能是缺乏對特定領域的理解或專業知識、缺乏資源或時間,或者僅僅是由于缺乏紀律或嚴格性。
這種類型的技術債務通常更加隱蔽,因為它可能難以檢測和診斷,并且可能會導致不可預見的后果。無論技術債務的類型如何,重要的是要了解其存在并采取措施對其進行有效管理,以確保軟件項目的長期健康和成功。
如果不加以解決,無意的技術債務會隨著時間的推移而積累,最終導致軟件的維護和發展變得困難。無意的技術債務的一些例子包括:
有意承擔技術債務的前提是需要在未來某個時候償還。故意技術債務的一些例子包括:
技術債務的最佳實踐是采取積極主動的方法來管理軟件開發人員的代碼質量,從而能夠降低積累過多技術債務的,并通過優先考慮高質量來確保他們的軟件長期保持健康和可持續發展代碼和設計實踐并定期償還技術債務。這意味著對代碼質量、測試和文檔進行投資,并確保軟件隨著時間的推移保持可維護、可擴展和安全。
靜態分析是一種檢查源代碼質量和合規性問題的自動化方法。它對于識別安全問題、安全漏洞和可靠性問題或代碼將來可能更難以維護或擴展的領域非常有用。
通過盡早發現技術債務,團隊可以在問題變成更大問題之前采取措施解決它。這有助于提高代碼質量、減少開發時間、降低勞動力成本、提升軟件產品的整體價值。
用于高級分析的儀表板
Parasoft 的集中式報告和分析儀表板使開發人員和管理人員能夠從不同的角度查看項目的當前狀態,并在需要時進一步導航到更多細節,以建立一組警告以供進一步調查。請考慮以下儀表板,顯示項目當前是否符合 CERT C 安全編碼標準。
使用此 Web 門戶,用戶可以根據需要更深入地進行分析,深入到文件和代碼級別,并完全在 Web 門戶或 IDE 中調查警告。在此階段,可以對警告進行優先級排序、分配給開發人員、抑制或標記為誤報。請參閱 Parasoft 資源管理器中的以下示例。
管理違反編碼標準的行為
在大多數情況下,當分析源代碼以確保編碼標準合規性時,違規行為會被報告為靜態分析警告。在大型項目中,最初會有很多警告。快速有效地管理它們至關重要。Parasoft 的違規瀏覽器是導航、評估、優先排序和分配報告錯誤以進行修復的關鍵工具。
如果靜態分析規則違規被證明是有效但合理的、被認為是無害的或不適用的,則開發人員可以抑制錯誤并記錄偏差。這些偏差通過項目的每個級別報告到儀表板和合規性文檔。
為了使現有項目能夠遵守編碼標準,團隊首先關注被視為強制性的規則至關重要。合規性通常是基于滿足強制性要求以及違反建議規則(如果有適當記錄)。標準允許規則重新分類(如果它們是非強制性的),允許違規(如果合理且有記錄)。如果沒有這一點,試圖糾正每一個違規行為就變得不可行。
Parasoft 的報告和分析利用人工智能 (AI) 和機器學習 (ML),從與代碼庫的歷史交互和先前的靜態分析結果中學習,以預測相關性并確定新發現的優先級。
開發經理和領導者還可以通過可導航的界面來探索違規行為并在需要時自動生成認證證據報告,從而節省額外的工作時間。MISRA C 偏差報告的示例如下所示。
管理積壓的錯誤和安全警告
對于采用靜態分析的團隊來說,重要的是要了解沒有必要修復或分析所有警告。所有警告的創建方式并不相同,因此嚴重性級別是表明應投入多少精力來調查和修復警告的最佳指標。在深入研究積壓的警告時,團隊每次都會有效地把“底線”移得更遠。
Parasoft Jtest和C/C++test使用戶能夠使用配置在 IDE 中確定警告的優先級和過濾警告。例如,他們可以使用嚴重性級別和類別來創建一組適合分析的警告。新用戶配置的示例如下所示。
此配置可用于過濾 IDE 中的警告。
逐步移動“底線”來處理下一個最高優先級和類別是處理大量積壓警告的最佳方法。最終,軟件團隊由于時間和預算而達到了一個截止點。但他們應該感到放心,盡管仍有積壓的警告,但他們在質量和安全性方面取得了重大改進。
防止技術債務需要采取積極主動的方法,涉及整個軟件開發團隊。以下是一些有助于防止技術債務的最佳實踐。
通過遵循這些最佳實踐,軟件開發團隊可以幫助防止技術債務,并確保他們構建安全、可靠、可維護的軟件產品。
在大型項目中,最初會有很多警告。快速有效地管理它們至關重要。對于采用靜態分析的團隊來說,重要的是要了解修復或分析所有警告是不必要的。相反,請確保選擇一個工具,使您能夠導航、評估、確定優先級并分配報告的錯誤以進行修復。逐步移動“底線”來處理下一個最高優先級和類別是處理大量積壓警告的最佳方法。
了解更多有關Parasoft產品咨詢,歡迎咨詢
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn