掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
審查代碼庫的常見問題之一是開發(fā)人員將他們的應(yīng)用程序代碼與他們使用的軟件庫緊密結(jié)合在一起。例如,如果開發(fā)人員正在使用 FreeRTOS,他們的應(yīng)用程序代碼會調(diào)用特定于 FreeRTOS API 的方式,如果開發(fā)人員決定更改他們的 RTOS,他們將不得不重寫大量代碼來替換所有這些 RTOS來電。你可能會認(rèn)為更改庫很少見,但你會驚訝于團(tuán)隊經(jīng)常使用一個操作系統(tǒng)、庫或組件開始一條路徑,只是在他們決定需要進(jìn)行更改時才不得不返回并重寫代碼。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鹽池企業(yè)網(wǎng)站建設(shè),鹽池品牌網(wǎng)站建設(shè),網(wǎng)站定制,鹽池網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鹽池網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
團(tuán)隊在選擇開源組件甚至商業(yè)組件時應(yīng)該做的第一件事是創(chuàng)建一個抽象層來與該組件進(jìn)行交互。以 RTOS 為例,團(tuán)隊將使用 OS 抽象層 OSAL,這將允許他們使用獨(dú)立于 OS 的 API 編寫應(yīng)用程序代碼。如果操作系統(tǒng)發(fā)生變化,應(yīng)用程序并不關(guān)心,因為它正在訪問一個抽象層,而軟件更改可能需要幾分鐘而不是幾天。
大多數(shù)開源軟件都是在自己的沙箱中編寫的,沒有過多考慮可能需要與之交互的其他組件。組件通常使用不同的編碼標(biāo)準(zhǔn)、風(fēng)格、測試程度等來編寫。如果嵌入式開發(fā)人員開始將多個并非旨在相互協(xié)作的開源組件組合在一起時,可能會導(dǎo)致長時間的調(diào)試會話和錯過最后期限,盡可能選擇已經(jīng)集成和測試的組件。
一個很好的例子是使用 Amazon FreeRTOS 連接到 AWS。FreeRTOS 已經(jīng)與連接到云所需的其他連接庫進(jìn)行了集成和測試,因此不要選擇其他庫,除非它也已經(jīng)過測試和集成。另一個例子是許多微控制器制造商生產(chǎn)的代碼生成器工具。這些工具通常已經(jīng)集成了驅(qū)動軟件組件、RTOS、文件系統(tǒng)、USB 和其他幾個組件。它們已經(jīng)被證明可以一起工作,因此如果可以利用它們,它將節(jié)省時間和金錢。
有很多很棒的開源軟件和很多不太好的軟件,在開發(fā)人員決定在他們的項目中使用開源組件之前,他們需要確保他們花時間對軟件進(jìn)行盡職調(diào)查,這涉及花時間審核組件并執(zhí)行質(zhì)量分析,質(zhì)量往往在旁觀者的眼中。
至少,在開始使用開源組件時,應(yīng)審查源代碼:
至少,這將幫助嵌入式開發(fā)人員了解他們正在使用什么,以及潛在的問題和陷阱。
開源軟件許可可能難以駕馭,有十幾種不同的許可方案,它們對用戶提出了不同的要求。在某些情況下,開發(fā)人員可以按照他們認(rèn)為合適的方式使用開源軟件。在其他情況下,可以使用該軟件,但任何其他軟件也必須是開源的,這意味著它可能需要發(fā)布產(chǎn)品的秘方,這可能會損害他們的競爭市場優(yōu)勢。
盡管近年來這些許可證變得更加易于理解,但產(chǎn)品開發(fā)人員正在開展業(yè)務(wù),因此必須聘請律師來審查軟件許可證,以確保一切正常。會有額外的費(fèi)用,但它是經(jīng)商成本的一部分,如果發(fā)生錯誤,從長遠(yuǎn)來看可以節(jié)省資金。
快速進(jìn)行網(wǎng)絡(luò)搜索或仔細(xì)閱讀 github 以找到解決問題的軟件組件總是很誘人。嵌入式開發(fā)人員在選擇開源組件時,確保該組件具有活躍的社區(qū)非常重要。
例如,使用 FreeRTOS 的開發(fā)人員知道他們可以上論壇、提出問題,并且通常會得到快速響應(yīng)。新版本會定期發(fā)布,并且軟件始終會隨著新功能的添加而不斷改進(jìn)。選擇具有不活躍社區(qū)的組件可能會導(dǎo)致開發(fā)人員獨(dú)自一人,被迫自己找出問題,或者更糟糕的是,不得不維護(hù)該組件。
正確利用開源軟件可以極大地使開發(fā)團(tuán)隊受益。然而,為了取得成功,開發(fā)人員需要確保他們明智地選擇他們的開源組件,這包括抽象出組件以確保其應(yīng)用程序保持靈活和可維護(hù)。它還需要仔細(xì)審查開源軟件,假設(shè)它不是 Linux,以確保在提交組件之前滿足質(zhì)量和一般要求。
遵循這些最佳實(shí)踐可以幫助嵌入式開發(fā)團(tuán)隊避免導(dǎo)致產(chǎn)品延遲、架構(gòu)不佳的解決方案、質(zhì)量問題以及產(chǎn)品開發(fā)過程中經(jīng)常出現(xiàn)的許多其他問題的泥潭。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流