-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API Change: Terminal.move (y, x) => (x, y). #65
Comments
This issue deferred until grouped by other SEMVER major API breaking changes. Documentation already brings a rather severe note about the use of explicit keyword arguments. |
If you're planning to do this major API breaking changes, why not change Terminal.move to (x, y) instead? Isnt the (x, y) order more of a standard then (y, x)? In source codes I've seen with Curses, people almost always define X first and Y second, but then reverse the order when passing them as parameters because of Curses. What I mean is that people "think" (x, y) and not (y, x). The first time I noticed that in Curses, I immediately went looking for an alternative. Here's a quote from Python 3 documentation of Curses: "This breaks the normal convention for handling coordinates where the x coordinate comes first. This is an unfortunate difference from most other computer applications, but it’s been part of curses since it was first written, and it’s too late to change things now." Pleaseee, dont follow the same road like they did! |
I grew up on Just defaulting to match upstream api order, rather than our own. Will consider, thanks!! |
i would agree to go |
Added |
This issue duplicates upstream issue, erikrose#58
Problem
Terminal.location is (x, y) but Terminal.move is (y, x).
This causes issues with composability of positional (y, x) parameters. Also causes programmer mistakes.
Solution
Terminal.move to positional ordering,
(y, x)
=>(x, y)
.The text was updated successfully, but these errors were encountered: