Ho un progetto .NET al lavoro che fornisce un paio di script (Iron) Python ai clienti, per consentire loro di personalizzare l'output del programma. L'applicazione genera codice per determinate macchine e supporta un paio di formati diversi.
Fino a poco tempo fa, fornivamo solo uno script per un formato. Ci stiamo espandendo per includere il supporto per gli altri. Se l'utente sta utilizzando uno script, selezionano il loro script di input prima di generare il codice di output. Uno script progettato per Format1
output genererà errori se tentano di generare output Format2
. Devo occuparmi di questo.
Un'opzione sarebbe semplicemente lasciare che i clienti usino il buon senso e, se caricano lo script sbagliato, falliranno o, peggio, produrranno dati inaccurati. Sono propenso a fornire un po 'più di protezione.
Al momento sto considerando di mettere una riga di commento in stile shebang nella parte superiore dello script, ala:
# OUTPUT - Format1
Se l'utente tenta di eseguire un Format2
processo con uno script Format1
, li avviserà. In alternativa, potrei creare estensioni di file diverse per gli script di input che variano in base al tipo.
L'approccio ai commenti sul tipo di file aiuta a prevenire il caricamento scorretto dello script, a costo di non avvisare l'utente finché non lo ha già selezionato, tramite una finestra di dialogo. L'utilizzo di estensioni di file diverse mi consentirà di ridurre il disordine visivo quando fornisci una finestra di dialogo dei file, ma in realtà non impedisce loro di caricare lo script sbagliato.
Quindi non sono sicuro se l'approccio giusto sia semplicemente lasciarlo in pace o fornire alcune misure di sicurezza.