Se mi trovo di fronte alla decisione di scrivere un codice pulito, bello, ma mi piacerebbe aprire un nuovo percorso che i bug potrebbero prendere per apparire, dovrei prenderlo? (Purché non sia disposto a dedicare il tempo a trovare un modo che soddisfi entrambi).
Per elaborare: sto scrivendo un gioco Pong come pratica, e potrei scrivere la stessa identica riga di codice in due istruzioni if-else o includerla come un'altra istruzione. Quest'ultimo approccio è sicuramente più elegante, ma significa che qualsiasi oggetto di gioco non contato lo attiverà. Non dovrebbero.
Ora, dato che questo è un gioco Pong, gli unici oggetti di gioco sono le due racchette (o qualunque cosa siano chiamate), la palla e le pareti visibili che la palla può rimbalzare (cioè quelle orizzontali) o le pareti invisibili che servono da grilletti per attraversare per segnare un punto (cioè muri verticali). Quindi, l'aggiunta di un'altra istruzione non dovrebbe essere catastrofica in questo caso.
Ma in altri casi simili che incontrerei in futuro, lavorando ad altri progetti? Dovrei trascurare di scrivere codice pulito a favore della praticità o no? O dovrei forse includere un errore che verrebbe stampato sulla console nel caso in cui venga disattivato, per identificarmi e rendere più facile il debug? O dovrei davvero prendermi il tempo per scrivere codice che sia al contempo pulito e che prevenga l'errore?
Voglio risposte dal punto di vista sia di uno sviluppatore solista che di un membro di una squadra. Non deve riguardare lo sviluppo del gioco, ma piuttosto la programmazione in generale.
Qual è la pratica migliore?