對于企業(yè)建設(shè)網(wǎng)站來講,沒有什么比試圖維護(hù)和更新質(zhì)量如此之差的代碼更糟糕得了。對于許多開發(fā)團(tuán)隊來說,軟件代碼質(zhì)量并不是必需的。為了提高代碼質(zhì)量,這里有幾個嵌入式開發(fā)人員可以遵循的技巧,并集成到自己的流程中,這將有助于提高他們的代碼質(zhì)量。
分析和維護(hù)軟件復(fù)雜性
已經(jīng)多次證明,最小化軟件復(fù)雜性也可以最小化錯誤率。軟件越復(fù)雜,變化越大,不僅會有軟件bug,而且對系統(tǒng)進(jìn)行維護(hù)也會增加bug。開發(fā)人員應(yīng)該通過使用圈復(fù)雜度來監(jiān)控他們的函數(shù)復(fù)雜度。
定期進(jìn)行代碼評審
代碼審查已經(jīng)被證明是減少軟件錯誤的最有效的方法。將同行評審整合到開發(fā)周期中對于確保軟件質(zhì)量保持高水平是至關(guān)重要的。為了有一個有效的代碼審查過程,嵌入式開發(fā)人員應(yīng)該遵循幾個關(guān)鍵因素:
將代碼審查限制在60個以內(nèi)
每次評論不要超過400個LOC
至少每周安排一次代碼評審(如果您每周生成超過400個LOC,則更多)
遵循編碼標(biāo)準(zhǔn)
對提高代碼質(zhì)量感興趣的開發(fā)人員應(yīng)該從檢查行業(yè)標(biāo)準(zhǔn)開始。開發(fā)人員可以利用許多行業(yè)標(biāo)準(zhǔn)來改進(jìn)他們編寫代碼的方式,包括:
MISRA-C
Cert-C
IEC 12207
IEC 62304
這些標(biāo)準(zhǔn)為開發(fā)高質(zhì)量的軟件建立了框架。任何想提高軟件質(zhì)量的人都應(yīng)該回顧一下已經(jīng)做了什么,并開始實施行業(yè)建議。
靜態(tài)分析
靜態(tài)代碼分析器是發(fā)現(xiàn)嵌入式軟件潛在問題的最快方法之一。靜態(tài)代碼分析器可以發(fā)現(xiàn)語法問題、潛在的小故障,并識別代碼中不可移植的結(jié)構(gòu),靜態(tài)分析器甚至可以檢查是否遵循了編碼標(biāo)準(zhǔn),將靜態(tài)分析器集成到連續(xù)構(gòu)建過程中是提高代碼質(zhì)量和最小化軟件錯誤的一個好方法。
編譯沒有錯誤和警告
許多忽視編譯器警告的團(tuán)隊和開發(fā)人員,有時只有一兩個警告需要開發(fā)人員深入挖掘,或者是微不足道的,所以它們被忽略了,只是掛在那里。如果編譯器不信任代碼并給出警告,那么開發(fā)人員應(yīng)該將其視為編譯器錯誤并解決警告。警告是編譯器表示不喜歡某樣?xùn)|西的方式。老實說,C編譯器喜歡任何東西,所以如果它對某些東西有問題,那么作為嵌入式開發(fā)人員我們也應(yīng)該這樣。代碼質(zhì)量意味著沒有錯誤和警告。
需求必須是可追蹤的
如果一個需求不能以某種方式被測試和驗證,最好是自動化的,那么它就不是一個真正的需求。甚至在開發(fā)開始之前,需求就應(yīng)該被分解成可追蹤的測試用例,這些用例可以在以后被用來驗證所有的需求已經(jīng)被滿足。當(dāng)然,需求會改變,會使用不同的設(shè)計方法,但是需要有一種方法來追蹤軟件特性和功能,追溯到產(chǎn)生它們的需求,并證明它們按預(yù)期工作。
所有代碼都必須經(jīng)過全面測試
品牌網(wǎng)站建設(shè),不少中小型企業(yè)在沒有完全測試軟件的情況下就發(fā)布產(chǎn)品。這些公司傾向于執(zhí)行高水平的抽查,以查看系統(tǒng)是否按照他們期望的方式運(yùn)行,然后將他們送到野外。當(dāng)大多數(shù)讀者得知這些公司的產(chǎn)品在該領(lǐng)域遇到問題時,可能不會感到驚訝。作為嵌入式開發(fā)人員,我們不能僅僅因為我們沒有看到系統(tǒng)行為不當(dāng)就認(rèn)為我們的代碼工作正常。我們的代碼需要全面測試!全面測試意味著:
高水平的測試用例已經(jīng)被驗證
單元測試已經(jīng)執(zhí)行
已執(zhí)行集成測試
代碼覆蓋測試已經(jīng)完成,以驗證每一行代碼都在測試期間執(zhí)行
系統(tǒng)跟蹤分析,以驗證時間、性能和系統(tǒng)行為是正確的,而不僅僅是對用戶來說是正確的。
如果一行代碼在測試期間沒有被執(zhí)行,就沒有辦法知道這一行代碼是否包含有一天當(dāng)用戶使用系統(tǒng)時會出現(xiàn)的錯誤。
結(jié)論
對于網(wǎng)站建設(shè)公司來說,提高代碼質(zhì)量不一定是一項重大的、昂貴的任務(wù)。這些建議很容易實現(xiàn),甚至可以在幾周或幾個月內(nèi)完成。最終結(jié)果將是更高質(zhì)量的軟件,提供更好的用戶體驗,同時降低嵌入式開發(fā)成本。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號新時空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號