Rendere le conversioni di tipo più leggibili

1

Se crei una funzione, che dovrebbe rendere più facile l'uso di typeconversion, ma potrebbe portare a più errori, implementarla globalmente e cosa potrebbe controbattere - quando la leggibilità sembra essere migliorata?

Per esempio (semplice):

public static T EnforceConversion<T>(this object Result)
{
    return (T)System.Convert.ChangeType(Result, typeof(T));
}

Questo è l'esempio più semplice che potrei trovare. La notazione di resultion è IMHO molto più facile da leggere, quindi la sintassi a lungo termine, che richiede un tipo specifico inserito nel metodo.

Potresti chiamarlo come:

"True".EnforceConversion<Boolean>();

Quale penso abbia i suoi meriti.

Un altro programmatore potrebbe finire con l'idea, di mettere in tipi che non possono essere più o meno implicitamente castati, rischieresti tali conseguenze per il tuo codice? La visualizzazione dell'errore sarà più o meno gestibile come nella chiamata originale.

Esempio:

FileInfo MyFile = FileUtilites.SelectFile();
MyFile.EnforceConversion<Boolean>();
    
posta mayen 04.10.2018 - 15:42
fonte

1 risposta

1

Ci sono due motivi per cui vorrai evitare questo.

In primo luogo, i programmatori esperti che già conoscono la lunga sintassi dovranno imparare una nuova astrazione. Sebbene di per sé, non è un grosso problema, è sempre più facile per i neofiti di un progetto sentirsi a casa con il codice che rispetta standard ben noti.

In secondo luogo, aggiungi una dipendenza nel tuo codice. Fondamentalmente, ovunque ti serva una conversione di tipo, dovrai importare o riscrivere la tua funzione.

Anche se il codice è un po 'più breve e ha un nome un po' più esplicito, è probabile che mantenere questo standard in tutto il progetto costa più di quello che ne trarrà vantaggio.

    
risposta data 08.10.2018 - 21:14
fonte

Leggi altre domande sui tag