成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

嵌入式項(xiàng)目中使用開源項(xiàng)目,需要注意哪些問題?

開源 新聞
適當(dāng)?shù)乩瞄_源軟件可以使開發(fā)團(tuán)隊(duì)受益匪淺。

前言

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

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

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

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

你可能會(huì)認(rèn)為更改庫(kù)是很少見的,但你會(huì)驚訝,經(jīng)常是團(tuán)隊(duì)開始使用某個(gè)操作系統(tǒng)、庫(kù)或組件后,而當(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)與連接到云所需的附加連接庫(kù)進(jìn)行了集成和測(cè)試,因此不要選擇其他庫(kù),除非它也經(jīng)過測(cè)試和集成。另一個(gè)例子是許多微控制器制造商生產(chǎn)的代碼生成器工具。

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

3、執(zhí)行軟件審核和質(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、從活躍社區(qū)中選擇軟件

通過快速的網(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é)省開支。

結(jié)論

適當(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)的許多其他問題的泥潭。

責(zé)任編輯:張燕妮 來源: 開源前線
相關(guān)推薦

2018-05-02 09:18:17

Linux技巧嵌入式

2014-01-26 14:24:25

開源項(xiàng)目

2023-07-27 18:39:20

低代碼開發(fā)編碼

2020-06-15 07:00:00

Linux嵌入式系統(tǒng)

2013-09-23 13:59:32

開源Linux系統(tǒng)

2024-05-16 15:15:14

2011-12-21 09:54:15

項(xiàng)目經(jīng)理

2015-10-26 10:24:11

數(shù)據(jù)中心DCIM

2016-02-01 16:04:45

開源創(chuàng)業(yè)關(guān)鍵點(diǎn)

2009-06-24 17:34:58

使用JSF的經(jīng)驗(yàn)

2010-04-21 10:04:33

Oracle移植

2016-09-07 09:25:10

服務(wù)器高防服務(wù)器

2018-05-30 12:00:55

私有云云計(jì)算數(shù)據(jù)

2023-11-30 09:00:00

TypeScript開發(fā)

2010-08-31 14:33:46

DB2游標(biāo)

2010-08-06 14:14:35

使用DB2臨時(shí)表

2020-10-26 14:01:22

Java泛型

2013-09-29 10:36:08

VMware虛擬化

2009-04-23 14:30:19

UML建模

2016-12-26 18:51:34

AndroidJavascriptJSONObject
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品视频免费 | 少妇一区二区三区 | 在线观看亚洲一区二区 | 久久亚洲综合 | 欧美xxxx色视频在线观看免费 | 色免费看| 精品二区视频 | 久久久五月天 | 精品乱码一区二区 | 国产精品免费大片 | 亚洲国产精品区 | 久久精品高清视频 | 久久av资源网 | www.成人免费视频 | 91精品国产乱码麻豆白嫩 | 国产精品国产 | 青青草视频网站 | 亚洲3p| 亚洲五码久久 | 欧美在线观看一区 | 日韩久久久久 | 国产精品久久久久久久久久免费看 | h视频网站在线观看 | 国产日韩精品久久 | 久久久精品一区 | 久久久国产一区二区三区 | 人人鲁人人莫人人爱精品 | 中文字幕人成乱码在线观看 | 中文字幕日本一区二区 | 在线视频 亚洲 | 亚洲社区在线 | jdav视频在线观看免费 | 亚洲一区二区久久久 | 精品视频一区二区三区四区 | 日本激情一区二区 | 天天干天天色 | 亚洲国产乱码 | 欧美精品一区二区三区在线 | 国产精品夜夜夜一区二区三区尤 | 亚洲视频三 | 国产精品高潮呻吟久久av黑人 |