歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!
咨詢熱線 400-001-5729
2022-01-27 14:10:43|已瀏覽:4377次
很容易假設(shè)一個(gè)系統(tǒng)在現(xiàn)場(chǎng)表現(xiàn)得和在工程臺(tái)上一樣完美。在開(kāi)發(fā)過(guò)程中,嵌入式軟件是在最好的條件下編寫(xiě)的。嵌入式開(kāi)發(fā)人員知道,或者至少有他們自己的系統(tǒng)應(yīng)該如何工作的概念。事情通常運(yùn)行得相當(dāng)順利,但隨著成千上萬(wàn)的設(shè)備開(kāi)始進(jìn)入用戶手中,意外發(fā)生和錯(cuò)誤發(fā)生的可能性在統(tǒng)計(jì)上變得很可能。在今天的文章中,讓我們探討開(kāi)發(fā)人員編寫(xiě)可以處理意外錯(cuò)誤的軟件所需的策略。
策略 #1 – 不斷考慮可能出現(xiàn)的問(wèn)題我問(wèn)自己幾個(gè)問(wèn)題:如果 Channel 參數(shù)超出范圍會(huì)發(fā)生什么?該函數(shù)應(yīng)該返回錯(cuò)誤代碼還是成功標(biāo)志?如何驗(yàn)證所需的通道狀態(tài)是否已更改?如果狀態(tài)試圖改變但不能改變,我該怎么辦?內(nèi)存是否會(huì)損壞,以至于我的bool狀態(tài)變量不是真假? 如果是這樣,我該如何處理?斷言是否足以在開(kāi)發(fā)時(shí)檢查邊界條件,還是應(yīng)該對(duì)參數(shù)進(jìn)行實(shí)時(shí)檢查?void Dio_WriteChannel( DioChannel_t Channel, bool state )
{
// Additional code goes here
}
大多數(shù)現(xiàn)代 IDE 都會(huì)有自定義標(biāo)簽,可以從代碼中提取這些標(biāo)簽來(lái)創(chuàng)建一個(gè)列表,例如使用 TODO。這些將顯示為信息性消息。如果有需要處理的錯(cuò)誤,但我不知道如何處理,我會(huì)使用 TODO。如果有一個(gè)實(shí)現(xiàn),但我想查看它,我可能會(huì)使用 TODO,但也可能使用其他一些我可以輕松搜索代碼的關(guān)鍵字。
需要注意不要讓 TODO 信息消息過(guò)載,否則它會(huì)變得太嘈雜,但我們也希望確保我們不會(huì)丟失我們的問(wèn)題或問(wèn)題。是的,可以使用外部跟蹤器,但我發(fā)現(xiàn)將其與代碼一起保存要容易得多,因此代碼審查員和其他嵌入式開(kāi)發(fā)人員可以輕松地看到它。
策略#3 – 總是抱著“以后會(huì)改的態(tài)度”注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.dedgn.cn/news-id-18579.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注嵌入式開(kāi)發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050