Why use contents.m file in package structure

6 次查看(过去 30 天)
My team maintains a modestly large code base separated into packages. Historically, contents.m files have been placed in (most) packages and (occasionally) updated alongside the code. Every .m file has a doc block which is updated (more frequently). I do not see any useful information in the contents.m files beyond the file name and and top level description.
According to this, if no contents.m file exists MATLAB will autogenerate the package documentation.
Given we require all .m files to be documented and we do not have any special information in our contents.m, isn’t this file entirely redundant? We recently dropped support for an older version of MATLAB, was this auto generation added recently?

采纳的回答

Fangjun Jiang
Fangjun Jiang 2024-1-26
编辑:Fangjun Jiang 2024-1-26
contents.m is not redundant nor useless. It provides help info for the folder. You may have nice help text for individual .m files, but a "contents" page for the folder or toolbox is definitely helpful, like the "table of contents" page of a report or a book.
contents.m and the ability to auto generate contents.m have existed a long time in earlier versions. In the case when individual .m files don't have the right format or right info, you can create contents.m manually. If all your individual .m files are nicely formated and provide all needed info, then don't create the contents.m manually. Use help or doc to create it automatically and save it. All your changes in the individual .m files will be reflected. Saving the file rather than generating it every time when it is called is certainly more efficient, like saving a serch index file.
  4 个评论
Jeremiah Sullivan
Jeremiah Sullivan 2024-1-31
编辑:Jeremiah Sullivan 2024-1-31
Thank you both! Something clicked between both of your explanations. I can at least explain why the contents file is useful and how we should maintain it going forward.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by