Иногда я пишу участок кода который позволяет удобней тестировать(например, игра тетрис, падает 40 блоков - показывается меню, мне лень ждать 40 - поставил 1), таких мест может быть много, сейчас я помечаю их TODO, но даже про TODO можно банально забыть. Как поступать в таких ситуациях?
Вот такой вариант будет хорошим?
public class GlobalVars{
static final boolean DEBUG = true;
}
А во всем другом коде помешать это все в
if(GlobalVars.DEBUG){
// никогда не должно попадать в релиз
}else{
// стандартная логика
}
Блин, ребят, новая проблема всплыла,а как это в коде то все красиво сделать? Сейчас так
if(balls.size > 15) { // TODO not 15 must be MAX_BALL
state = State.GAME_OVER;
Animation.add("gameOverBlack", 1, 0.4f, 700, new Animation.Sin());
Animation.add("gameOverOpacity", 0, 0.85f, 700, new Animation.Sin());
//Animation.add("gameOverBlack", 1, 0.4f, 600, new Animation.Linear());
//Animation.add("gameOverOpac", 1, 0.4f, 1);
}
А дальше появилось несколько вариантов, самый короткий но сложный
if( (balls.size > 15 && GlobalVars.DEBUG) || balls.size > MAX_BALL )
Можно вообще обобщить
if( (debug_condition && GlobalVars.DEBUG) || release_condition)
Или же
if(GlobalVars.DEBUG){
if(debug_condition){
// несколько строк, скорее всего одинаковых с нижними
}else
// несколько строк... одинаковых...
}
}else{
if(release_condition){
// несколько строк, скорее всего одинаковых с нижними
}else
// несколько строк... одинаковых...
}
}