歡迎來到培訓(xùn)無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > 嵌入式開發(fā) >  嵌入式軟件學(xué)習(xí)中常見的3種錯誤如何處理?

嵌入式軟件學(xué)習(xí)中常見的3種錯誤如何處理?

來源:培訓(xùn)無憂網(wǎng) 發(fā)布人:星星

2022-01-27 14:10:43|已瀏覽:2935次

嵌入式軟件常見的3種錯誤如何處理

       很容易假設(shè)一個系統(tǒng)在現(xiàn)場表現(xiàn)得和在工程臺上一樣完美。在開發(fā)過程中,嵌入式軟件是在最好的條件下編寫的。嵌入式開發(fā)人員知道,或者至少有他們自己的系統(tǒng)應(yīng)該如何工作的概念。事情通常運行得相當(dāng)順利,但隨著成千上萬的設(shè)備開始進(jìn)入用戶手中,意外發(fā)生和錯誤發(fā)生的可能性在統(tǒng)計上變得很可能。在今天的文章中,讓我們探討開發(fā)人員編寫可以處理意外錯誤的軟件所需的策略。

       策略 #1 – 不斷考慮可能出現(xiàn)的問題
       開發(fā)人員需要部署以處理錯誤的第一個策略是在編寫每一行代碼時積極質(zhì)疑可能出現(xiàn)的問題。例如,當(dāng)我為如下函數(shù)編寫實現(xiàn)時:

void Dio_WriteChannel( DioChannel_t Channel, bool state )

    {

        // Additional code goes here
    }
       我問自己幾個問題:如果 Channel 參數(shù)超出范圍會發(fā)生什么?該函數(shù)應(yīng)該返回錯誤代碼還是成功標(biāo)志?如何驗證所需的通道狀態(tài)是否已更改?如果狀態(tài)試圖改變但不能改變,我該怎么辦?內(nèi)存是否會損壞,以至于我的bool狀態(tài)變量不是真假? 如果是這樣,我該如何處理?斷言是否足以在開發(fā)時檢查邊界條件,還是應(yīng)該對參數(shù)進(jìn)行實時檢查?
       這是很多問題,或者諸如簡單通用代碼塊之類的問題,我們真的還沒有開始填寫細(xì)節(jié)!但是,如果你希望能夠處理錯誤,則必須不斷地質(zhì)疑代碼以及可能出現(xiàn)的問題。
策略 #2 – 使用 TODO 記錄疑慮和問題
       隨著軟件的開發(fā),有時問題多于目前的答案。在上面的示例中,可能還沒有關(guān)于如何處理返回錯誤的答案。暫時就這樣真的很容易,但是隨著其他問題會出現(xiàn),這個問題就會被遺忘在喧囂中。

       大多數(shù)現(xiàn)代 IDE 都會有自定義標(biāo)簽,可以從代碼中提取這些標(biāo)簽來創(chuàng)建一個列表,例如使用 TODO。這些將顯示為信息性消息。如果有需要處理的錯誤,但我不知道如何處理,我會使用 TODO。如果有一個實現(xiàn),但我想查看它,我可能會使用 TODO,但也可能使用其他一些我可以輕松搜索代碼的關(guān)鍵字。

       需要注意不要讓 TODO 信息消息過載,否則它會變得太嘈雜,但我們也希望確保我們不會丟失我們的問題或問題。是的,可以使用外部跟蹤器,但我發(fā)現(xiàn)將其與代碼一起保存要容易得多,因此代碼審查員和其他嵌入式開發(fā)人員可以輕松地看到它。

策略#3 – 總是抱著“以后會改的態(tài)度”
       現(xiàn)在是修復(fù)、記錄或?qū)嵤╁e誤檢查的最佳時機?偸怯心承﹩栴}正在引起開發(fā)人員的注意,雖然我們總是想返回并添加錯誤處理,但卻總是在拖延!
       一旦某些事情似乎對管理層有用,就該著手處理下一個緊迫問題了。如果它有效,你為什么要在它上面投入更多的時間來減少回報?管理層沒有意識到你沒有包括錯誤檢查或?qū)嵤┲写嬖诰薮蟮穆┒?如果產(chǎn)品需要健壯性,請不要嘗試稍后添加它,或者相信你可以稍后再返回并修復(fù)它。
結(jié)論
       嵌入式開發(fā)人員編寫軟件的方式?jīng)Q定了他們的系統(tǒng)是否能夠從錯誤中優(yōu)雅地恢復(fù),關(guān)鍵是要有正確的開發(fā)態(tài)度,在編寫軟件時考慮可能出現(xiàn)的問題并實施恢復(fù)機制。為了更好地處理錯誤,請?zhí)幚懋?dāng)前可能出現(xiàn)的問題,否則將永遠(yuǎn)無法處理。

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.universityresearchassociates.com/news-id-18579.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注嵌入式開發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機:

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓(xùn)無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!