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.