开发人员区

使用MATLAB先进的软件开发

最佳实践 - 适应,然后采用!

大家好,我希望你们所有人都度过一个愉快的假期,你的新年是一个很棒的开始。艾米再次跟进一些良好的做法,她发现了在工具箱形式中的Matlab代码良好的良好部署。

你如何组织你的工具箱代码?

在我的以前的帖子,我写了关于MATLAB工具箱包装功能。今天我想分享一些关于如何组织开发环境的最佳实践,以简化工具箱开发和包装过程。我也写了工具箱工具帮助您开始开发自己的MATLAB工具箱。

版本控制以及应该使用它的原因

软件开发工作流程通常使用:

  1. 版本控制源控制通过时间管理到源代码的更改;
  2. 一种包装管理工具自动化安装,升级,配置和卸下打包软件的过程。

版本控制系统维护对源文件的所有修改的详细历史记录。这允许您轻松维护软件的多个版本,并在需要时审核和恢复这些更改。更重要的是,版本控制促进了协作软件开发,因为它使多个开发人员能够贡献并将其代码组合到主要开发区域或代码存储库中。有些组织还使用其版本控制系统将软件分发给最终用户;但是,专用的包管理工具可能更适合自动处理用户的安装,升级和卸载过程。

工具箱开发工作流程

在MATLAB中编写工具箱时,通常:

  1. 从中央代码存储库中查看源代码的副本。我会称这个本地复制a“沙盒“。
  2. 制作和测试代码更改。
  3. 将更改签回存储库以进行版本控制,并使其对其他贡献者可用。
  4. 打包代码并在准备好时将其发布给最终用户。

以及分发给最终用户的工具箱代码,您通常具有其他资源和文件,以支持工具箱的正在进行的开发,测试和发布循环。金宝app这些需要与分发代码保持分开。

如何组织你的沙箱

MATLAB工具箱的沙箱包含:

  • 运输工具箱文件(代码和文档),
  • 测试,
  • 用于包装工具箱的文件,
  • 用于自动配置MATLAB环境的配置进行开发,包装和测试,
  • 所有工具箱版本的存档。

因此,在开发和打包工具箱时,您应该如何在Matlab中组织此内容?下面的屏幕截图显示了我们在MathWorks内部采用的“公约”,并找到了它为客户成功工作。采用团队中的公约积极推动一致性和熟悉程度。

什么包裹?

您应该只打包和分发工具箱代码和文档到最终用户。用于支持工具箱开发和打包过程的其他文件仅存储在开发的金宝app存储库中。

项目文件(.prJ)包含有关工具箱的信息,用于包装.MLTBX.文件。它存储在开发沙盒中的打包或运输工具箱外。

发布的代码和文档文件位于项目根目录的子文件夹中/ TBX..工具箱代码存储在/ 子文件夹,旁边内容..M.文件汇总文件夹中的MATLAB文件。你将替换使用工具箱的实际名称。这使用户能够使用该用户查询工具箱的内容和版本信息帮助ver 命令。从R2016A开始,MATLAB用户还可以以编程方式查询工具箱版本matlab.addons.toolbox.toolboxVersionAPI。

/ tbx / doc子文件夹包含支持文档或教程,以演示工具金宝app箱功能。到在MATLAB帮助浏览器中显示自定义帮助文件,工具箱应包括一个info.xml.helptoc.xml.文件。使用R2016B,您可以告诉MATLAB生成模板XML文件。工具箱还可以包含发布的示例,该示例将存储在下面/例子子文件夹。

测试文件应存储在/测试文件夹。这有助于在使用测试时在文件夹中运行测试套件Matlab单元测试框架

在沙箱和安装的代码之间切换

编写工具箱时,您希望能够直接运行和测试沙箱代码。这需要沙箱代码成为Matlab路径。一旦工具箱已准备就绪,将工具箱代码打包到.MLTBX.文件并测试打包代码以确保它将正确安装并运行最终用户。为此,很重要的是沙箱代码是不是在路径上,执行已安装或打包代码。由于这些原因,编写从MATLAB路径添加和删除沙箱代码的脚本是有用的。这工具箱工具提供模板脚本addsandbox.m.RMSANDBOX.M.为此,您可以自定义您自己的开发环境。

在R2016A之前,Matlab记下了哪个包装文件夹安装时,您的路径,这些路径将在安装工具箱时添加到用户路径中。从R2016A开始,工具箱包装工具允许您在安装工具箱时指定要添加到用户的MATLAB路径的文件夹。默认情况下,MATLAB在创建工具箱时包含路径上的所有工具箱文件夹。然后,您可以通过取消选择它们来排除任何文件夹,如下所示,通过取消选择它们来添加到用户路径。

释放工具箱

所有工具箱版本都应该存档/版本折扣易于参考。每个工具箱版本应使用正确的版本号注释。发布脚本,即下文,自动化工具箱发布过程。这个脚本:

  1. 运行检查正确的matlab版本和依赖项,
  2. 生成文档和发布示例,
  3. 运行测试,
  4. 包装工具箱。

您还可以找到一个示例发布脚本工具箱工具

下一步是什么?

您可能会询问我有多严格遵循这些指南?组织沙箱内容时是否有任何常见的缺陷?所有人都将在下一个帖子中透露。

请留下以下任何评论或反馈。别忘了下载工具箱工具!!




发布与MATLAB®R2017A

|
  • 打印
  • 发电子邮件

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。