How to organize a project?

21 ビュー (過去 30 日間)
Roy Goodman
Roy Goodman 2020 年 8 月 31 日
編集済み: Mario Malic 2020 年 9 月 1 日
This is more a general software engineering question than a MATLAB question, but it's about a MATLAB project, so here seems the best place for me to ask.
I have some MATLAB software that I've been working on for a while. The code consists of several parts, and I'd like to set it up as a MATLAB Project (in the formal sense that comes from creating a .prj file). My question is about how to organize the various pieces of code making up the project as I get set up to post it to GitHub, invite a collaborator, and make it available for download among a small community of researchers who would find it useful.
There are three main parts to the code
  • A class definition with lots of methods. This is stored in a directory beginning with an '@' and all the methods are in separate m-files in that directory.
  • Applications of the class definition. Some of these are basically demos and some are examples where I've used this code in published papers.
  • Support codes for dealing with managing the output of computation. These are things that I wrote for my own use over the years and which I naturally used when I was writing the applications. These would ideally be placed in the user's path at startup.
Putting this all into a Project requires them to all be in one directory, which is not how I would do it were it up to me.
  2 件のコメント
Roy Goodman
Roy Goodman 2020 年 9 月 1 日
I really like the dependency analysis tools that are part of the project infrastructure.



Mario Malic
Mario Malic 2020 年 8 月 31 日
編集済み: Mario Malic 2020 年 9 月 1 日
Do you want to put project parts in \projectpath\folder1\filesforpart1.m, \projectpath\folder2\filesforpart2.m or would you like to have something like \projectpath\part1\files.m and \otherpath\part2\files.m?
If you thought of the first suggestion then you are able to add these folders to project path and you can commit them to GitHub.
If you thought of the second one, then maybe "Submodules" option could be what you're looking for, but this involves multiple repositories.

その他の回答 (0 件)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by