Есть 12 классов с суффиксом 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
Есть 17 классов с суффиксом 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
Есть 5 классов с суффиксом Utils
:
net/minecraft/client/util/ScreenshotUtils
net/minecraft/client/util/NetworkUtils
net/minecraft/client/util/GlAllocationUtils
net/minecraft/network/NetworkThreadUtils
net/minecraft/network/NetworkEncryptionUtils
Вероятно, нам следует выбрать стандарт и придерживаться его. Я лично за Utils, но хотелось бы услышать мнение других.
Мне больше всего нравится единственное число Util
. 👍 для полезности. 👎 для помощника, 😕 для утилиты
tbh Я мог бы пойти любым путем, просто давайте будем последовательны.
Также, если у нас есть глаголы, мы можем использовать -ing (герундий), например, Chatting
NetworkThreading
, или существительные во множественном числе, например, Projectiles
Screenshots
над Helper
Util
и т.д.
Это затрудняет некоторые вещи, такие как MathHelper
-> Maths
?? Или Util
-> s
??
Я уже давно выступал за Maths
, учитывая, что это действительное сокращение для Mathematics
. https://github.com/FabricMC/yarn/issues/249#issuecomment-446102638
Yarn использует имена в американском английском, где Maths
не является допустимым сокращением для Mathematics
.
В этом случае, когда не применяется ни герундий, ни множественное число, я предлагаю вернуться к суффиксу Helper
. В противном случае предпочтите ing
или s
, например Texts
Также DrawableHelper
— это не служебный класс, а функциональный интерфейс или абстрактный класс с множеством удобных методов экземпляра.
Моя проблема с предложением liach с -ing и -s заключается в том, что очень трудно сделать что-либо последовательным, что полностью противоречит цели проблемы. Вы могли бы сделать так, чтобы подсчет служебных классов существительных заканчивался на -s
, но тогда у вас будут исключения: Nbts
, RailPlacements
, Maps
? Было бы невозможно сделать последовательным.
Мы должны принять стандарт и придерживаться его. Глядя на голосование, это должно быть либо Helper
, либо Util
, но не Utils
.
Одним из аргументов в пользу Util
вместо Helper
является то, что сам класс Util
не имеет смысла называться Helper
. Я думаю, что MathHelper
называться MathUtil
было бы не так уж плохо, просто все привыкли, что его называют MathHelper
. Я работал в проектах, где математический служебный класс назывался MathUtil
, и это было абсолютно нормально, не имеет значения. Имя MathUtil
даже не обсуждалось в вопросе о переименовании MathHelper
.
В настоящее время существует больше классов Util
, чем классов Helper
, но это должно быть взвешено по тому, как часто классы фактически используются, поэтому я собираюсь изучить это сейчас и сообщить о результатах. .
Кажется, что большинство людей за суффикс Helper
. Поэтому я предлагаю переименовать все текущие классы, заканчивающиеся на Util
или Utils
(кроме самого класса Util
), чтобы они заканчивались на Helper
. Переименование других классов на Helper
можно обсудить в отдельных темах.
Кажется, что большинство людей за суффикс
Helper
.
Нет?
О, упс, я, должно быть, ослеп. Затем я предлагаю переименовать все классы, оканчивающиеся на Helper
, чтобы они заканчивались на Util
.
Я предлагаю, чтобы суффиксы были работой дьявола, и чтобы мы переименовали все классы, оканчивающиеся на *elperer
и *til
, чтобы у них не было этого суффикса.
MathHelper
-> Maths
.
PiglinHelper
-> Piglins
Yarn использует имена в американском английском, где
Maths
не является допустимым сокращением дляMathematics
.
Я думал, Maths
— исключительно американский термин?
MathHelper
-> Mathinator
Maps
? я
Также обратите внимание, что Guava (я думаю, это была Guava?) использует шаблон множественного числа: Maps
, Sets
, Collections
, Streams
.
Это была моя проблема с использованием множественного числа. Хотя имена выглядят красиво, исключений слишком много. Либо потому, что слово является массовым существительным (например, "математика") и, следовательно, не имеет множественного числа, либо потому, что множественное число уже занято другой библиотекой (например, "карта"). Было бы слишком сложно оставаться последовательным, в первую очередь побеждая смысл их изменения.
Имена, которые уместны во множественном числе:
Имена, которые не подходят, потому что они являются массовыми существительными или не являются существительными:
Имена, которые не подходят, потому что они уже заняты:
Имена, которые не подходят по разным причинам:
В общей сложности 18 из 34 имен будут приемлемы во множественном числе, а это означает, что нам придется придумать лучшие имена для остальных 16. Вот вам и последовательность.
Я был бы согласен использовать множественное число там, где это имеет смысл, и возвращаться к суффиксу Util, где это не имеет смысла. Тогда, по крайней мере, у нас есть правило, которому нужно следовать, а не случайный выбор между «Помощником» и «Полезностью», что мы сейчас и делаем.
Однако @Earthcomputer NetworkThreads
работает нормально. Это утилиты для работы с сетевыми потоками. Неважно, что есть только один из них.
Вы можете не согласиться со мной по одному или двум пунктам, но суть не в этом, это не сильно меняет общее соотношение 18/34.
Я бы поспорил либо за Util
, либо Helper
, полное их удаление не имеет для меня особого смысла.
Кстати, некоторые нельзя назвать Util
. Например, DataStreamHelper
— это не служебный класс, а объект, обертывающий поток данных.
Самый полезный комментарий
Мне больше всего нравится единственное число
Util
. 👍 для полезности. 👎 для помощника, 😕 для утилиты