Yarn: المساعد مقابل Utils مقابل Utils

تم إنشاؤها على ٩ فبراير ٢٠٢٠  ·  24تعليقات  ·  مصدر: FabricMC/yarn

يوجد 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 ، لكني أرغب في سماع رأي الآخرين.

discussion

التعليق الأكثر فائدة

أنا أحب المفرد Util الأفضل. 👍 لـ Util. 👎 للمساعد ، 😕 لـ Utils

ال 24 كومينتر

أنا أحب المفرد Util الأفضل. 👍 لـ Util. 👎 للمساعد ، 😕 لـ Utils

يمكن أن أذهب بأي طريقة ، فقط دعونا نكون متسقين.

أيضًا إذا كانت لدينا أفعال ، فيمكننا استخدام -ing (gerund) ، على سبيل المثال Chatting NetworkThreading ، أو أسماء الجمع ، على سبيل المثال Projectiles Screenshots أكثر من Helper Util إلخ.

هذا يجعل الأمر صعبًا بالنسبة لبعض الأشياء مثل MathHelper -> Maths ؟؟ أو Util -> s ؟؟

لقد جادلت من أجل Maths منذ فترة طويلة ، نظرًا لأنه اختصار صالح لـ Mathematics . https://github.com/FabricMC/yarn/issues/249#issuecomment -446102638

يستخدم Yarn أسماء إنجليزية أمريكية ، حيث لا يعد اختصار Maths اختصارًا صالحًا لـ Mathematics .

في هذه الحالة حيث لا ينطبق gerund ولا الجمع ، أقترح الرجوع إلى اللاحقة Helper . بخلاف ذلك ، تفضل ing أو s ، مثل Texts

أيضًا DrawableHelper ليست فئة أدوات مساعدة ولكنها واجهة وظيفية أو فئة مجردة بها الكثير من طرق المثيل الملائمة

مشكلتي مع اقتراح liach مع -ing and -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 .

رقم؟

votes

أوه ، يصيح ، يجب أن أكون أعمى. ثم أقترح إعادة تسمية جميع الفئات التي تنتهي بـ Helper لتنتهي بـ Util بدلاً من ذلك.

أقترح أن اللواحق هي عمل الشيطان وأننا نعيد تسمية كل فئة تنتهي بـ *elperer و *til حتى لا تحتوي على تلك اللاحقة.

MathHelper -> Maths .

PiglinHelper -> Piglins

يستخدم Yarn أسماء إنجليزية أمريكية ، حيث لا يعد اختصار Maths اختصارًا صالحًا لـ Mathematics .

اعتقدت أن Maths مصطلح أمريكي حصري؟

MathHelper -> Mathinator

Maps ؟ أنا

لاحظ أيضًا أن الجوافة (أعتقد أنها كانت جوافة؟) تستخدم صيغة الجمع: Maps ، Sets ، Collections ، Streams .

كانت هذه مشكلتي في استخدام صيغ الجمع. على الرغم من أن الأسماء تبدو جميلة ، إلا أن هناك استثناءات كثيرة جدًا. إما لأن الكلمة هي اسم جماعي (على سبيل المثال "رياضيات") وبالتالي لا تحتوي على جمع ، أو لأن الجمع مأخوذ بالفعل من قبل مكتبة أخرى (على سبيل المثال "خريطة"). سيجعل ذلك من الصعب جدًا أن تظل ثابتًا ، مما يؤدي إلى هزيمة الهدف من تغييرها في المقام الأول.

الأسماء التي يمكن قبولها بصيغة الجمع:

  • مخازن
  • داتاستريمز
  • الرسوم
  • الافتراضي
  • خرائط
  • Nbts
  • مواضع السكك الحديدية
  • يبيض
  • المدخلات
  • عارضات ازياء
  • القوام
  • أسماء الملفات
  • مقذوفات
  • LookTargets
  • هيكل الاختبارات
  • الاختبارات
  • لقطات
  • GlAllocations

الأسماء غير المقبولة لأنها أسماء جماعية أو ليست اسمًا:

  • جسونس
  • رياضيات
  • ألس
  • جلفوس
  • ينعم
  • الأضرار (الجمع له معنى مختلف)
  • الشبكات (توجد شبكة واحدة فقط هنا)
  • NetworkThreads (هناك مؤشر ترابط شبكة واحد فقط)
  • تشفير الشبكة

الأسماء غير المقبولة لأنها مأخوذة بالفعل:

  • سحر
  • خرائط
  • الحالةتأثيرات
  • الجرع

الأسماء غير المقبولة لأسباب متنوعة:

  • Rotation3s (هذا الاسم يتطلب مزيدًا من التفكير)
  • الدردشات (على الرغم من أنها عبارة عن صيغة الجمع من الناحية الفنية ، إلا أنها لا تناسب فئة الأداة المساعدة لـ "الدردشة" ، على افتراض أن هذا هو الغرض منها. إذا كانت مخصصة لمكونات النص ، فسيكون اسم "الرسائل النصية" مناسبًا)
  • Utils (لا يمكننا إعادة تسمية هذا بـ "s" lol ، من الأفضل الاحتفاظ به كـ "Util")

في المجمل ، سيكون 18/34 اسمًا جيدًا بصيغة الجمع ، مما يعني أنه سيتعين علينا التوصل إلى أسماء أفضل للأسماء الـ16 الأخرى.

سأكون على ما يرام مع استخدام صيغ الجمع حيث يكون ذلك منطقيًا والعودة إلى لاحقة Util حيث لا يكون ذلك منطقيًا. ثم على الأقل لدينا قاعدة يجب اتباعها بدلاً من الاختيار العشوائي بين "Helper" و "Util" ، وهو ما نقوم به حاليًا.

ومع ذلك ، فإنEarthcomputer NetworkThreads يعمل بشكل جيد. إنها أدوات مساعدة للعمل مع خيوط الشبكة. لا يهم أن هناك واحد منهم فقط.

قد تختلف معي في واحدة أو اثنتين من هذه النقاط ، لكن هذا ليس هو الهدف ، فهو لا يغير النسبة الإجمالية البالغة 18/34 كثيرًا.

أود أن أجادل إما من أجل Util أو Helper ، فإن إزالتها تمامًا لا تعني الكثير بالنسبة لي.

بالمناسبة ، لا يمكن تسمية البعض Util . على سبيل المثال ، DataStreamHelper ليس فئة مفيدة ، إنه كائن يلتف على دفق بيانات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

quat1024 picture quat1024  ·  6تعليقات

quat1024 picture quat1024  ·  3تعليقات

liach picture liach  ·  4تعليقات

Juuxel picture Juuxel  ·  5تعليقات

Bixilon picture Bixilon  ·  5تعليقات