This is a general programming question, not specific to Elixir. I do my fare share of scripting in LUA. Specifically I code IVR on freeswitch / Asterisk. So a common scenario I have is that there is a bunch of configurations parameters that I have to load in memory every time I run a script (e.g. every time a call hits the IVR). I am coding a project now where the number of configuration parameters is quite large (about 200) - please do not focus on the why of this, that is not the aim of the question.
So, what I usually do is to have a config.lua somehere where I define all these parameters as global variables:
__parameter001__ = value01 __parameter001__ = value02 __parameter_N__ = value_N
Not elegant but it does the job. So, I was thinking, would it be more efficient to have a “config getcher” fuction? Something like this :
function get_parameter(parameter) if(parameter == '__parameter001__')then return value01; elseif(parameter == '__parameter002__')then return value02; elseif(parameter == '__parameter_N__')then return value_N; else return 'no_value_set'; end; end
In my code I would simply call this function everytime I need a parameter value:
my_parameter = get_parameter('__parameter001__');
So, instead of loading a lot of global variables I would be calling a function every time to get the value of a parameter.
My question is: is this something sensible to do? Should I just simply keep loading the parameters in memory?
I know this is not an Elixir question and my example is LUA based but I believe this is language independent discussion. Also, this forum is much more professional than any LUA forum out there (that I know of), so I’d love to know your opinion.