0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

利用開源軟件成功的五個實踐

lilihe92 ? 來源:最后一個bug ? 作者:最后一個bug ? 2022-12-01 11:59 ? 次閱讀

前言

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

下面是五個成功利用開源軟件的最佳實踐。

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

筆者審閱代碼庫時發(fā)現(xiàn)的一個常見問題是,開發(fā)人員將應(yīng)用程序代碼與使用的軟件庫緊耦合。例如,如果一個開發(fā)人員正在使用FreeRTOS,那么應(yīng)用程序代碼調(diào)用特定于FreeRTOS API的方法是,如果開發(fā)人員決定更改RTOS,則必須重寫大量代碼來替換所有這些RTOS調(diào)用。

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

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

如果操作系統(tǒng)發(fā)生變化,應(yīng)用程序不會在意,因為它正在訪問一個抽象層,軟件更改可能只需要幾分鐘而不是幾天。

2、盡可能利用集成軟件

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

當(dāng)你開始將多個設(shè)計為不能相互協(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)被證明可以協(xié)同工作,可以節(jié)省時間和金錢。

3、執(zhí)行軟件審核和質(zhì)量分析

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

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

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

4、從活躍社區(qū)中選擇軟件

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

這包括,在論壇上提問會得到快速的響應(yīng),新版本會定期發(fā)布,軟件也會隨著新功能的增加而不斷改進(jìn)。選擇一個不活躍的社區(qū)的組件會導(dǎo)致開發(fā)人員被迫自己解決問題,或者更糟的是,不得不維護(hù)組件。

5、由律師審查許可證

開源軟件許可可能很復(fù)雜。有十幾種不同的許可方案,對用戶提出了不同的要求。在某些情況下,開發(fā)人員可以使用他們認(rèn)為合適的開源軟件。在其他一些情況下,可以使用該軟件,但任何其他軟件也必須是開源的。

雖然這些許可證在最近幾年變得更加容易理解,但是產(chǎn)品開發(fā)人員正在經(jīng)營一項業(yè)務(wù),因此有必要聘請一名律師來審查軟件許可。這是一項額外的開支,但這是成本的一部分,從長遠(yuǎn)來看可以節(jié)省開支。

結(jié)論

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

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

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

    關(guān)注

    0

    文章

    210

    瀏覽量

    15924
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    815

    瀏覽量

    119706
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62223

原文標(biāo)題:嵌入式項目中使用開源項目,需要注意哪些問題?

文章出處:【微信號:最后一個bug,微信公眾號:最后一個bug】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    開源基礎(chǔ)設(shè)施能力建設(shè)分論壇成功舉辦

    在當(dāng)今科技飛速發(fā)展的時代,開源已成為推動全球創(chuàng)新與進(jìn)步的核心動力。無論是開發(fā)實踐還是數(shù)字化轉(zhuǎn)型,開源以其特有的開放性、共享性和協(xié)同性,助力各行業(yè)技術(shù)革新。在構(gòu)建開源生態(tài)的過程中,
    的頭像 發(fā)表于 12-27 13:56 ?167次閱讀

    《RISC-V能否復(fù)制Linux 的成功?》

    基于RISC-V持續(xù)提供至六內(nèi)核系列?!?恩智浦半導(dǎo)體負(fù)責(zé)研發(fā)的軟件工程副總裁Rob Oshana表示,開源硬件的發(fā)展方式與開源
    發(fā)表于 11-26 20:20

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

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

    開放原子開源基金會亮相第二十六屆中國國際軟件博覽會

    近日,以“軟件賦能產(chǎn)業(yè)變革 智能驅(qū)動數(shù)實融合”為主題的第二十六屆中國國際軟件博覽會在天津開幕。開放原子開源基金會理事長程曉明出席開幕式暨主題峰會并發(fā)表題為《開放原子開源基金會在
    的頭像 發(fā)表于 10-25 17:08 ?892次閱讀

    潤和軟件亮相德國“OCX 2024”大會

    聯(lián)網(wǎng)與邊緣計算、開源安全、開放技術(shù)以及開源最佳實踐等內(nèi)容,為開源社區(qū)打造了一多樣化學(xué)習(xí)、分享和交流的平臺,有效促進(jìn)了國際
    的頭像 發(fā)表于 10-25 11:24 ?414次閱讀
    潤和<b class='flag-5'>軟件</b>亮相德國“OCX 2024”大會

    迅龍軟件出席2024開放原子開源生態(tài)大會,共謀開源生態(tài)繁榮之路

    產(chǎn)業(yè)發(fā)展脈搏。作為全球領(lǐng)先的開源硬件和開源軟件品牌商,迅龍軟件受邀參加此屆大會,并攜旗下高算力人工智能系列產(chǎn)品OrangePiAIStudio、OrangePiAI
    的頭像 發(fā)表于 09-26 13:51 ?441次閱讀
    迅龍<b class='flag-5'>軟件</b>出席2024開放原子<b class='flag-5'>開源</b>生態(tài)大會,共謀<b class='flag-5'>開源</b>生態(tài)繁榮之路

    開放原子開源數(shù)據(jù)庫生態(tài)論壇成功舉辦

    以“開源生態(tài)筑基礎(chǔ),數(shù)字經(jīng)濟(jì)鑄未來”為主題的2024全球數(shù)字經(jīng)濟(jì)大會——開放原子開源數(shù)據(jù)庫生態(tài)論壇在北京成功舉辦。開放原子開源基金會副秘書長辛?xí)匀A出席并致辭,北京市經(jīng)濟(jì)和信息化局信息化
    的頭像 發(fā)表于 09-24 10:36 ?469次閱讀

    如意香山筆記本軟件適配工作穩(wěn)步推進(jìn),成功運行多款Linux發(fā)行版及國產(chǎn)辦公套件

    在上周剛結(jié)束的第四屆 RISC-V 中國峰會(RISC-V Summit China 2024)上,中國科學(xué)院軟件研究所主導(dǎo)研發(fā)的如意香山筆記本——全球首臺采用香山開源RISC-V高性能處理器核
    發(fā)表于 09-02 11:33

    蘋果推出全新開源Swift軟件

    七月三十一日,蘋果企業(yè)總部對外正式發(fā)表公告,宣布昨日(即七月二十九日)成功推出全新的開源 Swift 軟件包—— (喚名為 swift-homomorphic-encryption)。此舉旨在為 Swift 編程語言帶來應(yīng)用便利
    的頭像 發(fā)表于 07-31 15:17 ?396次閱讀

    開啟開源布道新篇章 — LF開源軟件學(xué)園誠邀開源精英加入成為OSPO講師

    OSPO——企業(yè)開源戰(zhàn)略的引擎在當(dāng)今數(shù)字化時代,開源軟件已成為推動全球技術(shù)創(chuàng)新的加速器。它不僅重塑了軟件開發(fā)的模式,更成為企業(yè)構(gòu)建競爭優(yōu)勢的關(guān)鍵。然而,隨著
    的頭像 發(fā)表于 07-04 08:36 ?321次閱讀
    開啟<b class='flag-5'>開源</b>布道新篇章 — LF<b class='flag-5'>開源</b><b class='flag-5'>軟件</b>學(xué)園誠邀<b class='flag-5'>開源</b>精英加入成為OSPO講師

    艾體寶方案 | 管理開源軟件包更新,提升開源安全性

    文章介紹了Mend.io如何通過其Smart Merge Control功能增強開源軟件的安全性?,F(xiàn)代應(yīng)用程序高度依賴開源軟件,但這也增加了潛在的安全漏洞。Mend SCA的增強功能允
    的頭像 發(fā)表于 05-31 17:03 ?329次閱讀

    基礎(chǔ)軟件開源生態(tài)研討會暨OpenHarmony城市技術(shù)論壇延安站活動成功舉辦

    基礎(chǔ)軟件開源生態(tài)研討會 暨OpenHarmony城市技術(shù)論壇(延安站)成功舉辦 5月11日,由OpenHarmony項目群技術(shù)指導(dǎo)委員會主辦,華為技術(shù)有限公司、西安電子科技大學(xué)舉辦,延安大學(xué)、延安
    的頭像 發(fā)表于 05-15 18:41 ?572次閱讀
    基礎(chǔ)<b class='flag-5'>軟件</b><b class='flag-5'>開源</b>生態(tài)研討會暨OpenHarmony城市技術(shù)論壇延安站活動<b class='flag-5'>成功</b>舉辦

    迅龍軟件加入開放原子開源基金會和OpenHarmony?項目,共建開源新生態(tài)

    近日,迅龍軟件與“開放原子開源基金會”簽署協(xié)議,加入“開放原子開源基金會”(以下簡稱“開源基金會”),成為開源基金會白銀捐贈人,這標(biāo)志著迅龍
    的頭像 發(fā)表于 04-30 17:50 ?1058次閱讀
    迅龍<b class='flag-5'>軟件</b>加入開放原子<b class='flag-5'>開源</b>基金會和OpenHarmony?項目,共建<b class='flag-5'>開源</b>新生態(tài)

    開放原子開源大賽OpenHarmony智能化應(yīng)用生態(tài)挑戰(zhàn)賽決賽路成功舉辦

    軟件定義世界,開源共筑未來。在江蘇省工信廳、市工信局、開放原子開源基金會及相關(guān)單位的指導(dǎo)和支持下,4月19-20日,由中軟國際教育科技集團(tuán)聯(lián)合舉辦的開放原子開源大賽-OpenHarmo
    的頭像 發(fā)表于 04-24 09:48 ?425次閱讀

    開源軟件生態(tài)發(fā)展座談會順利舉辦

    1月22日,以開源鴻蒙為主題的開源軟件生態(tài)發(fā)展座談交流會在拓維信息&開鴻智谷成功舉辦。湖南省工信廳信息化和軟件服務(wù)業(yè)處處長周平、信息動員處處
    的頭像 發(fā)表于 01-26 08:30 ?1192次閱讀
    <b class='flag-5'>開源</b><b class='flag-5'>軟件</b>生態(tài)發(fā)展座談會順利舉辦