Re[48]: Годами не могу вырваться из некорректных вопросов на
От: Poopy Joe Бельгия  
Дата: 29.04.20 09:47
Оценка: :)
Здравствуйте, Sinclair, Вы писали:


S>Занятно, что вы разбираетесь в сложном, а такие простые вещи у вас вызывают затруднение. Рефакторинг не меняет наблюдаемое поведение, это аксиома.

Затруднение у меня вызывает только постоянно вращение и меняющиеся показания.

S>Если мы посмотрим на систему как на конгломерат модулей, то у неё есть внутренние интерфейсы, которые потребляются модулями только той же системы (исходный код под нашим контролем), и внешние интерфейсы — которые потребляют внешние клиенты. Их исходный код вне нашего контроля, и это принципиально.

Т.е. если файлы никому снаружи не нужны это рефакторинг или нет?

S>Нафига нужны такие тесты — для того, чтобы проверять не только сигнатуру, но и поведение. В том-то и дело, что рефакторинг поведение не меняет — поэтому обновлённые тесты продолжают тестировать то, что тестировали.

S>Тестировать сигнатуры нам нафиг не надо — для этого у нас есть компилятор.
Изменил сигнатуру, делаешь что-то внутри с параметром, но тест про это вообще не в курсе. Замечательные тесты, да...

S>А вот изменения внешних контрактов рефакторингом не являются — потому (и только потому), что мы не можем поменять все места их вызовов.

Так у меня не менялись места внешних контрактов, но ты выше доказывал, что это никак не рефакторинг. Ты уж либо крестик сними, либо штаны одень.

S>>>Естественно, сломать сигнатуру методов — более хороший способ: таким образом мы получаем fail fast, и несовместимые клиенты падают сразу. А не продолжают молча рассинхронизовывать данные, приводя к утечке денег.

PJ>>Опиши задачу полностью. Вот есть ордер на подписку. Что с этим знанием делали эти 100500 клиентов которые его получали.
S>Ну, откуда же мы это знаем? Это же внешние клиенты.
Прелесть какая. Т.е. ты что-то зачем-то отдаешь клиентам, при этом ты даже не в курсе надо ли им это... А когда отдавать нечего, то просто начинаете врать выдавая фейковые данные...

PJ>>А сейчас ты противоречишь ранее сказанному. Судя потому что вы вкорячили бесконечную подписку, на сам факт подписки клиентам плевать. Им надо что-то другое.

S>Им надо, чтобы сохранялась целостность модели.
Откуда ты знаешь, ты же сказал, что клиенты внешние и ты не знаешь, что они делают и зачем? Может им критически важно знать различие между подпиской и покупкой.

S>Оставить атрибут в выдаче, и сделать какой-то другой метод для экспорта ордеров — у кого-то разъедутся балансы. Заметят это не сразу, а примерно через квартал; будет дорогостоящая эскалация, скандалы на самом верху, компания будет вынуждена в чём-то уступить клиенту (как правило — в деньгах).

Т.е. ваша система получила зависимость от неизвестного чего-то, потому что там что-то может разъехаться, но точно ты не знаешь. Может и не разъехаться. И вообще хз, что там происходит...

S>Убрать атрибут из выдачи — у кого-то упадёт ночная синхронизация с диагностикой "value cannot be NULL'.

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

PJ>>

PJ>>Была у нас проблема с конфигурационными файлами. Если машину внезапно выключить, то не смотря на все отключенные фильтры итд итп, файлы все равно портились.

PJ>>Если из этой цитаты ты к 20 итерации понял, что версионность не была проблемой, то я думаю со мной все впорядке, ты просто сам с собой говоришь о чем-то.
S>По факту, проблема эта была и безо всякой версионности, потому что если машину внезапно выключить, то все файлы поделятся на три группы:

Вот эту бы всю энергию разума бы да на чтение.
По факту докладываю следующее. Это хардварная проблема. Это упомянуто, но, признаю, недостаточно внятно. Все файлы записаны, их можно даже считать обратно. Т.е. винда думает, что с файлами все ок. Но если машину после этого просто выключить, то в некоторых файлах могут быть нули, некоторые сектора не запишутся. И нет, мы не идиоты, все что можно отключить в винде по этому поводу отключено. Вероятно это проблемы дискового кеша. Это происходит нечасто, но происходит. Все остальные выводы которые ты навысасывал так же мимо кассы. Можешь не трудиться фантазировать остальные детали, какие диски брать или как правильно выключать винду и прочее. Считай это бизнес-требованием.
Отредактировано 29.04.2020 9:55 Poopy Joe . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.