Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Вообще-то надо аппроксимировать финт "Два кольца на соседних штырях – а они там поместятся?" до финта:
А что будет, если радиус кольца больше суммы диаметров 2 штырей и расстояний между ними, а 3 штырь очень сильно отстает от первых двух и нам надо переместить кольцо на 3 штырь?
Тогда ни решение А ни В ни С не дадут верного решения. И только ваш этот "оверхед в 3 раза", над которым вы похихикали, сделает все так, как задумано.
Кстати, решение А является подмножеством решения на прозводстве, ибо смысл решения А в восстановлении картины без колец вообще.
Пока профайлер не указал что это бутылочное горлышко всей системы, все нормально. "Преждевременная оптимизация..."©
Как видим, и здесь можно описать предполагаемое промежуточное состояние. И это описание должно мгновенно зажечь тревожный сигнал для разработчика – по условию задачи у нас есть только одно кольцо, не два.
План B предполагает некую “виртуальную реальность”, непротиворечивость которой требует аккуратного анализа. Два кольца на соседних штырях – а они там поместятся? После такого вопроса провальный тест для программы B становится очевидным:
увы, но программа это далеко не точное отображение реальности
Просто в Б нам важна сохранность данныхИнтересно. Транзакция? Что если произойдет сбой после отрисовки кольца и до того, как исходное удалено? На экране будет 2 кольца. Вы об этом не подумали?
«Сильный» программист просто знает правильный порядок…
мне сложно представить мысли человека, выбравшего В или С
Что у программы между строк