Meu programa precisa executar uma sequência de etapas do início ao fim. Mas, com base em entradas diferentes, o ponto de partida variará, por exemplo, alguns serão executados desde o primeiro passo até o fim, outros serão executados do 2º passo até o final, outros serão executados do 3º ao final, etc.
Eu só preciso de um design simples, atualmente eu uso o switch fall-through assim:
switch (step) {
case 1:
//do the 1st step
//fall through, so no break here
case 2:
//do the 2nd step
//fall through
case 3:
//do the 3rd step
//fall through
...
}
Funciona, mas a queda no código sempre me deixa desconfortável. Existe uma maneira melhor e simples de fazer isso?