Лучшие практики программирования MATLAB - PullRequest
32 голосов
/ 18 февраля 2011

Я ищу ресурсы о том, как структурировать средние и крупные проекты MATLAB, особенно те, которые включают несколько независимых модулей.Как управлять глобальными переменными конфигурации, как структурировать проект в папки, как управлять связями между модулями и т. Д.

Есть ли какой-то стандартный текст по этому вопросу?Похоже, что большинство учебников MATLAB были написаны учеными или инженерами.Я думаю, что мне нужен любой учебник по MATLAB, написанный инженером-программистом.: -)

Ответы [ 2 ]

24 голосов
/ 19 февраля 2011

MATLAB - необычный выбор для крупномасштабных проектов, и он также подходит для таких задач, как ассемблер, COBOL или SQL.Если вы по-прежнему выбираете MATLAB, то хотя бы автоматически проверяйте код!Все виды тестов - интеграционные тесты, юнит-тесты, нагрузочные тесты!И, конечно, используйте систему контроля версий.

Как уже говорилось, MATLAB создавался не с учетом больших проектов, поэтому единственная лучшая практика, касающаяся структуры проекта, модулей и связывания, - это здравый смысл.

Если вы берете на себя существующий большой проект MATLAB, тогда мне жаль, что рефакторинг станет кошмаром.Если вы собираетесь начать новый крупный проект с MATLAB, то вы с ума сошли - есть гораздо лучшие альтернативы MATLAB, которые не так уж плохи в отношении числовой производительности.Большой проект подразумевает, что почти весь код является бизнес-логикой, а не цифрами, поэтому, ради бога, MATLAB?

Большой проект подразумевает хорошо структурированные компоненты, что подразумевает ОО, что является слабым местом MATLAB, поскольку он жертвует производительностью кучи для числовой производительности до степени непригодности .

Мой опыт:

  1. Я провел годы в полумиллионном проекте LOC MATLAB.
  2. Я видел безболезненный переход нескольких крупных проектов MATLAB на C #.

С MATLAB вам все еще приходится использовать большое количество Java для приличного графического интерфейса, C / C ++ MEX для быстрогоне числовые части, такие как импорт, может быть SQL и т. д. С Java (или лучше C #) с бесплатной числовой библиотекой у вас есть только один язык, который идеально подходит для всего, что вам нужно в большом проекте.

Я не являюсьговоря, что MATLAB это плохо - это правила быстрого прототипирования и чисел!И у Simulink нет альтернатив (но их можно скомпилировать и использовать везде).

8 голосов
/ 18 февраля 2011

Возможно, вы захотите взглянуть на "Элементы стиля Matlab" ( обзор от Лорен Шуре).

Кроме того, этот обзор хороших методов кодирования может быть полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...