如何在MATLAB函数中包含作者和版本信息
这个问题与我的上一个问题有关: 你通常写什么来描述你自己函数的作者身份?您是将其放在函数体的末尾,还是放在任何代码之前的帮助文本之后 如何包含版本信息?功能修改后是否可以自动更新版本 这是我通常包括的内容:如何在MATLAB函数中包含作者和版本信息,matlab,function,documentation,version,Matlab,Function,Documentation,Version,这个问题与我的上一个问题有关: 你通常写什么来描述你自己函数的作者身份?您是将其放在函数体的末尾,还是放在任何代码之前的帮助文本之后 如何包含版本信息?功能修改后是否可以自动更新版本 这是我通常包括的内容: % My Name <my@email> % My company % Created: September 2010 % Modified: October 2010 %我的名字 %我的公司 %创建日期:2010年9月 %修改日期:2010年10月 请分享您的想法和想法?我
% My Name <my@email>
% My company
% Created: September 2010
% Modified: October 2010
%我的名字
%我的公司
%创建日期:2010年9月
%修改日期:2010年10月
请分享您的想法和想法?我们将我们的代码保存在Subversion存储库中,并使用关键字功能将此类信息写入m文件提交到repo时的标题注释中。我们在(大多数)m文件中的初始功能行后面放了一块注释 如果您未使用源代码控制系统,则:
publish
功能
编辑:@yuk:从你提到的乌龟,我猜你正在Windows上工作。我在Windows PC上安装Subversion已经有两年了。我想不起安装过程中有什么问题,我也没有资格帮助您调试自己的系统——但是还有很多问题,所以谁是呢
至于保持版本(etc)信息最新,不需要编写脚本。您只需包含特殊字符串,例如$Rev$
,Subversion将其识别为文件中需要版本信息(等)的位置(可能在注释中)中的关键字。这在本文中得到了很好的解释
至于Matlab文档,我认为发布(和相关)功能在Mathworks网站的桌面工具和开发环境手册中有很好的解释。正如所指出的,某种形式的源代码控制非常适合处理这种情况。但是,如果您要手动添加信息,请注意以下几点:
- 我肯定会包括一行文字,说明您的代码是用MATLAB版本编写的,或者您知道它适用于哪些版本
- 添加信息时,如果不想在用户查看时显示信息,则必须在信息和帮助注释块之间留出空间,如:
除非您确实希望它与帮助一起显示。然后做一个大的评论块function myFunction %# Help text for function %# Your information
new
,然后输入函数名,它就会对其余的进行排序
我使用的文档的基本模板是
function [outputArgs] = TestFunction(inputArgs)
%TESTFUNCTION Summary of this function goes here
%
% [OUTPUTARGS] = TESTFUNCTION(INPUTARGS) Explain usage here
%
% Examples:
%
% Provide sample usage code here
%
% See also: List related files here
% $Author: rcotton $ $Date: 2010/10/01 18:23:52 $ $Revision: 0.1 $
% Copyright: Health and Safety Laboratory 2010
(很明显,在版权声明中,您需要一家不同的公司。)
帮助文档的第一行称为H1行,由函数lookfor
等使用。重要的是,它直接位于函数定义行之后
如果您有不同的用例(可能有可选参数,也可能没有可选参数),那么您应该描述每个用例
示例:
和另请参见:
行的格式与帮助报告生成器的工作方式相同。(我刚刚发现了一个bug——这一年应该在版权行中公司名称之前。修复它的方式。)
$Author:
等格式可与CSV/SVN一起使用。由于git使用文件散列,如果git不认为文件已经更新,就无法更改文件内容。+1同意源代码管理和使用关键字。我们试图在类级别定义所有权,并将“作者”信息仅放在构造函数文件的帮助文本中。我们将其放在帮助文本中,而不是放在末尾,这样联系人信息就会显示在“帮助”输出中。因为M-code创建了很多文件——每个函数1个,而不是像Java或C那样每个类或模块1个——每个文件中的头信息看起来都很混乱。我们不希望每次“帮助”电话都占用屏幕空间。谢谢,马克。我知道我必须使用版本控制。实际上,我试着设置TortoiseSVN,但在安装服务器时遇到了一些问题。不记得细节了,那是很久以前的事了。你有一些教程的链接吗?您是否可以添加更多关于如何在MATLAB中编写和设置脚本以更新版本信息的详细信息?至于发布,我当然看过了,但找不到相关信息。+1对于使用源代码管理,它实际上是必须的!最新的一代是HG(Mercurial)和Git,请看:哦,SVN集成方面的出色工作(+1酷)!只要我能看一看svn日志
,我就不完全确定这些信息会有什么用处,但我应该将其包含在我的函数模板中,以获得绝对的酷感。$author字段由上次修改函数的人更新,对吗?嗯,我是否需要更改SVN中的设置以便更新author字段等?@Jonas:SVN字段在您提交更改时更新,但您需要执行SVN propset SVN:keywords“Date author Revision”filename.m
来配置它。看见作者字段是当前用户的操作系统登录名。