L'uso di molte istruzioni di importazione / importazione indica un cattivo design o odore di codice?

13

In genere, vedo alcune istruzioni usando nella parte superiore del file di classe. Esempio:

using System.Collections.Generic;
using System.IO;
using System.Xml.Linq;

Ma in un progetto a cui sto lavorando, in diverse occasioni vedo 20 o più usanze / importazioni in un file di classe. Questo cattivo design? Sembra che le classi progettate per fare una cosa dovrebbero basarsi solo su alcuni componenti.

    
posta Jon Raynor 23.03.2016 - 18:52
fonte

2 risposte

21

Può indicare un cattivo design, sì. Potrebbe essere che la classe che stai guardando stia facendo troppe cose, ma potrebbe anche significare che gli spazi dei nomi che stai importando sono davvero più accoppiati di quanto implichi la separazione dei namespace. Ciò potrebbe essere dovuto a un eccesso di ingegnerizzazione o di eccessiva astrazione, ma potrebbe anche essere solo un disegno che non si allinea bene con l'uso.

Detto questo, è un odore - a volte ti porta a qualcosa di brutto, ea volte è solo un falso allarme.

    
risposta data 23.03.2016 - 19:11
fonte
2

Una classe non dovrebbe essere più grande e non più piccola di quella necessaria per fornire una funzione desiderata.

In un'applicazione, ho una classe di crittografia che ha un lavoro: crittografare i dati. Tra la funzionalità di base, la registrazione e la gestione delle eccezioni, l'ambiente richiede 11 importazioni di namespace distinte per svolgere questo unico lavoro.

È difficile per me dirmi "minimizzare le importazioni". O per giudicare il successo della mia classe solo contando il numero di domini importati. Non posso legittimamente usare questo, da solo, come indicazione del successo di una classe. Per me, le "importazioni" sono i mezzi per la fine della classe. Se il lavoro della classe è ben definito, tutto il resto nel sistema di supporto, incluse le importazioni, si prenderà cura di se stesso.

    
risposta data 29.03.2016 - 20:41
fonte

Leggi altre domande sui tag