Deutsch

Задачка

20.05.25 21:21
Re: Задачка
 
alex445 патриот
в ответ alex445 20.05.25 21:15, Последний раз изменено 20.05.25 21:23 (alex445)

Надо сделать проще - позволить минимуму быть больше максимума, тогда это будет считаться обратным направлением. И поменять названия параметров, чтобы не было привязки к понятию минимум и максимум, а было просто А и В, которые могут быть как началом, так и концом.


При вычислении доли важна лишь длина отрезка, а для неё не важно, является ли первый параметр началом или концом. Важно, чтобы один был больше другого и всё. Тогда просто сравниваешь два параметра - какой из них больше, и потом из большего вычитаешь меньший, и получаешь знаменатель. Если первый параметр оказался меньше второго, то идёт в одном направлении, если первый больше второго, то в противоположном. Тогда и числитель будет либо (current - А), либо (current - В). Но это надо добавить в описании метода, иначе непонятно, как вычисляется доля, и пользователь может получить неожиданный результат.


Тут дилемма. Если делать метод слишком универсальным, то он будет слишком сложным, и надо обмазать его кучей комментариев. А если делать метод узкозаточенный, то на другую, но похожую задачу, нужно делать другой метод, типа моего "1 минус результат первого метода".


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

 

Перейти на