Hello,
I'm having trouble with my programming style and I hope to get some feedback here.
I recently bought Javascript: The Good Parts and while I find this a big help, I'm still having trouble designing this application.
Especially when it comes to writing function and methods. Example:
I have a function that let's the user switches games in my app. This function updates game-specific information in the current view.
var games = {
active: Titanium.App.Properties.getString('active_game'),
gameswitcher_positions: {
'Game 1': 0,
'Game 2': 1,
'Game 3': 2,
'Game 4': 3,
'Game 5': 4
},
change: function(game) {
if (active_game !== game) {
gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage = gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage.replace('_selected', '');
gameswitcher.children[this.gameswitcher_positions[game]].backgroundImage = gameswitcher.children[this.gameswitcher_positions[game]].backgroundImage.replace('.png', '_selected.png');
events.update(game);
this.active = game;
}
},
init: function() {
gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage = gameswitcher.children[this.gameswitcher_positions[this.active]].backgroundImage.replace('.png', '_selected.png');
events.update(this.active);
}
};
gameswitcher is a container view which contains buttons to switch games.
I am not satisfied with this approach but I cannot think of a better one. Should I place the gameswitcher_positions outside of the variable in a seperate variable instead of as a property? And what about the active game?
Please give me feedback, what am I doing wrong?