0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

五个成功利用开源软件的最佳实践

工程师进阶笔记 来源:最后一个bug 作者:最后一个bug 2022-11-02 15:15 次阅读

前言

开源软件无处不在,有潜力帮助企业加快开发和提高软件质量。但如果不谨慎行事,它们可能是一个挑战。

下面是五个成功利用开源软件的最佳实践。

1、使用抽象层解决依赖关系

笔者审阅代码库时发现的一个常见问题是,开发人员将应用程序代码与使用的软件库紧耦合

例如,如果一个开发人员正在使用FreeRTOS,那么应用程序代码调用特定于FreeRTOS API的方法是,如果开发人员决定更改RTOS,则必须重写大量代码来替换所有这些RTOS调用。

你可能会认为更改库是很少见的,但你会惊讶,经常是团队开始使用某个操作系统、库或组件后,而当他们决定需要进行更改时,却不得不返回并重写代码。

当团队选择一个开源组件,甚至是商业组件时,他们应该做的第一件事就是创建一个与该组件交互的抽象层。

以RTOS为例,一个团队应该使用OS抽象层OSAL(它允许他们使用独立于OS的API编写应用程序代码)。

如果操作系统发生变化,应用程序不会在意,因为它正在访问一个抽象层,软件更改可能只需要几分钟而不是几天。

2、尽可能利用集成软件

大多数开源软件都是在自己的沙盒中编写的,而没有考虑到它可能需要与之交互的其他组件。组件通常使用不同的编码标准、样式、测试程度等编写。

当你开始将多个设计为不能相互协作的开源组件组合在一起时,可能会导致长时间的调试、头疼和错过最后期限。所以,尽可能选择已经集成并测试在一起的组件。

一个很好的例子是使用Amazon FreeRTOs连接AWS。

FreeRTOS已经与连接到云所需的附加连接库进行了集成和测试,因此不要选择其他库,除非它也经过测试和集成。

另一个例子是许多微控制器制造商生产的代码生成器工具。

这些工具通常已经集成了驱动程序软件组件、RTOS、文件系统、USB和其他一些组件。它们已经被证明可以协同工作,可以节省时间和金钱。

3、执行软件审核和质量分析

有很多优秀的开源软件,也有很多不太好的软件。

在开发人员决定在项目中使用开源组件之前,他们需要确保他对软件进行尽职调查,或者雇佣别人做这件事。这包括花时间审核组件并执行质量分析。

在开始使用开源组件时,至少应检查源代码的以下方面:使用圈复杂度度量的复杂性、从功能上确保其满足业务需求和目标、遵守最佳实践和编码标准(根据需要)、处理错误的能力、可测试性。

这至少可以帮助开发人员了解他们正在使用什么,以及潜在的问题和陷阱。

4、从活跃社区中选择软件

通过快速的网络搜索或浏览github来找到解决问题的软件组件总是很诱人的。在选择一个开源组件时,确保其有一个活跃的社区是非常重要的。

这包括,在论坛上提问会得到快速的响应,新版本会定期发布,软件也会随着新功能的增加而不断改进。

选择一个不活跃的社区的组件会导致开发人员被迫自己解决问题,或者更糟的是,不得不维护组件。

5、由律师审查许可证

开源软件许可可能很复杂。有十几种不同的许可方案,对用户提出了不同的要求。

在某些情况下,开发人员可以使用他们认为合适的开源软件。在其他一些情况下,可以使用该软件,但任何其他软件也必须是开源的。

虽然这些许可证在最近几年变得更加容易理解,但是产品开发人员正在经营一项业务,因此有必要聘请一名律师来审查软件许可。

这是一项额外的开支,但这是成本的一部分,从长远来看可以节省开支。

结论

适当地利用开源软件可以使开发团队受益匪浅,然而,为了成功,开发人员需要确保明智地选择开源组件。

这包括抽象出组件,以确保其应用程序保持灵活性和可维护性。还需要仔细检查开源软件,以确保满足质量和一般要求。

遵循这些最佳实践可以帮助团队避免陷入导致产品延迟、解决方案架构不良的解决方案、质量问题以及产品开发过程中经常出现的许多其他问题的泥潭。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源软件
    +关注

    关注

    0

    文章

    209

    浏览量

    15869
  • 代码
    +关注

    关注

    30

    文章

    4717

    浏览量

    68200
  • 应用程序
    +关注

    关注

    37

    文章

    3233

    浏览量

    57537

原文标题:使用开源代码,需要注意哪些问题?

文章出处:【微信号:工程师进阶笔记,微信公众号:工程师进阶笔记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    活动回顾 艾体宝 开源软件供应链安全的最佳实践 线下研讨会圆满落幕!

    艾体宝与Mend举办研讨会,聚焦开源软件供应链安全,邀请行业专家分享合规管理、治理之路及最佳实践,圆桌讨论加深理解,助力企业更安全稳健发展。
    的头像 发表于 10-30 17:52 403次阅读
    活动回顾 艾体宝 <b class='flag-5'>开源</b><b class='flag-5'>软件</b>供应链安全的<b class='flag-5'>最佳</b><b class='flag-5'>实践</b> 线下研讨会圆满落幕!

    MES系统的最佳实践案例

    效率、降低成本、保证产品质量。 MES系统的最佳实践案例 引言 在当今竞争激烈的制造业环境中,企业必须不断寻求创新和改进的方法来保持竞争力。MES系统作为一种关键的信息技术工具,已经被广泛应用于各种制造行业,以实现生产过程的优化和管理。本文将探讨MES系统的
    的头像 发表于 10-27 09:33 328次阅读

    润和软件亮相德国“OCX 2024”大会

    联网与边缘计算、开源安全、开放技术以及开源最佳实践等内容,为开源社区打造了一多样化学习、分享和
    的头像 发表于 10-25 11:24 291次阅读
    润和<b class='flag-5'>软件</b>亮相德国“OCX 2024”大会

    边缘计算架构设计最佳实践

    边缘计算架构设计最佳实践涉及多个方面,以下是一些关键要素和最佳实践建议: 一、核心组件与架构设计 边缘设备与网关 边缘设备 :包括各种嵌入式设备、传感器、智能手机、智能摄像头等,负责采
    的头像 发表于 10-24 14:17 291次阅读

    云计算平台的最佳实践

    云计算平台的最佳实践涉及多个方面,以确保高效、安全、可扩展和成本优化的云环境。以下是一些关键的最佳实践: 一、云成本优化 详细分析云使用情况 :通过细致的监控和分析,识别低ROI(投资
    的头像 发表于 10-24 09:17 264次阅读

    TMCS110x 布局挑战和最佳实践

    电子发烧友网站提供《TMCS110x 布局挑战和最佳实践.pdf》资料免费下载
    发表于 09-12 09:23 0次下载
    TMCS110x 布局挑战和<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>

    衰减 AMC3301 系列辐射发射 EMI 的最佳实践

    电子发烧友网站提供《衰减 AMC3301 系列辐射发射 EMI 的最佳实践.pdf》资料免费下载
    发表于 09-11 09:59 0次下载
    衰减 AMC3301 系列辐射发射 EMI 的<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>

    毫米波雷达器件的放置和角度最佳实践应用

    电子发烧友网站提供《毫米波雷达器件的放置和角度最佳实践应用.pdf》资料免费下载
    发表于 09-09 09:57 1次下载
    毫米波雷达器件的放置和角度<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>应用

    电机驱动器电路板布局的最佳实践

    电子发烧友网站提供《电机驱动器电路板布局的最佳实践.pdf》资料免费下载
    发表于 09-05 11:33 10次下载
    电机驱动器电路板布局的<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>

    MSP430 FRAM技术–使用方法和最佳实践

    电子发烧友网站提供《MSP430 FRAM技术–使用方法和最佳实践.pdf》资料免费下载
    发表于 08-23 09:23 0次下载
    MSP430 FRAM技术–使用方法和<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>

    RTOS开发最佳实践

    基于RTOS编写应用程序时,有一些要注意事项。在本节中,您将学习RTOS开发最佳实践,例如POSIX合规性、安全性和功能安全认证。
    的头像 发表于 08-20 11:24 363次阅读

    热烈恭贺|开盛晖腾入围APEC•ESCI最佳实践奖候选

    喜讯!固德威智慧能源合作伙伴开盛晖腾成功入围APEC能源智慧社区倡议最佳实践奖候选名单。在智能电网类中,全国仅4项目入围! 04:3 APEC ESCI是于2010年由亚太经济合作组
    的头像 发表于 04-29 17:31 359次阅读
    热烈恭贺|开盛晖腾入围APEC•ESCI<b class='flag-5'>最佳</b><b class='flag-5'>实践</b>奖候选

    开源治理与开发者运营分论坛圆满举办

    日益受到广泛关注。 为深度探讨全球开源治理所面对的挑战,12 月 16 日,2023 开放原子开发者大会【开源治理与开发者运营论坛】成功举办,论坛聚焦开源项目管理和社区协作的关键议题,
    的头像 发表于 12-22 09:59 437次阅读
    <b class='flag-5'>开源</b>治理与开发者运营分论坛圆满举办

    开源产业大会-汽车软件开源创新分论坛】邀您一起了解RT-Thread程翧车载融合软件平台

    错过的一场科技盛宴。 大会与OpenSDV汽车软件开源联盟、中国汽车工业协会软件分会联袂呈现汽车软件开源创新分论坛,邀请车企管理层、
    的头像 发表于 12-07 10:35 527次阅读
    【<b class='flag-5'>开源</b>产业大会-汽车<b class='flag-5'>软件</b><b class='flag-5'>开源</b>创新分论坛】邀您一起了解RT-Thread程翧车载融合<b class='flag-5'>软件</b>平台

    校源行 | 浙江大学软件学院:开源教育是从开源实践中走出来的

    更大的实践舞台,培养更多的开源综合型人才,拓展开源贡献新领域,推动开源科研成果高效转化。 一所高校该如何开展好开源教育?如何通过
    的头像 发表于 11-24 20:45 2048次阅读
    校源行 | 浙江大学<b class='flag-5'>软件</b>学院:<b class='flag-5'>开源</b>教育是从<b class='flag-5'>开源</b><b class='flag-5'>实践</b>中走出来的