In casi semplici riesco a vedere subito quale direzione andare. Se sto passando una directory di lavoro al mio programma, ed è lo stesso per la maggior parte delle esecuzioni, rendi una variabile di configurazione.
Al contrario, se devo modificare una configurazione per ogni singola esecuzione del programma, probabilmente dovrebbe essere un argomento.
Cosa succede se le cose vivono in un'area grigia? A cosa dovrei prestare attenzione quando decido l'uno o l'altro?
NOTA: sto specificatamente lavorando su un programma di console che potrebbe essere demonizzato in ogni momento. Tuttavia, sono interessato a questa domanda in generale.