Ho un progetto Python piuttosto consistente che ho sviluppato come sforzo educativo. La versione del codice che deve essere data agli studenti ha esercizi in tutto, sotto forma di codice che ho cancellato e sostituito con un'eccezione. Per essere precisi:
def mk_eq_term(i):
# raise ExerciseError("BitBlaster::bitblast_EQ_Core")
return PL.And(val,PL.Iff(le.bits[i],re.bits[i]))
L'ultima riga è il codice reale; la seconda riga è ciò che deve essere nel codice dato agli studenti, una volta non commentato. Non sono un esperto di controllo della versione (in effetti, al momento, non uso il controllo di revisione), ma la mia lettura sull'argomento indica che questo caso d'uso non è ottimale. Sembra che dovrò mantenere due rami separati e che qualsiasi modifica che apporterò alla versione "produzione" dovrà essere riconciliata con la versione "educativa", anche se non mi aspetto o non intendo apportare modifiche al codice base che modificherà le soluzioni degli esercizi.
Qual è la soluzione migliore per mantenere qualcosa del genere?