¿Cómo determinar cómo llamar a una clase XHelper o XUtils?
En mi mente:
Helper class , es una clase que se puede instanciar y hacer algunos trabajos comerciales
La clase Utils , es una clase estática que realiza operaciones pequeñas y repetitivas en una especie de instancia (ejemplo de clases de utils ArrayUtils o IOUtils de Apache)
Utils
para una clase estática que podría utilizarse en cualquier lugar de la organización o en otra organización. UnaHelper
clase tiene un código común que se puede reutilizar dentro de un proyecto y tiene dependencias dentro del proyecto. Por supuesto, no existe una regla generalmente aceptada, pero me parece útil.Respuestas:
Hay muchos estilos de nombres para usar. Sugeriría Utils solo porque es más común.
Se entiende que una clase de utilidad solo tiene métodos estáticos y no tiene estado. No crearía una instancia de tal clase.
Un ayudante puede ser una clase de utilidad o puede tener estado o requerir la creación de una instancia. Evitaría esto si fuera posible.
Si puede hacer el nombre más específico. por ejemplo, si tiene métodos de clasificación, conviértalo en XSorter
Para matrices, puede encontrar clases auxiliares como
Por cierto, una mano corta para una clase de utilidad es una enumeración sin instancias
Si necesita implementar una interfaz, usaría un Singleton sin estado.
fuente
¿En general? Es completamente arbitrario. No hay reglas para esto.
fuente
Una utilidad es una clase de "nodo hoja" de uso general. Es decir, no tiene ninguna dependencia en su proyecto y se puede portar de un proyecto a otro sin romperse o volverse inútil. Ejemplos:
Vector3
,RandomNumberGenerator
,StringMatcher
, etc ...Un "ayudante" parece ser cualquier clase cuyo diseño es ayudar a otra clase. Estos pueden o no depender de su proyecto. Si está creando una
GameNetworkClient
clase, podría decir que laGameNetworkConnection
clase es un 'ayudante', porque "ayuda" alGameNetworkClient
.La forma en que los desarrolladores se refieren a las herramientas refleja el uso común de estas palabras. Si puede recordar las herramientas auditivas descritas como "útiles" frente a "útiles", una herramienta útil tiende a tener algún contexto (el rallador de queso ayuda a rallar el queso, el pelador de maíz ayuda a pelar el maíz, el cargador rápido ayuda a recargar un arma de fuego). Se espera que una "utilidad" funcione en una variedad de contextos (WD-40, cinta adhesiva, navajas, pegamento, linterna, etc.).
fuente
Como dijo Jesper, es completamente arbitrario . Puede pensar en lo que funciona para su organización y convertirlo en convención.
Para mí, es algo como esto:
Realización de tareas generales que puedan ser de utilidad en diferentes módulos. Como dijo Peter Lawrey, los nombres más específicos son útiles.
Tareas que solo se utilizan en el módulo en el que se encuentra y no tienen sentido importarlas en otro lugar. Por lo tanto, el nombre podría ser más específico: ModuleName Helper (por ejemplo , AdministrationHelper , LoginHelper )
fuente
No hay una respuesta definitiva para esto. Encuentra un esquema de nomenclatura y cúmplelo. Nombrar sus paquetes y clases es una parte importante de la arquitectura del software, y nadie puede quitarle esa decisión.
Personalmente, me gusta más XHelper, pero veo XUtils con más frecuencia en código extranjero.
También me gusta el esquema de nomenclatura en "plural" que encontrarás tanto en el JDK como en Guava :
si una clase trata con
Collection
objetos, se llamaCollections
Array> Arrays (jdk)
Lista> Listas (guava)
Mapa> Mapas (guava)
etc.
fuente