From my experience, it would be more useful for terminals on the connector pane to default to Required instead of Recommended.
Here's my thinking:
- Usually You Want It - In general, when you create a SubVI you require all of the inputs, in which case it is a pain to go and change every terminal individually to required.
- Conscience Programming - If you are creating inputs for your SubVI that are not required, chances are you are very conscience of this, have done it intentionally, and written code to handle that case where the terminal is not wired.
- Easier Debugging - If Required terminals are not wired, VIs will be broken, i.e. you have compile errors instead of run-time errors. These are much easier to debug (especially when the errors appear on functions inside your SubVI that did not receive their required inputs). If in fact the terminal should not be required you are prompted to make that decision, instead of finding at run-time that your program does not work as expected.
I completely understand why we need these three categories. However, it seems that the usual use-case is and should be Required and therefore the default should refelct this.
Chris V
Applications Engineer
National Instruments