Yarn: ヘルパーvsユーティリティvsユーティリティ

作成日 2020年02月09日  ·  24コメント  ·  ソース: FabricMC/yarn

Helperの接尾辞が付いた12のクラスがあります:

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

Utilの接尾辞が付いた17のクラスがあります:

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

Utilsの接尾辞が付いた5つのクラスがあります:

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の場合

tbh私はどこにでも行くことができました、ただ一貫性を保ちましょう。

また、動詞がある場合は、-ing(動名詞)(例: Chatting NetworkThreading )、または複数形の名詞(例: Projectiles Screenshots over Helper )を使用できます。 Utilなど

それはMathHelper -> Mathsのようないくつかのもののために難しくなります?? またはUtil -> s ??

Mathematicsの有効な略語であるため、私はずっと前にMathsについて議論しました。 https://github.com/FabricMC/yarn/issues/249#issuecomment -446102638

Yarnはアメリカ英語の名前を使用しますが、 MathsMathematicsの有効な略語ではありません。

動名詞も複数形も当てはまらないこの場合、 Helper接尾辞にフォールバックすることをお勧めします。 それ以外の場合は、 Textsのように、 ingまたはsを優先します

またDrawableHelperはユーティリティクラスではなく、多くの便利なインスタンスメソッドを備えた機能インターフェイスまたは抽象クラスです。

-ingと-sを使用したliachの提案に関する私の問題は、一貫性のあるものを作成することが非常に困難になり、問題の目的が完全に失われることです。 可算名詞の効用クラスが-sで終わるようにすることもできますが、例外が発生します: NbtsRailPlacementsMaps ? 一貫性を保つことは不可能です。

標準を採用し、それに固執する必要があります。 投票を見ると、それはHelperまたはUtilのいずれかである必要がありますが、 Utilsではありません。

Helper Utilの1つの引数は、クラスUtil自体はHelperと呼ばれる意味がないということです。 MathHelperMathUtilと呼ばれることはそれほど悪くはないと思います。それは、誰もがMathHelperと呼ばれることに慣れているということだけです。 私は数学ユーティリティクラスがMathUtilと呼ばれているプロジェクトで働いてきましたが、それはまったく問題ありませんが、違いはありません。 MathUtilという名前は、 MathHelperの名前変更の問題でも議論されていませんでした。

現在、 Helper Utilクラスの方が多いですが、実際に使用される頻度で重み付けする必要があるので、今から調べて結果を報告します。 。

大多数の人はHelperサフィックスを使用しているようです。 したがって、 UtilまたはUtilsで終わる現在のすべてのクラス(クラスUtil自体を除く)の名前を$#$ 4 Helper #$で終わるように変更することを提案します。 Helperで終わる他のクラスの名前の変更については、別の問題で説明できます。

大多数の人はHelperサフィックスを使用しているようです。

番号?

votes

ああ、おっと、私は盲目でなければなりません。 次に、 Helperで終わるすべてのクラスの名前を、代わりにUtilで終わるように変更することを提案します。

接尾辞は悪魔の仕事であり、 *elperer*tilで終わるすべてのクラスの名前をその接尾辞を持たないように変更することを提案します。

MathHelper -> Maths

PiglinHelper -> Piglins

Yarnはアメリカ英語の名前を使用しますが、 MathsMathematicsの有効な略語ではありません。

Mathsはアメリカだけの用語だと思いましたか?

MathHelper -> Mathinator

Maps ? 私

Guava(Guavaだったと思いますか?)は複数形を使用していることにも注意してください: MapsSetsCollectionsStreams

これは、複数形を使用する際の私の問題でした。 名前は見栄えがしますが、例外が多すぎます。 単語が不可算名詞であるため(「数学」など)、複数形がないため、または複数形がすでに別のライブラリによって取得されているため(「マップ」など)。 一貫性を保つのが難しくなり、そもそもそれらを変更するという点を打ち負かします。

複数形で大丈夫な名前:

  • バッファ
  • DataStreams
  • ドローアブル
  • DefaultSkins
  • ミップマップ
  • Nbts
  • RailPlacements
  • スポーン
  • 入力
  • モデル
  • テクスチャ
  • ファイル名
  • 発射物
  • LookTargets
  • StructureTests
  • テスト
  • Screeenshots
  • GlAllocations

不可算名詞であるか名詞ではないために問題がない名前:

  • Jsons
  • 数学
  • アルス
  • Glfws
  • スムース
  • 損害賠償(複数形は異なる意味を持ちます)
  • ネットワーク(ここにはネットワークが1つだけあります)
  • NetworkThreads(ネットワークスレッドは1つだけです)
  • NetworkEncryptions

すでに使用されているために問題のある名前:

  • エンチャント
  • マップ
  • StatusEffects
  • ポーション

その他の理由で問題のある名前:

  • Rotation3s(この名前にはもっと考えが必要です)
  • チャット(技術的には複数形のチャットですが、それが目的であると仮定すると、「チャット」のユーティリティクラスには適していません。テキストコンポーネントの場合、「テキスト」は大丈夫な名前になります)
  • Utils(これを「s」に名前変更することはできません笑、「Util」として保持する方が良いです)

合計で、18/34の名前は複数形として問題ありません。つまり、他の16の名前にはもっと良い名前を考え出す必要があります。一貫性を保つためにこれだけです。

意味のある場合は複数形を使用し、意味のない場合はUtilサフィックスにフォールバックしても問題ありません。 次に、少なくとも、現在行っている「ヘルパー」と「ユーティリティ」のどちらかをランダムに選択するのではなく、従うべきルールがあります。

ただし、 @ Earthcomputer NetworkThreadsは正常に機能します。 これは、ネットワークスレッドを操作するためのユーティリティです。 それらが1つしかないことは問題ではありません。

あなたはそれらの点の1つか2つについて私に同意しないかもしれませんが、それは点ではありません、それは18/34の全体的な比率を大きく変えません。

UtilまたはHelperのどちらかを主張しますが、それらを完全に削除してもあまり意味がありません。

ちなみに、 Utilという名前が付けられないものもあります。 たとえば、 DataStreamHelperはutilクラスではなく、データストリームをラップするオブジェクトです。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Runemoro picture Runemoro  ·  4コメント

quat1024 picture quat1024  ·  6コメント

Sollace picture Sollace  ·  5コメント

Awakened-Redstone picture Awakened-Redstone  ·  4コメント

ChloeDawn picture ChloeDawn  ·  5コメント