如何提高c/c++大型項目的軟件質量微信h5牛牛程序搭建
軟件的交付質量一直是我們軟件開發項目最為關註的核心問題,那麽如何保證軟件項目,尤其是大型和超大型軟件項目的質量,不管在國內還是國外一直是許多軟件企業一直關註和研究的問題。
通常我們會在功能性,可用性,高效性,可測試性,可維護性和可移植性等6個維度來對軟件質量進行把控和評定。
1.功能性,即軟件是否滿足了客戶業務要求;
2.可用性,即衡量用戶使用軟件需要付出多大的努力,簡潔容易操作的軟件,對於客戶來說是非常重要的,就拿國內用戶量最大的微信來說,你會不會覺得它的設計總是那麽的簡潔易用,以至於使用了這麽多年,它的復雜度也沒有增加很多,大道至簡的產品設計和簡單好用往往能吸引更多的用戶;
3.可靠性,即軟件是否能夠一直處在一個穩定的狀態上滿足可用性;可靠性是質量的傳統定義和基本要求。當然對於不同應用場景的軟件有不同的要求,比如,大部分客戶端軟件來說,好用,絕大部分情況下能夠正常運行和處理問題就可以了,但是對於一些行業的軟件,如金融交易軟件,航天和醫療軟件,如果出現問題,那麽產生的代價是巨大的。
4.高效性,即衡量軟件正常運行需要耗費多少物理資源;程序的實際執行和事件處理效率。尤其是對於一些實時性要求較高的應用場景,幾毫秒的差異可能會帶來結果的截然不同。如互聯網金融的高頻交易軟件、策略交易軟件和軍用軟件。
5.可測試性,即能對每個功能模塊做有效的測試,通常,我們的軟件不會只因為通過了測試就變得可靠;到了你能夠測試的時候,軟件已經建立了內在質量。並不是所有的軟件都可以被有效的測試。為了讓軟件可以有效地測試,我們必須在項目的開始的每一個環節都本著高質量的這個目標進行設計。
6.可維護性,即衡量對已經完成的軟件進行調整的可行度;好的軟件必須要有系統的缺陷追蹤和微信h5牛牛程序搭建http://h5.mostsheng.com企鵝1279829431聯系
7.可移植性,即衡量軟件是否能夠方便地部署到不同的運行環境中;任何一個好的系統都應具備向新平臺的可移植性。
提高軟件質量的方法:
1. 質量保證(Quality Assurance,QA),一般是一個軟件公司內部負責“確保”產品質量已達到某種標準的組織。建立軟件測試過程模型,QA所做的測試都是在最終用戶層次上進行的。任何層次的回歸測試都依賴於開發者本身。
2. 質量保障,QA必須成為開發過程中不可獲取的一部分,不能只等著開發人員扔過來一個軟件才開始測試。開發者有責任保障軟件產品的質量。QA要去體現這一點。不管是客戶,還是架構師,開發人員,還是QA測試人員都有全程參與保證項目質量的責任和義務,要保證高質量的軟件產品,系統架構師和軟件開發者在整個軟件開發過程中都必須把質量放在首位。
3. 建立PDCA循環,不光是對於開發人員的要求,也是對QA測試人員的要求。PDCA循環又叫質量環,是中的一個通用模型。是英語單詞Plan、Do、Check和Adjust的第一個字母,PDCA循環就是按照這樣的順序進行軟件質量管理。
4. 避免重復代碼,重構系統中重復的代碼,減少不必要的幹擾。
5. 及時測試已經完成的代碼,建立缺陷跟蹤。
6. 定期對代碼進行審查,做好代碼review。
7. 規範的代碼註釋,註釋的目的是使得其他開發人員能夠明白你所寫的這段代碼是做什麽的?如果你的註釋能做到這點,那麽OK,那麽你的註釋是基本完美的。
8. 代碼邏輯清晰,減少不必要的代碼,寫每一段代碼之前都多思考一下,假設著提出幾種方案,看哪種方案更加簡潔易懂,就使用那種方案,力求能寫出不言自明的代碼。
9. 對多種能達到同一目的的算法,比較分析,找出更加有效和高效的算法。
10. 良好的命名習慣,函數變量名,變量,方法的命名要見詞達意,使得看得人能一眼就看懂。
11. 復雜的類,方法,參數過多的函數應當把它拆分成更小的單元來實現,保證每一個單元的職責單一。
12. 不要在代碼裏面使用純數字,能使用宏定義,經量使用宏。
13. 多層嵌套的代碼,分開來處理,不要嵌套過深。
14. 局部變量保證其用途單一。
15. 提倡使用代碼生成工具,尤其在大型系統開發中,使用自動化工具的好處是顯而易見的
如何提高c/c++大型項目的軟件質量微信h5牛牛程序搭建