Biasanya, saya melihat beberapa pernyataan menggunakan di bagian atas file kelas. Contoh:
using System.Collections.Generic;
using System.IO;
using System.Xml.Linq;
Tetapi dalam proyek yang sedang saya kerjakan, pada beberapa kesempatan saya melihat 20 atau lebih penggunaan / impor dalam satu file kelas. Apakah ini desain yang buruk? Tampaknya kelas-kelas yang dirancang untuk melakukan satu hal seharusnya hanya bergantung pada beberapa komponen.
programming-practices
Jon Raynor
sumber
sumber
using
pernyataan yang tidak digunakan . Anda mungkin ingin melihat berapa banyak dari 20 yang sedang digunakan.using
pernyataan tanpa harus menambah jumlah kelas? Perlu diingat bahwa peningkatan jumlah kelas atau file sumber akan meningkatkan overhead manajemen kode sumber.Jawaban:
Itu bisa menunjukkan desain yang buruk, ya. Mungkin kelas yang Anda lihat melakukan terlalu banyak hal, tetapi itu juga bisa berarti bahwa ruang nama yang Anda impor benar-benar lebih berpasangan daripada yang disiratkan oleh pemisahan namespace. Itu mungkin karena over-engineer atau over-abstraction, tetapi mungkin juga hanya desain yang tidak selaras dengan penggunaan.
Yang mengatakan, itu bau - kadang-kadang itu membawa Anda ke sesuatu yang buruk, dan kadang-kadang itu hanya alarm palsu.
sumber
using
dalam satu file C #.Kelas tidak boleh lebih besar dan tidak lebih kecil dari yang dibutuhkan untuk menyediakan fungsi yang diinginkan.
Dalam satu aplikasi, saya memiliki kelas enkripsi yang memiliki satu pekerjaan: mengenkripsi data. Antara fungsionalitas inti, pencatatan, dan penanganan pengecualian, lingkungan membutuhkan 11 impor namespace yang berbeda untuk melakukan pekerjaan yang satu ini.
Sulit bagi saya untuk mengatakan pada diri sendiri 'meminimalkan impor'. Atau untuk menilai keberhasilan kelas saya hanya dengan menghitung jumlah ruang nama yang diimpor. Saya tidak dapat menggunakan ini secara terpisah, sebagai isolasi, sebagai indikasi keberhasilan suatu kelas. Bagi saya, 'impor' adalah sarana untuk mengakhiri kelas. Jika pekerjaan kelas didefinisikan dengan baik, semua hal lain dalam sistem pendukung, termasuk impor, akan mengurus dirinya sendiri.
sumber