MDRT Code Conventions - nickcounts/MDRT GitHub Wiki
Conventions for MDRT Developers and Administrators
Conventions for Variables in code
Data Naming Conventions:
FD Names for Modified Data
Some FDs may require additional processing such as smoothing, filtering, or subsampling. In these cases, append the appropriate descriptive word to the full string version of the FD and to the .Name property of the timeseries object.
Subsampled Data Sets
Lightweight is reserved for FDs with high sample rates, or which for any reason have had original data points removed without altering the values of the remaining data.
fd.FullString = 'DCVNC-8030 Solenoid Voltage - Lightweight';
fd.ts.Name = 'DCVNC-8030 Solenoid Voltage - Lightweight';
Filtered Data Sets
The Filtered tag should be properly applied to any set that has been passed through a matlab filter or that specifically targets the removal of certain frequencies from the data.
fd.FullString = 'LN2 PT-3918 Press Sensor Mon - Filtered'
fd.ts.Name = 'LN2 PT-3918 Press Sensor Mon - Filtered'
Smoothed Data Sets
The Smoothed keyword may be applied to any FD that has been modified in such a way as to make jittery or noisy data appear smooth (continuous derivative). This can include moving/sliding averaging techniques.
fd.FullString = 'Ghe PT-4919 Press Sensor Mon - Smoothed'
fd.ts.Name = 'Ghe PT-4919 Press Sensor Mon - Smoothed'
Variable Naming Conventions:
Constants
MDRT Style prefers all capital letters with underscores separating words for constant definitions.
PAGE_WIDTH_INCHES = 8.5;
Class Names
Class Names should be human readable, give an indication of their function, and use Camel Case, with the first letter capitalized.
FileListBox
MDRTConfig
File Names
MDRT uses a variant of Hungarian notation for clarity when dealing with file names.
rootDir_path = uigetdir();
backupFileName_str = 'backup.ext';
backupFullFile = fullfile(rootDir_path, backupFileName_str);
backupFileFID = open(backupFullFile)
True/False - boolean
For typical single booleans, MDRT style prefers the is or has prefix for semantic readability. In the case of boolean vectors, the prefix bv is preferred for clarity.
bvFilterIndex = [true, true, false, true];
isValidName = true;
hasErrorMessage = false;