Yarn: Ayudante vs Util vs Utils

Creado en 9 feb. 2020  ·  24Comentarios  ·  Fuente: FabricMC/yarn

Hay 12 clases con el sufijo Helper :

net/minecraft/server/rcon/BufferHelper
net/minecraft/server/rcon/DataStreamHelper
net/minecraft/client/gui/DrawableHelper
net/minecraft/client/util/math/Rotation3Helper
net/minecraft/client/util/DefaultSkinHelper
net/minecraft/client/texture/MipmapHelper
net/minecraft/nbt/NbtHelper
net/minecraft/block/RailPlacementHelper
net/minecraft/world/SpawnHelper
net/minecraft/util/JsonHelper
net/minecraft/util/math/MathHelper
net/minecraft/enchantment/EnchantmentHelper

Hay 17 clases con el sufijo Util :

net/minecraft/client/sound/AlUtil
net/minecraft/client/util/InputUtil
net/minecraft/client/util/GlfwUtil
net/minecraft/client/util/SmoothUtil
net/minecraft/client/model/ModelUtil
net/minecraft/client/texture/TextureUtil
net/minecraft/util/ChatUtil
net/minecraft/util/MapUtil
net/minecraft/util/FileNameUtil
net/minecraft/util/Util
net/minecraft/entity/ProjectileUtil
net/minecraft/entity/ai/brain/task/LookTargetUtil
net/minecraft/entity/effect/StatusEffectUtil
net/minecraft/entity/DamageUtil
net/minecraft/potion/PotionUtil
net/minecraft/test/StructureTestUtil
net/minecraft/test/TestUtil

Hay 5 clases con el sufijo Utils :

net/minecraft/client/util/ScreenshotUtils
net/minecraft/client/util/NetworkUtils
net/minecraft/client/util/GlAllocationUtils
net/minecraft/network/NetworkThreadUtils
net/minecraft/network/NetworkEncryptionUtils

Probablemente deberíamos elegir un estándar y ceñirnos a él. Personalmente estoy a favor de Utils, pero me gustaría escuchar la opinión de otros.

discussion

Comentario más útil

Me gusta más el singular Util . 👍 para Util. 👎 para Helper, 😕 para Utils

Todos 24 comentarios

Me gusta más el singular Util . 👍 para Util. 👎 para Helper, 😕 para Utils

tbh podría ir de cualquier manera, solo seamos consistentes.

Además, si tenemos verbos, podemos usar -ing (gerundio), por ejemplo, Chatting NetworkThreading , o sustantivos en plural, por ejemplo, Projectiles Screenshots sobre Helper Util etc

Eso hace que sea difícil para algunas cosas como MathHelper -> Maths ?? O Util -> s ??

He defendido Maths hace mucho tiempo, dado que es una abreviatura válida para Mathematics . https://github.com/FabricMC/yarn/issues/249#issuecomment-446102638

Yarn usa nombres en inglés americano, donde Maths no es una abreviatura válida para Mathematics .

En este caso, donde no se aplica ni el gerundio ni el plural, sugiero recurrir al sufijo Helper . De lo contrario, prefiera ing o s , como Texts

Además DrawableHelper no es una clase de utilidad, sino una interfaz funcional o una clase abstracta con muchos métodos de instancia convenientes.

Mi problema con la propuesta de liach con -ing y -s es que hace que sea muy difícil hacer que algo sea consistente, anulando por completo el propósito del problema. Podría hacer que las clases de utilidad de los sustantivos terminen en -s , pero luego tendrá excepciones: Nbts , RailPlacements , Maps ? Sería imposible hacerlo consistente.

Debemos adoptar un estándar y ceñirnos a él. En cuanto a la votación, debería ser Helper o Util , pero no Utils .

Un argumento para Util sobre Helper es que la clase Util en sí misma no tiene sentido para llamarse Helper . Creo que MathHelper que se llame MathUtil no sería tan malo, es solo que todos están acostumbrados a que se llame MathHelper . He trabajado en proyectos donde la clase de utilidad matemática se ha llamado MathUtil , y ha estado absolutamente bien, no hace la diferencia. El nombre MathUtil ni siquiera se discutió en el problema de cambio de nombre MathHelper .

Hay más clases de $ Util que clases de Helper actualmente, pero eso debe ponderarse según la frecuencia con la que se usan realmente las clases, así que lo investigaré ahora e informaré los resultados. .

Parece que la mayoría de la gente está a favor del sufijo Helper . Por lo tanto, propongo cambiar el nombre de todas las clases actuales que terminan en Util o Utils (excepto la clase Util ) para que terminen en Helper . Los cambios de nombre de otras clases para terminar en Helper pueden discutirse en ediciones separadas.

Parece que la mayoría de la gente está a favor del sufijo Helper .

¿No?

votes

Oh, ups, debo estar ciego. Luego propongo que cambiemos el nombre de todas las clases que terminan en Helper para que en su lugar terminen en Util .

Propongo que los sufijos son obra del diablo y que renombramos todas las clases que terminan en *elperer y *til para que no tengan ese sufijo.

MathHelper -> Maths .

PiglinHelper -> Piglins

Yarn usa nombres en inglés americano, donde Maths no es una abreviatura válida para Mathematics .

Pensé que Maths era un término exclusivamente estadounidense.

MathHelper -> Mathinator

Maps ? I

Tenga en cuenta también que Guayaba (¿creo que era guayaba?) usa el patrón plural: Maps , Sets , Collections , Streams .

Este era mi problema con el uso de plurales. Aunque los nombres se ven bien, hay demasiadas excepciones. Ya sea porque la palabra es un sustantivo masivo (p. ej., "matemáticas") y, por lo tanto, no tiene plural, o porque el plural ya está ocupado por otra biblioteca (p. ej., "mapa"). Sería demasiado difícil mantenerse constante, derrotando el punto de cambiarlos en primer lugar.

Nombres que estarían bien en plural:

  • tampones
  • flujos de datos
  • Dibujables
  • Máscaras predeterminadas
  • Mapas MIP
  • Nbts
  • Ubicaciones Ferroviarias
  • Engendros
  • Entradas
  • Modelos
  • Texturas
  • Nombres de archivo
  • proyectiles
  • BuscarObjetivos
  • EstructuraPruebas
  • Pruebas
  • capturas de pantalla
  • AsignacionesGl

Nombres que no están bien porque son sustantivos masivos o no son sustantivos:

  • Jsons
  • Matemáticas
  • también
  • Glfws
  • Suaviza
  • Daños (el plural tiene otro significado)
  • Redes (solo hay una red aquí)
  • NetworkThreads (solo hay un hilo de red)
  • Cifrados de red

Nombres que no están bien porque ya están ocupados:

  • encantamientos
  • mapas
  • Efectos de estado
  • pociones

Nombres que no están bien por diversas razones:

  • Rotation3s (este nombre requiere más reflexión)
  • Chats (aunque técnicamente es el plural de chat, no encaja bien como una clase de utilidad para "el chat", suponiendo que sea para eso. Si es para componentes de texto, entonces "Textos" sería un buen nombre)
  • Utils (no podemos cambiar el nombre de esto a "s" lol, es mejor mantenerlo como "Util")

En total, 18/34 nombres estarían bien en plural, lo que significa que tendríamos que encontrar mejores nombres para los otros 16. Hasta aquí la coherencia.

Estaría de acuerdo con usar plurales donde tenga sentido y recurrir a un sufijo Util donde no tenga sentido. Entonces al menos tenemos una regla a seguir en lugar de elegir al azar entre "Ayudante" y "Util", que es lo que hacemos actualmente.

Sin embargo, @Earthcomputer NetworkThreads funciona bien. Son utilidades para trabajar con hilos de red. No importa que solo haya uno de ellos.

Puede que no esté de acuerdo conmigo en uno o dos de esos puntos, pero ese no es el punto, no cambia mucho la proporción general de 18/34.

Argumentaría por Util o Helper , eliminarlos por completo no tiene mucho sentido para mí.

Por cierto, algunos no pueden llamarse Util . Por ejemplo, DataStreamHelper no es una clase útil, es un objeto que envuelve un flujo de datos.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

enbrain picture enbrain  ·  4Comentarios

copygirl picture copygirl  ·  6Comentarios

altrisi picture altrisi  ·  4Comentarios

Runemoro picture Runemoro  ·  3Comentarios

Runemoro picture Runemoro  ·  4Comentarios