Здравствуйте, Poopy Joe, Вы писали:
PJ>Еще один... Да всё, всё есть наблюдаемое состояние, если я решу за этим наблюдать. Добавил параметр в метод это изменяет расположение в памяти и, соответственно, размер, и это можно наблюдать. Заменил пузырьковую сортировку быстрой и это можно наблюдать. И даже тест сделать, который это отслеживает. Либо программа не делает ничего, либо результаты рефакторинга можно наблюдать.
Я ждал этого вопроса, хотя надеялся, что вы сможете сами себе на него ответить.
Есть определённые соглашения о том, что считается важным, а что нет. Они привычны всем, кроме вас. И, быть может, вашей команды, хотя есть у меня сомнения и в этом.
Замена способа сортировки рефакторингом
не является.
Вынос метода сравнения элементов при сортировке в параметр — является рефакторингом.
Почитайте Фаулера, посмотрите на Решарпер, студию, идею. Со временем набьёте руку, сможете сходу понимать, где рефакторинг, где нет.
PJ>Ну да, ты один кто пробовал тесты и понял весь дзен добавления параметра.
Нет, нас таких много. Это у вас своё, уникальное для индустрии понимание термина "рефакторинг".
PJ>Я верю в вас, генерировать очередные костыли отлично получается.
А вы как думали. Продажи растут, премии выплачиваются. Все довольны.
PJ>Ну да, то ли дело предположения... Наверняка принимать решения лучше всего на основе их.
Добро пожаловать в реальный мир, Нео. Про большинство вещей, с которыми приходится иметь дело, есть только предположения.
Весь бизнес — это формулирование и проверка предположений. В реальном мире невозможно нажать Build и получить точный ответ, всё ли со всем согласовано.
Так что выбор стоит не между предположениями и фактами, а между признанием ограниченности доступной информации и отказом от этого признания.
PJ>Практически любой протокол умеет поддерживать возможность добавления второй версии контракта, без ломания первой. Это настолько плохая идея, но мужики не знают. Немедленно оповестите мир о вашей находке.
Ну вот я же вам на пальцах показал, что в данном случае нет никакого способа добавить вторую версию контракта без ломания первой. Вы слишком много значения придаёте вашим контрактам, выраженным в F#.
Вам кажется, что если компилятор доволен, то и пользователи тоже.
А у меня есть богатый опыт наблюдения за тем, как люди вносили изменения в "файлы, которые никому не нужны", или убирали "атрибут, который был необязательным".
И за стоимостью последствий вот таких обоснованных решений.
И за тем, как люди месяцами откладывали принятие какого-либо решения, потому что "мы собрали ещё не все данные — давайте опросим всех партнёров и узнаем, кто какие методы использует и зачем".
PJ>Предположения, фейковые данные и никогда не меняющаяся модель, потому что кто-то где-то предположительно ее использует, это свежее дыхание в индустрии.
Отож. Мы — лучшие, и это официально.
S>>Ну конечно же это проблемы дискового кэша. Вы что думаете, вы первые в мире, кто столкнулся с такой ситуацией?
PJ>Я написал, что я так думал? Или я просил помощи в решении где это?
S>>Пока что вы ничего нового не рассказали. Ровно то же самое, чего я ожидал. Единственное — что решения, которые я себе представлял, опираются на упорядоченность записи. Если бывает так, что произведённая позже запись проходит, а произведённая раньше — нет, то придётся покумекать над решением подольше. Сходу ничего придумать не могу — все известные мне технологии восстановления построены на упорядочивании. Если диск ухитряется записать хвост журнала, но теряет его середину, то это сломает каждую из известных мне СУБД.
PJ>Да ладно, сообщение назад это же была задача для джуниора?!
Это я сходу затупил. Конечно же, за полчаса можно решить и эту задачу — хоть с версиями, хоть без них.
PJ>Два. Либо все хорошо, либо в (хотя бы в одном из них плохо) и тогда система откатывалась на дефолтное состояние. Никакой несогласованности там не было никогда.
Тогда непонятно, откуда может взяться несогласованность при введении версии конфигурации. У нас каждая из версий либо консистентна, либо нет. Берём последнюю версию, если она консистентна — всё хорошо. Если хотя бы в одном файле плохо — откатываемся на предыдущую версию. Ума не приложу, куда здесь можно приделать рефакторинг или замену целого модуля.