Стороны света (n / s / w / e) очень мало (/ нет?) Используют за пределами F3. Код обычно пишется с учетом оси + направление или координаты xyz, а не кардинального направления («5 блоков на запад + 1 юг»).
Отображение между осью + знак и кардинальным направлением было произвольно выбрано Mojang и должно быть найдено или запомнено разработчиком для каждого конкретного использования с текущей схемой именования.
Также будет проще говорить об оси + dir в повернутых системах координат. Ось Y, повернутая на 90 ° в сторону, звучит более разумно, чем «вниз», указывающая теперь в сторону.
Чтобы решить эту проблему, поля в Облицовке следует переименовать в XP / XN / YP / YN / ZP / ZN, где первая буква - ось, а вторая - направление. Другие классы также могут иметь члены, которые все еще используют имена основных направлений, которые необходимо изменить.
Извините, но я не согласен.
Я считаю, что это слишком строго.
Помимо «вверх / вниз», мне никогда не приходилось явно ссылаться на какие-либо другие направления, поэтому я не считаю это проблемой. Редко можно увидеть что-то, что работает по-разному в другом горизонтальном направлении, когда это направление жестко запрограммировано. Может быть, за исключением некоторого переключателя ... во всех существующих направлениях, но в любом случае вам все равно не нужно знать, как эти направления сопоставляются с координатами, потому что там более чем достаточно полезных методов.
И это также перечисление, в котором, вероятно, не рекомендуется переименовывать записи. Имена строк в байт-коде напрямую соответствуют тем, какими должны быть имена полей, есть большая вероятность, что это запутает декомпиляторы и, возможно, даже IDE.
Да, это тоже важный фактор. valueOf () для Direction возвращает кардиналы, поэтому Mojang действительно обращается к ним так же внутри.
Обычно существует 4 контекста / использования горизонтальных облицовок:
Противоположности немного более ясны с обозначением оси из-за того же префикса. Дельты координат сильно отдают предпочтение обозначению осей, a.getX () - b.getX (), очевидно, относится к XN / XP, но не так сильно к западу / востоку. Оси также X / Y / Z, а не север-юг / запад-восток / вверх-вниз.
«очень хороший набор навыков в математике» -> это базовые смещения координат / направленная ось, это не сложно или нечитабельно. Напротив, "запад" нечитаем, если код вокруг него работает с координатами, и вам нужно сначала посмотреть его взаимосвязь координат.
«Этот код обычно просто изменяет координаты x / y / z напрямую» -> методы смещения / перемещения в BlockPos не согласны. Вы фактически вносите эти прямые изменения из-за того, насколько неясна связь с текущими именами.
Переименование полей перечисления не является технической проблемой, в именах mojang они называются af. Я думаю, что они достаточно плохи там, где важно не удовлетворять выборы именования Mojang.
Я просто не могу найти ни одного случая, когда север / юг / запад / восток имел бы смысл, если бы не выглядел немного менее дружелюбным.
Переименование полей перечисления не является технической проблемой, в именах mojang они называются af.
Неправильно. Имя перечисления сохраняется, несмотря на обфускацию, чтобы заставить работать вызовы valueOf, даже в конфигурации Mojang Proguard. Это имена, которые мы знаем .
Поля при поставке называются af, так же, как мы переименовываем поля. Поскольку переименование работает для Mojang, это сработает и для нас.
Большое нет от меня.
Я также не согласен, я чувствую, что это вызовет больше путаницы, чем того стоит
Во всяком случае, я бы сказал NORTH_XP, SOUTH_XN и т. Д.
Однако я действительно не вижу в этом необходимости. Я бы просто придерживался текущих
NORTH_XP
Это NORTH_ZN.
Думаю, вы только что доказали точку зрения Игрока.
Но я согласен с modmuss и kashike, хотя теперь я вижу вашу точку зрения несколько яснее и думаю, что это в некоторой степени справедливо.
Я не согласен с этим, и это вызвало бы большую путаницу
Самый полезный комментарий
Большое нет от меня.