Por lo general, veo algunos usando la declaración en la parte superior del archivo de clase. Ejemplo:
using System.Collections.Generic;
using System.IO;
using System.Xml.Linq;
Pero en un proyecto en el que estoy trabajando, en varias ocasiones veo 20 o más usos / importaciones en un archivo de clase. ¿Es este un mal diseño? Parece ser que las clases diseñadas para hacer una cosa solo deberían depender de unos pocos componentes.
programming-practices
Jon Raynor
fuente
fuente
using
declaraciones no utilizadas . Es posible que desee ver cuántos de esos 20 están en uso real.using
declaraciones sin tener que aumentar el número de clases? Tenga en cuenta que aumentar el número de clases o archivos fuente aumentará la sobrecarga de administración del código fuente.Respuestas:
Puede indicar un mal diseño, sí. Puede ser que la clase que está viendo esté haciendo demasiadas cosas, pero también puede significar que los espacios de nombres que está importando están realmente más acoplados de lo que implica la separación del espacio de nombres. Eso puede deberse a un exceso de ingeniería o abstracción excesiva, pero también podría ser un diseño que no se alinea bien con el uso.
Dicho esto, es un olor, a veces te lleva a algo malo, y a veces es solo una falsa alarma.
fuente
using
en un solo archivo C #.Una clase no debe ser más grande ni más pequeña de lo que se necesita para proporcionar una función deseada.
En una aplicación, tengo una clase de cifrado que tiene un trabajo: cifrar datos. Entre la funcionalidad principal, el registro y el manejo de excepciones, el entorno requiere 11 importaciones de espacios de nombres distintos para realizar este único trabajo.
Me es difícil decirme a mí mismo 'minimizar las importaciones'. O para juzgar el éxito de mi clase únicamente contando el número de espacios de nombres importados. No puedo usar esto justificadamente, de forma aislada, como una indicación del éxito de una clase. Para mí, 'importaciones' son los medios para el fin de la clase. Si el trabajo de la clase está bien definido, todo lo demás dentro del sistema de soporte, incluidas las importaciones, se encargará de sí mismo.
fuente