原創(chuàng)|行業(yè)資訊|編輯:鄭恭琳|2020-06-05 11:29:23.850|閱讀 278 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
為諸如自動駕駛之類的復雜功能編寫代碼需要龐大的有才能的團隊,這些團隊通常對如何確保高質(zhì)量的代碼有自己的看法。但是,要構建一個有效的軟件開發(fā)流程并非易事,該流程包括諸如靜態(tài)分析和編碼標準合規(guī)性之類的質(zhì)量計劃,以使自動駕駛汽車獲得成功的認證。
自動駕駛是一個非常有競爭性的空間,而開發(fā)人員的速度則是口頭禪。誰先將經(jīng)過認證的產(chǎn)品推向市場,將比競爭對手更具優(yōu)勢,因此,開發(fā)人員很容易將靜態(tài)分析和其他質(zhì)量措施視為障礙。尤其是因為自動駕駛領域渴望人才,因此即使他們沒有安全背景,組織也在雇用精明的開發(fā)人員。但是,來自無功能安全文化背景的開發(fā)人員并不了解安全關鍵軟件開發(fā)所需的所有質(zhì)量流程。這可能使文化認同成為一個挑戰(zhàn)。
有時感覺要建立內(nèi)部共識,以質(zhì)量為導向的實踐需要心理學碩士學位或受過培訓的談判員的技能……在過去的項目中,我負責引入靜態(tài)分析和AUTOSAR C++ 14編碼標準合規(guī)性,以實現(xiàn)可持續(xù)發(fā)展。自動駕駛軟件非常創(chuàng)新,并且使用現(xiàn)代C++開發(fā)了用于自動駕駛軟件的軟件組件。考慮到這一點,AUTOSAR C++ 14編碼標準是自動駕駛軟件最合適的標準,因為它支持現(xiàn)代C++,并且是為面向安全性開發(fā)而創(chuàng)建的。
為了說服不信服的人,我作了多次演講,討論了多個不同方面。但是,即使進行了所有這些討論和協(xié)議,一些開發(fā)人員仍然拒絕分析他們創(chuàng)建的所有代碼。以下是我重點關注的一些要點,以確保正確的流程到位:
自動駕駛技術還處于早期階段。創(chuàng)建的許多源代碼僅僅是測試新想法的原型。一些開發(fā)人員不想“浪費”時間使其符合編碼標準,而只是想快速編寫并進行測試。我聽到的一個典型故事是:“我只想測試這個新算法,如果它可以工作,我將重寫代碼以使其變得干凈。”這聽起來很無辜,但事實是,這只是在增加技術債務。
當我們從一個原型過渡到另一個原型時,通常會帶走很多代碼,從統(tǒng)計上講,它可能占代碼的80%。因此,我們無法使用錯誤的代碼來制作原型,然后再進行修復,因為從一開始,我們就知道我們沒有時間這樣做。因此,即使某樣東西是原型,該代碼也必須合規(guī),因為最終產(chǎn)品將包含大量最初作為原型創(chuàng)建的代碼。
如果不是現(xiàn)在就專注于現(xiàn)在而不是稍后再做,而是可以現(xiàn)在就專注于避免最終花費未知的時間,則開發(fā)人員開始將其視為增強流程而不是放慢進度。如果您可以在不降低速度或創(chuàng)造力的情況下有效地使流程適應開發(fā)人員的工作流程,則使用起來會變得更加容易。最后,保持物品整潔干凈比最后清理一團糟容易得多。建立一致,可維護的做法來編寫兼容的代碼,將有助于您日后發(fā)現(xiàn)更多麻煩。
但是,即使您能夠盡早成功地引入編碼標準合規(guī)性流程,也不可避免地已經(jīng)有一些(大量)代碼已經(jīng)由團隊創(chuàng)建,并且已經(jīng)被繼承。當您選擇靜態(tài)分析工具(Parasoft C/C++test)并選擇標準(AUTOSAR)時,同時,該團隊正在創(chuàng)建大量沒有任何合規(guī)性政策的代碼!因此,還必須為舊代碼創(chuàng)建策略。兩項重要的政策是:
通過這些策略,您可以處理舊代碼,引入新代碼并繼續(xù)保持整潔。
為了在整個開發(fā)組織中成功采用靜態(tài)分析和編碼標準合規(guī)性流程,您將受益于以下各項:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn