我正在开发一个不断发展的MATLAB程序。它起初是一个脚本集合,但已经变得越来越大。现在一切都在一个大文件夹中,但是为了将独立模块分开,我想将它们分成子文件夹。模块之间存在一些依赖关系,因此我希望能够访问不同模块的函数,而无需复制MATLAB文件。
是否有将所有目录添加到搜索路径的替代方法? 如何保持更大的MATLAB项目的代码库整洁?
答案 0 :(得分:1)
快速修复:
您可以在一个根目录中添加所有主程序。子模块位于下面的文件夹中。 在每个主程序中,您都可以确保正确设置所有路径。 在程序结束时,您将恢复原始路径设置
% Begin of main program. Set path to all subfolders
save_path = path;
curr_dir = strrep(which(mfilename('fullpath')),mfilename,'')
addpath(genpath(curr_dir))
% Main program
....
....
....
% Restore original Path settings
path(save_path);
答案 1 :(得分:0)
我看到已经存在类似名称空间的链接。但是,如果您不想购买软件包,则可以按照我目前使用的结构进行操作。我认为如果您的大型项目数量有限,这项工作尤其有用
假设您处理2个项目,然后创建三个并行文件夹:
基本上你可以在他们各自的文件夹中开始构建Project 1和Project 2,当你看到在两个项目中完成类似的操作时(可能经过一些概括),你可以将它们移动到一般。只需确保搜索路径上的general更低,这样您就可以在广义函数之前找到自定义函数。
当然,您也可以制作子文件夹。
请注意,最简单的方法是首先将常规文件夹添加到路径中,然后再添加项目文件夹。在这种情况下,路径上可能仍有很多文件,但这样就没有重复,您可以轻松查看哪些关键文件与项目相关。