0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用開源軟件的最佳實(shí)踐

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-09-18 16:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

c嵌入式軟件開發(fā),現(xiàn)在相比以前方便多了,當(dāng)你要實(shí)現(xiàn)一個(gè)項(xiàng)目需求,勤快一點(diǎn)基本上在網(wǎng)絡(luò)上都能找到對(duì)應(yīng)的資料,自己拿來修修改改也基本上能夠?qū)崿F(xiàn)大體的功能。

這或許就是開源的力量能夠幫助很多開發(fā)者快速的進(jìn)行現(xiàn)有軟件資源的整合而為之所用,但這些軟件和資源也存在優(yōu)劣,一方面就是有開發(fā)者足夠的能力把握這些軟件,另一方面就是選擇更加靠譜的開源組件來使用。

英文文章中描述了5點(diǎn)關(guān)于嵌入式開源軟件的使用建議,這幾點(diǎn)我相信是大部分嵌入式開發(fā)者都要考慮的,這里分享給大家:

正文(譯文):

開源軟件無處不在,有潛力幫助企業(yè)加快開發(fā)和提高軟件質(zhì)量。但如果不謹(jǐn)慎行事,它們可能是一個(gè)挑戰(zhàn)。

下面是五個(gè)成功利用開源軟件的最佳實(shí)踐。

1、使用抽象層解決依賴關(guān)系

筆者審閱代碼庫時(shí)發(fā)現(xiàn)的一個(gè)常見問題是,開發(fā)人員將應(yīng)用程序代碼與使用的軟件庫緊耦合。

例如,如果一個(gè)開發(fā)人員正在使用FreeRTOS,那么應(yīng)用程序代碼調(diào)用特定于FreeRTOS API的方法是,如果開發(fā)人員決定更改RTOS,則必須重寫大量代碼來替換所有這些RTOS調(diào)用。

你可能會(huì)認(rèn)為更改庫是很少見的,但你會(huì)驚訝,經(jīng)常是團(tuán)隊(duì)開始使用某個(gè)操作系統(tǒng)、庫或組件后,而當(dāng)他們決定需要進(jìn)行更改時(shí),卻不得不返回并重寫代碼。

當(dāng)團(tuán)隊(duì)選擇一個(gè)開源組件,甚至是商業(yè)組件時(shí),他們應(yīng)該做的第一件事就是創(chuàng)建一個(gè)與該組件交互的抽象層。以RTOS為例,一個(gè)團(tuán)隊(duì)?wèi)?yīng)該使用OS抽象層OSAL(它允許他們使用獨(dú)立于OS的API編寫應(yīng)用程序代碼)。

如果操作系統(tǒng)發(fā)生變化,應(yīng)用程序不會(huì)在意,因?yàn)樗谠L問一個(gè)抽象層,軟件更改可能只需要幾分鐘而不是幾天。

2、盡可能利用集成軟件

大多數(shù)開源軟件都是在自己的沙盒中編寫的,而沒有考慮到它可能需要與之交互的其他組件。組件通常使用不同的編碼標(biāo)準(zhǔn)、樣式、測(cè)試程度等編寫。

當(dāng)你開始將多個(gè)設(shè)計(jì)為不能相互協(xié)作的開源組件組合在一起時(shí),可能會(huì)導(dǎo)致長(zhǎng)時(shí)間的調(diào)試、頭疼和錯(cuò)過最后期限。所以,盡可能選擇已經(jīng)集成并測(cè)試在一起的組件。

一個(gè)很好的例子是使用Amazon FreeRTOS連接AWS。FreeRTOS已經(jīng)與連接到云所需的附加連接庫進(jìn)行了集成和測(cè)試,因此不要選擇其他庫,除非它也經(jīng)過測(cè)試和集成。另一個(gè)例子是許多微控制器制造商生產(chǎn)的代碼生成器工具。

這些工具通常已經(jīng)集成了驅(qū)動(dòng)程序軟件組件、RTOS、文件系統(tǒng)、USB和其他一些組件。它們已經(jīng)被證明可以協(xié)同工作,可以節(jié)省時(shí)間和金錢。

3、軟件審核與質(zhì)量分析

有很多優(yōu)秀的開源軟件,也有很多不太好的軟件。在開發(fā)人員決定在項(xiàng)目中使用開源組件之前,他們需要確保他對(duì)軟件進(jìn)行盡職調(diào)查,或者雇傭別人做這件事。這包括花時(shí)間審核組件并執(zhí)行質(zhì)量分析。

在開始使用開源組件時(shí),至少應(yīng)檢查源代碼的以下方面:使用圈復(fù)雜度度量的復(fù)雜性、從功能上確保其滿足業(yè)務(wù)需求和目標(biāo)、遵守最佳實(shí)踐和編碼標(biāo)準(zhǔn)(根據(jù)需要)、處理錯(cuò)誤的能力、可測(cè)試性。

這至少可以幫助開發(fā)人員了解他們正在使用什么,以及潛在的問題和陷阱。

4、從活躍設(shè)計(jì)中選擇軟件

通過快速的網(wǎng)絡(luò)搜索或?yàn)g覽github來找到解決問題的軟件組件總是很誘人的。在選擇一個(gè)開源組件時(shí),確保其有一個(gè)活躍的社區(qū)是非常重要的。

這包括,在論壇上提問會(huì)得到快速的響應(yīng),新版本會(huì)定期發(fā)布,軟件也會(huì)隨著新功能的增加而不斷改進(jìn)。

選擇一個(gè)不活躍的社區(qū)的組件會(huì)導(dǎo)致開發(fā)人員被迫自己解決問題,或者更糟的是,不得不維護(hù)組件。

5、由律師審查許可證

開源軟件許可可能很復(fù)雜。有十幾種不同的許可方案,對(duì)用戶提出了不同的要求。

在某些情況下,開發(fā)人員可以使用他們認(rèn)為合適的開源軟件。在其他一些情況下,可以使用該軟件,但任何其他軟件也必須是開源的。

雖然這些許可證在最近幾年變得更加容易理解,但是產(chǎn)品開發(fā)人員正在經(jīng)營(yíng)一項(xiàng)業(yè)務(wù),因此有必要聘請(qǐng)一名律師來審查軟件許可。

這是一項(xiàng)額外的開支,但這是成本的一部分,從長(zhǎng)遠(yuǎn)來看可以節(jié)省開支。

6、最后

適當(dāng)?shù)乩瞄_源軟件可以使開發(fā)團(tuán)隊(duì)受益匪淺。然而,為了成功,開發(fā)人員需要確保明智地選擇開源組件。這包括抽象出組件,以確保其應(yīng)用程序保持靈活性和可維護(hù)性。

還需要仔細(xì)檢查開源軟件,以確保滿足質(zhì)量和一般要求。

遵循這些最佳實(shí)踐可以幫助團(tuán)隊(duì)避免陷入導(dǎo)致產(chǎn)品延遲、解決方案架構(gòu)不良的解決方案、質(zhì)量問題以及產(chǎn)品開發(fā)過程中經(jīng)常出現(xiàn)的許多其他問題的泥潭。

審核編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5148

    文章

    19637

    瀏覽量

    316889
  • 開源軟件
    +關(guān)注

    關(guān)注

    0

    文章

    212

    瀏覽量

    16249
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5147

    瀏覽量

    89159
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3333

    瀏覽量

    58970
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C編程最佳實(shí)踐.doc

    C編程最佳實(shí)踐.doc
    發(fā)表于 08-17 14:37

    Dockerfile的最佳實(shí)踐

    ”微服務(wù)一條龍“最佳指南-“最佳實(shí)踐”篇:Dockerfile
    發(fā)表于 07-11 16:22

    變量聲明最佳實(shí)踐?

    所以我們開始編寫32位和16位代碼,并過渡到MPLAB X和XC編譯器。我想到的一個(gè)主題是聲明變量的最佳實(shí)踐。常規(guī)IpType。h或類型。h pr STDIN?;騃t8或字節(jié)char等任何想法,走哪條路?
    發(fā)表于 09-30 12:01

    虛幻引擎的紋理最佳實(shí)踐

    紋理是游戲不可或缺的一部分。 這是一個(gè)藝術(shù)家可以直接控制的領(lǐng)域,以提高游戲的性能。 本最佳實(shí)踐指南介紹了幾種紋理優(yōu)化,這些優(yōu)化可以幫助您的游戲運(yùn)行得更流暢、看起來更好。 最佳實(shí)踐系列指
    發(fā)表于 08-28 06:39

    MySql5.6性能優(yōu)化最佳實(shí)踐

    MySql5.6性能優(yōu)化最佳實(shí)踐
    發(fā)表于 09-08 08:47 ?13次下載
    MySql5.6性能優(yōu)化<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    利用Mycat實(shí)現(xiàn)MySQL讀寫分離、分庫分表最佳實(shí)踐

    利用Mycat實(shí)現(xiàn)MySQL讀寫分離、分庫分表最佳實(shí)踐
    發(fā)表于 09-08 10:20 ?14次下載
    <b class='flag-5'>利用</b>Mycat實(shí)現(xiàn)MySQL讀寫分離、分庫分表<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    五個(gè)成功利用開源軟件最佳實(shí)踐

    當(dāng)你開始將多個(gè)設(shè)計(jì)為不能相互協(xié)作的開源組件組合在一起時(shí),可能會(huì)導(dǎo)致長(zhǎng)時(shí)間的調(diào)試、頭疼和錯(cuò)過最后期限。所以,盡可能選擇已經(jīng)集成并測(cè)試在一起的組件。
    的頭像 發(fā)表于 11-02 15:15 ?1227次閱讀

    圖像傳感器處理和最佳實(shí)踐

    圖像傳感器處理和最佳實(shí)踐
    發(fā)表于 11-15 20:30 ?0次下載
    圖像傳感器處理和<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    利用開源軟件成功的五個(gè)實(shí)踐

    開源軟件無處不在,有潛力幫助企業(yè)加快開發(fā)和提高軟件質(zhì)量。但如果不謹(jǐn)慎行事,它們可能是一個(gè)挑戰(zhàn)。下面是五個(gè)成功利用開源
    的頭像 發(fā)表于 12-01 11:59 ?1183次閱讀

    安全軟件開發(fā)的最佳實(shí)踐

    安全的軟件開發(fā)最佳實(shí)踐是必要的,因?yàn)榘踩L(fēng)險(xiǎn)無處不在。在網(wǎng)絡(luò)攻擊盛行的時(shí)代,它們可以影響每個(gè)人,包括個(gè)人、公司和政府。因此,確保軟件開發(fā)的安全性至關(guān)重要。 在這里,我們將解釋了什么是
    的頭像 發(fā)表于 05-08 10:51 ?1131次閱讀
    安全<b class='flag-5'>軟件</b>開發(fā)的<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    2023開放原子全球開源峰會(huì)OSPO分論壇 | 潤(rùn)和軟件OSPO頂層設(shè)計(jì)與實(shí)踐

    為《潤(rùn)和軟件OSPO頂層設(shè)計(jì)與實(shí)踐》的演講。 潤(rùn)和軟件副總裁劉洋于OSPO分論壇發(fā)表主題演講 在本次分享中,劉洋以潤(rùn)和軟件為例,從企業(yè)的視角具體介紹了OSPO在企業(yè)層面能帶來什么以及如
    的頭像 發(fā)表于 06-28 17:35 ?759次閱讀
    2023開放原子全球<b class='flag-5'>開源</b>峰會(huì)OSPO分論壇 | 潤(rùn)和<b class='flag-5'>軟件</b>OSPO頂層設(shè)計(jì)與<b class='flag-5'>實(shí)踐</b>

    SAN管理最佳實(shí)踐指南

    電子發(fā)燒友網(wǎng)站提供《SAN管理最佳實(shí)踐指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-29 09:20 ?0次下載
    SAN管理<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>指南

    SAN設(shè)計(jì)和最佳實(shí)踐指南

    電子發(fā)燒友網(wǎng)站提供《SAN設(shè)計(jì)和最佳實(shí)踐指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-01 11:02 ?2次下載
    SAN設(shè)計(jì)和<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>指南

    Windows 10遷移的最佳實(shí)踐

    電子發(fā)燒友網(wǎng)站提供《Windows 10遷移的最佳實(shí)踐.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 15:37 ?0次下載
    Windows 10遷移的<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    活動(dòng)回顧 艾體寶 開源軟件供應(yīng)鏈安全的最佳實(shí)踐 線下研討會(huì)圓滿落幕!

    艾體寶與Mend舉辦研討會(huì),聚焦開源軟件供應(yīng)鏈安全,邀請(qǐng)行業(yè)專家分享合規(guī)管理、治理之路及最佳實(shí)踐,圓桌討論加深理解,助力企業(yè)更安全穩(wěn)健發(fā)展。
    的頭像 發(fā)表于 10-30 17:52 ?815次閱讀
    活動(dòng)回顧 艾體寶 <b class='flag-5'>開源</b><b class='flag-5'>軟件</b>供應(yīng)鏈安全的<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b> 線下研討會(huì)圓滿落幕!

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品