Должно ли быть максимальное значение в диапазоне включительно?

Когда я работаю с методами, которые на вход принимают некие диапазоны значений, всегда остается неуверенность в том, является ли максимальное значение включительно.

Например, такой метод:

    /**
     * Нарисовать квадрат.
     */
    public void drawSquare(int minX, int minY, int maxX, int maxY, Color color) {
        ...
    }

Этот метод рисует в окне квадрат. Параметры minX и minY означают минимальную точку квадрата. Параметры maxX и maxY означают максимальную точку для рисования квадрата, но включительно ли?

Если я захочу нарисовать квадрат длиною 10 пикселей, какой вариант api предпочтительнее (length = 10):

  1. drawSquare(x, y, x + length, y + length, RED) - не включительно
  2. drawSquare(x, y, x + length - 1, y + length - 1, RED) - включительно, приходится делать -1, чтобы не закрасило 11-й пиксель

Метод drawSquare это лишь пример. Меня интересует, какой подход считается более правильным. Какой подход использовать при создании своих методов.


Ответы (0 шт):