提高軟體質量的10點

2021-09-02 23:48:24 字數 1349 閱讀 6958

隨著專案變得越來越大,質量問題出現的可能性就越大。這些質量問題可能是什麼:錯誤太多,執行時間過長,記憶體使用率過高,難以理解/難以修改編碼風格等等。這些質量問題通常會使程式使用者不滿意,開發速度變慢。不幸的是,你永遠無法擺脫所有質量問題,但你可以通過以下幾點來避免大部分質量問題。當然,這些解決方案需要花費很多時間,但是最好及時完成這類工作,而不要浪費與修復bug相同的時間。

在開始開發之前,您需要確保它100%清楚您的程式應該做什麼。當然,在這裡,您需要考慮需求之間的相容性,或者是否可以實現所有要求,是否存在某些硬體限制?

說實話,大多數錯誤來自簡單的誤解:客戶對功能的理解與開發人員不同。

這就是為什麼以清晰的書面形式記錄這些要求並讓客戶閱讀並接受它們的原因。

如果要求明確,仍然不要從編碼開始。首先考慮解決方案,關於如何實施?需要使用哪些演算法?哪部分**可以重用?可以使用哪些庫?不同的元件和類如何相互通訊?等等…

通過這種規劃,您可以在將來找到並避免許多可能的問題。以文字和/或uml圖的形式記錄您的設計。

如果多個開發人員正在處理相同的**,那麼總是有乙個編碼指南,它定義了要使用的編碼風格(函式和變數的命名,括號的使用等),這樣你的**就會有乙個統一的風格 - 可讀。

與其他團隊成員一起進行設計和**審查。他們可以輕鬆找到您的思維方式或**中的錯誤。如果沒有對此進行審核,請不要將任何**合併。

使用靜態**分析工具。這些工具可以分析您的源**而無需執行它。他們可以找到很多可能的問題,比如未初始化的變數,從不滿足的條件,無法訪問的**部分等等。他們也可以檢查編碼風格。

為您的**實現單元測試。乙個好的單元測試可以快速執行並測試**的一小部分(單元)。單元測試有助於確保在每次更改時您沒有破壞已經正在執行的功能,並且它們可以幫助其他程式設計師了解您的**的用途,因為從單元測試中,他們可以看到預期的行為是什麼。

不要忘記對元件或系統進行更高階別的測試。這基本上是乙個黑盒測試,所以你不是基於**,而是根據要求。您可以輕鬆檢查您的元件是否滿足要求。也要經常考慮角落裡的情況。這些測試也可以是手動或自動的。自動化測試的優勢在於您可以隨時執行測試。

使用ci系統(如jenkins)設定持續整合伺服器,讓它在每次新更改的情況下每晚執行構建並檢查**。您還可以整合靜態分析器和自動化測試,以便在每次提交後,如果您的軟體正常工作,您將獲得自動反饋。

在bug跟蹤系統中跟蹤已發現的錯誤(例如:mantis)。對於每個錯誤,請記錄如何重現它們以及它與預期行為的不同之處。如果修復了乙個錯誤,您可以很快記錄修復程式的解決方案,以避免將來出現同樣的錯誤。使用這種方法,您永遠不會忘記任何錯誤。

為了能夠保持軟體的效能,您需要定期測量其執行時間。為此,您可以使用任何分析工具。使用此方法,您還可以發現使用最多執行時的部分。您還需要檢查工具的記憶體使用情況。出於這樣的目的,總是嘗試從計算的角度定義最困難的場景。

提高C 軟體質量的10個建議

有點時間,也來總結總結怎樣提高軟體質量,歡迎交流!1 c 是完全物件導向的語言,在開始編寫 之前,程式設計師要搞清楚自己的軟體需要什麼樣的物件,以及物件的生命週期 也就是說什麼時候建立和銷毀物件 2 net的自動垃圾 機制不是立即 記憶體的,不再使用的物件賦值null,有望加速 3 使用單例模式。單...

Facebook如何提高軟體質量?

劉彪是微軟測試技術團隊的一名軟體設計工程師,他在自己的部落格上分享了facebook如何提高軟體質量的原則 手段和背後的原因。u0026 xd n u0026 xd n 雖然facebook已經早已不是創業公司,但是不難看出它在產品研發和質量控制仍然保持著創業公司的風格。u0026 xd n u00...

Facebook如何提高軟體質量?

劉彪是微軟測試技術團隊的一名軟體設計工程師,他在自己的部落格上分享了facebook如何提高軟體質量的原則 手段和背後的原因。雖然facebook已經早已不是創業公司,但是不難看出它在產品研發和質量控制仍然保持著創業公司的風格。他提到,facebook 以小的研發團隊為核心,遵循幾個非常重要的原則 ...