Les directions cardinales (n/s/w/e) sont très peu (/pas ?) utilisées en dehors de F3. Le code est généralement écrit avec l'axe + direction ou les coordonnées xyz à l'esprit, pas une direction cardinale ("5 blocs ouest + 1 sud").
Le mappage entre axe + signe et direction cardinale a été choisi arbitrairement par Mojang et doit être recherché ou mémorisé par le développeur pour chaque utilisation spécifique avec le schéma de nommage actuel.
Il est également plus propre de parler d'axe+dir dans les systèmes de coordonnées pivotés. L'axe Y ayant été tourné de 90 ° pour pointer latéralement semble plus raisonnable que "vers le bas" pointant maintenant sur le côté.
Pour résoudre ce problème, les champs dans Facing doivent être renommés en XP/XN/YP/YN/ZP/ZN, où la première lettre est l'axe et la deuxième est la direction. D'autres classes peuvent également avoir des membres utilisant encore des noms de direction cardinale qui devraient être modifiés.
Désolé, mais je ne suis pas d'accord.
Je pense que c'est trop strict.
Mis à part le haut/bas, je n'ai jamais eu à faire explicitement référence à l'une des autres directions, donc je considérerais cela comme un non-problème. Il est rare de voir quelque chose qui fonctionne différemment dans différentes directions horizontales, cette direction étant codée en dur. Peut-être à l'exception de certains commutateurs... cas sur toutes les directions existantes, mais dans les deux cas, vous n'avez toujours pas besoin de savoir comment ces directions correspondent aux coordonnées, car il y a plus qu'assez de méthodes utiles là-bas.
Et c'est aussi une énumération, où ce n'est probablement pas une bonne idée de renommer les entrées. Les noms de chaîne dans le bytecode correspondent directement à ce que devraient être les noms de champ, il y a de fortes chances que cela confonde les décompilateurs et peut-être même les IDE.
Oui, c'est aussi un facteur important. valueOf() pour Direction renvoie les cardinaux, donc Mojang s'y réfère en fait de la même manière en interne.
Il existe généralement 4 contextes/usages pour les parements horizontaux :
Les opposés sont légèrement plus clairs avec la notation des axes en raison du même préfixe. Les deltas de coordonnées favorisent fortement la notation des axes, a.getX() - b.getX() se rapporte évidemment à XN/XP, mais pas tellement à ouest/est. Les axes sont également X/Y/Z, pas nord-sud/ouest-est/haut-bas.
"très bonnes compétences en mathématiques" -> ce sont des décalages de coordonnées de base/axe dirigé, ce n'est ni difficile ni illisible. Au contraire, "west" est illisible si le code qui l'entoure fonctionne avec des coordonnées et que vous devez d'abord rechercher sa relation de coordonnées.
"Ce code modifie généralement simplement les coordonnées x/y/z directement" -> les méthodes offset/move dans BlockPos ne sont pas d'accord. Vous effectuez en fait ces modifications directes en raison du manque de clarté de la relation avec les noms actuels
Renommer les champs enum n'est pas un problème technique, ils sont appelés af dans les noms mojang. Je pense qu'ils sont assez mauvais là où il est important de ne pas non plus répondre aux choix de nom de Mojang.
Je ne parviens tout simplement pas à trouver un seul cas où nord/sud/ouest/est a un sens autre que d'avoir l'air un peu moins mathématique.
Renommer les champs enum n'est pas un problème technique, ils sont appelés af dans les noms mojang.
Incorrect. Le nom d'énumération est conservé malgré l'obscurcissement pour que les appels valueOf fonctionnent, même par la configuration Proguard de Mojang. Ce sont des noms que nous connaissons .
Les champs tels qu'ils sont
Gros non de ma part.
Je ne suis pas d'accord non plus, je pense que cela causerait plus de confusion que cela n'en vaut la peine
Si quoi que ce soit, je dirais NORTH_XP, SOUTH_XN, etc.
Cependant, je n'en vois vraiment pas l'utilité. Je m'en tiendrais aux actuels
NORTH_XP
C'est NORTH_ZN.
Je pense que vous venez de prouver le point de vue de Player.
Mais je suis d'accord avec modmuss et kashike, même si je vois votre point un peu plus clairement maintenant et je pense que c'est un peu valable.
Je ne suis pas d'accord et cela causerait beaucoup de confusion
Commentaire le plus utile
Gros non de ma part.