История изменений
Исправление abcq, (текущая версия) :
Но похоже вы доказали их ненужность.
Похоже это доказал все же не я, а вы.
Поскольку,по-вашему, проблема с незавершенным изменением и приходом системы в некорректное состояние может возникнуть только у нубов…
Вы в корне неправильно интерпретируете написанное мной. Состояние может возникнуть у кого угодно, факт лишь в том, что ваш пример достаточно искусственный и в реальной жизни никто бы так примитивно не организовывал задачу удаления, потому что в таком варианте исполнения у нее есть явные изъяны.
В общем-то у такого рода проблем всегда почти одни и те же причины, которые я и озвучил. Либо разработчик был слишком уставший и написал ерунду не задумываясь о том, как такой код будет работать, либо недостаточно опытен чтобы это понять, либо это очень большой проект, достаточно сложный, достаточно гетерогенный, скорее всего с кучей легаси кода на поддержке которой уже особо никто не правит и не разбирается в том как он работает, по типу «работает не трогай», но вот как раз он может и содержать такой код который приведет к похожей ситуации взаимодействуя с вашим кодом. Конечно причин может быть больше.
Вообще к вопросу удаление данных нормальные разработчики относятся очень серьезно и зачастую архитектура выстраивается так чтобы это удаление если и происходило, то только спустя какое-то время, можно удалить ссылки на данные, но сами данные удалять лучше не cразу, а погодя, когда точно будет понятно что они скорее всего не нужны, раз система продолжает работать в штатном режиме. В общем-то все должно быть куда сложнее в реальном коде.
Исходная версия abcq, :
Но похоже вы доказали их ненужность.
Похоже это доказал все же не я, а вы.
Поскольку,по-вашему, проблема с незавершенным изменением и приходом системы в некорректное состояние может возникнуть только у нубов…
Вы в корне неправильно интерпретируете написанное мной. Состояние может возникнуть у кого угодно, факт лишь в том, что ваш пример достаточно искусственный и в реальной жизни никто бы так примитивно не организовывал задачу удаления, потому что в таком варианте исполнения у нее есть явные изъяны.
В общем-то у такого рода проблем всегда почти одни и те же причины, которые я и озвучил. Либо разработчик был слишком уставший и написал ерунду не задумываясь о том, как такой код будет работать, либо недостаточно опытен чтобы это понять, либо это очень большой проект, достаточно сложный, достаточно гетерогенный, скорее всего с кучей легаси кода на поддержке которой уже особо никто не правит и не разбирается в том как он работает, по типу «работает не трогай», но вот как раз он может и содержать такой код который приведет к похожей ситуации взаимодействуя с вашим кодом. Конечно причин может быть больше.
Вообще к вопросу удаление данных нормальные разработчики относятся очень серьезно и зачастую архитектура выстраивается так чтобы это удаление если и происходило, то только спустя какое-то время, можно удалить ссылки на данные, но сами данные удалять лучше не разу, а погодя, когда точно будет понятно что они скорее всего не нужны, раз система продолжает работать в штатном режиме. В общем-то все должно быть куда сложнее в реальном коде.