That's bad design.
- What if the variable isn't in the base workspace?
- What if the variable name in the base workspace changes?
- What if the base workspace variable is overwritten?
- What if a completely different variable with the same name is present in the base workspace?
- If someone is reading your code to figure out how it works or to reproduce your results, there's absolutely no way for them to know where the value comes from. Even if you explain it well in a comment, it's still not reproducible.
The big question is, where did the workspace variable come from in the first place?
If the variable was entered directly by the user, use a dialog box to request the value from the user. The value will be entered directly into the app.
If the variable came from a mat file or some other input file, the app should read it / load it directly.
If the variable came from some other function, double yikes! The function should be called from the app directly rather than being called externally and then loaded into the app artificially.
If the variable is a product of many computations performed in the base workspace, again, double yikes! That can all be done within the app or within a single function that the app calls.
The main take-home message is to pass variables into the app by output functions to external or internal functions or by dialog boxes that request direct entry of data from the user.