C'è uno standard per quando includi le librerie o no?

6

Spesso mi imbatto in una classe che ha un singolo riferimento a un'altra libreria e mi chiedevo se è meglio includere la libreria o fare riferimento all'oggetto tramite il suo nome completo. Uno è migliore dell'altro? È uno più di uno standard di un altro?

Ad esempio utilizzando System.Windows.Messagebox:

Opzione A:

using System.Windows;

public class MyClass
{
    SomeMethod()
    {
        MessageBox.Show("Something");
    }
}

Opzione B:

public class MyClass
{
    SomeMethod()
    {
        System.Windows.MessageBox.Show("Something");
    }
}

Se B, quanti riferimenti hai bisogno prima di decidere di aggiungere l'intera libreria?

    
posta Rachel 06.10.2010 - 21:26
fonte

4 risposte

9

Preferirei l'opzione A '. Dichiara chiaramente che questo file utilizza effettivamente quella libreria. E chiunque sia nuovo al codice non cercherà segni di riferimenti esterni attraverso l'intero file. Non so comunque di questi standard, solo un ragionamento.

    
risposta data 06.10.2010 - 21:42
fonte
1

Se è effettivamente un uso singolo, tendo ad andare con l'opzione B. Tuttavia, nel momento in cui noto più di un singolo uso, è normalmente meglio come opzione A. Potrebbe essere solo io, ma non lo so come inquinare lo spazio dei nomi predefinito con potenzialmente un numero elevato di identificatori, solo uno dei quali è mai usato e solo una volta.

Questo differisce in qualche modo in base alla dimensione dello spazio dei nomi indicato nella direttiva using; un ampio spazio dei nomi, come System.Windows, vede un maggior controllo sulla mia tastiera rispetto a, ad esempio, System.Collections.Generic. Dipende anche in qualche modo dalle dimensioni del file del codice sorgente; in un file di piccole dimensioni, è più facile avere una panoramica di cosa potrebbe fare l'aggiunta di una clausola using. (Sì, so che il migliore sarebbe spesso il refactoring e la suddivisione in classi e file più piccoli, ma a volte non è pratico farlo all'interno di una piccola attività.)

    
risposta data 25.10.2010 - 16:10
fonte
0

La mia regola generale è che se uso una libreria molto in un particolare file di classe, la includerò (sembra più ordinata e salva la digitazione). Ma se c'è solo un riferimento a una classe usata raramente nel mio codice, allora potrei farvi riferimento usando il nome completo (in questo modo è ovvio quale sia lo spazio dei nomi in cui si trova).

Non dimenticare che in Visual Studio puoi comprimere le definizioni degli spazi dei nomi e anche rimuovere facilmente le istruzioni using inutilizzate, se trovi che ne hai molte.

    
risposta data 06.10.2010 - 22:00
fonte
-1

L'opzione A identifica chiaramente le dipendenze della classe. Se ne ha troppi, lo noterai molto facilmente.

    
risposta data 06.10.2010 - 22:24
fonte

Leggi altre domande sui tag