开发区域

MATLAB高级软件开发

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

大家好,我希望你们都度过了一个愉快的假期,新的一年有一个好的开始。Amy再次在这里跟进一些她发现的导致她的MATLAB代码以工具箱形式良好部署的良好实践。

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

在我以前的文章,我写了MATLAB工具箱的打包特性。今天我想分享一些关于如何组织开发环境以简化工具箱开发和打包过程的最佳实践。我还写了工具箱的工具帮助你开始开发自己的MATLAB工具箱。

版本控制和为什么应该使用它

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

  1. 版本控制源控制管理源代码随时间的变化;
  2. 一个包管理自动化安装、升级、配置和删除打包软件过程的工具。

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

工具箱开发工作流

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

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

除了分发给最终用户的工具箱代码外,您通常还拥有其他资源和文件来支持工具箱的持续开发、测试和发布周期。万博1manbetx这些代码需要与分发代码分开。

如何组织你的沙盒

一个MATLAB工具箱的沙盒包含:

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

那么在开发和打包工具箱时,应该如何在MATLAB中组织这些内容呢?下面的屏幕截图显示了我们在MathWorks内部采用的惯例,并发现它成功地为我们的客户工作。在您的团队中采用约定可以积极促进一致性和熟悉性。

包装什么?

您应该只将工具箱代码和文档打包并分发给最终用户。用于支持工具箱开发和打包过程的其他文件存储在存储库中万博1manbetx,仅用于开发。

项目文件(.prj)包含工具箱的信息,并用于打包.mltbx文件。它存储在您的开发沙箱中打包或交付的工具箱之外。

发布的代码和文档文件位于项目根目录下的子文件夹中/ tbx。工具箱代码存储在/ < tbxname >子文件夹,与Contents.m文件夹中的MATLAB文件摘要。你会代替< tbxname >使用工具箱的实际名称。控件查询工具箱的内容和版本信息帮助< tbxname >版本< tbxname >命令。从R2016a开始,MATLAB用户还可以通过编程方式使用matlab.addons.toolbox.toolboxVersionAPI。

tbx /医生子文件夹包含演示工具箱功能的支持文档或万博1manbetx教程。来在MATLAB帮助浏览器中显示自定义帮助文件时,工具箱应包括info.xml而且helptoc.xml文件。使用R2016b,您可以告诉MATLAB生成模板xml文件。工具箱还可以包含已发布的示例,这些示例将存储在/例子子文件夹。

测试文件应该存储在/测试文件夹中。属性编写测试时,这有助于在文件夹中运行测试套件MATLAB单元测试框架

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

在编写工具箱时,您希望能够直接运行和测试您的沙盒代码。这要求沙盒代码是MATLAB路径。工具箱准备好发布后,将工具箱代码打包到.mltbx对打包的代码进行归档和测试,以确保最终用户可以正确安装和运行它。为此,沙盒代码是非常重要的并且安装或打包的代码被执行。由于这些原因,编写从MATLAB路径中添加和删除沙盒代码的脚本来很有用。的工具箱的工具提供模板脚本addsandbox.m而且rmsandbox.m为此,您可以根据自己的开发环境进行定制。

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

释放工具箱

所有工具箱版本都应归档在/版本文件夹,方便参考。每个工具箱版本都应该标注正确的版本号。发布脚本,即release.m,自动化工具箱的释放过程。这个脚本:

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

您还可以在工具箱的工具

接下来是什么?

你可能会问,我必须严格遵守这些指导方针吗?在组织我的沙盒内容时,有什么常见的陷阱要避免吗?所有内容将在下一篇文章中揭晓。

请在下方留言或反馈。别忘了下载工具箱的工具




发布与MATLAB®R2017a

|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。