Приветствую! Изучаю среду сам, по мере выполнения проекта на работе. За период создания приложения походил по граблям, несколько раз всё переписывал и "отшкуривал", но нет предела совершенству, поэтому прошу опытных коллег поделиться мастерством и указать на места, которые можно доделать или сделать по-другому. Что можно сделать оптимальнее в плане ресурсов, что можно сделать более профессионально, чтобы код не смотрелся дилетантским. Буду рад любым замечаниям.
Сам проект довольно большой, поэтому начну с его части - формирование затухающих импульсов data_input. Все subVI прикреплять не буду, только те, которые реализуют сам алгоритм.
Коротко о программе: есть два режима: авто и ручной (кнопка Корректировка таблицы их переключает - в авто режиме таблицу редактировать нельзя). В авто-режиме импульсы строятся по следующим параметрам: Амплитуда первого импульса, режим затухания (линейный/экспоненциальный), декремент затухания (или коэф-т убывания при линейном), время фронтов (t1=t3) и длительность импульса t2. Также программно заданы амплитуда минимального импульса и времена пауз t4 (зависят от амплитуды). Программа рассчитывает количество импульсов и заносит в таблицу все параметры каждого импульса. При выделении строк в таблице также выделяются импульсы на графике. Кроме импульсов также рисуется огибающая.
В режиме корректировки таблицы можно каждый импульс задавать отдельно, редактируя нужную строку. Есть возможность сохранения или загрузки таблицы.
Да, есть ещё режим отр. импульсов (Mode) - если он true, то каждый отрицательный импульс равен предыдущему положительному, а не уменьшается.
Я пытался всё комментировать, но иногда сам путаюсь в своём де коде - так что задавайте вопросы по программе, подробно распишу.
Сама программа работает как надо (за исключением нескольких моментов, о которых я знаю), но вот что касается красоты кода - мне не с чем сравнить, только недавно открыл для себя конечные автоматы, может, я ещё чего полезного не знаю...