В чем преимущество "безопасной записи" в JetBrains IntelliJ?

У IntelliJ есть опция "безопасная запись" (по какой-то причине их кавычки), которая при сохранении вместо простого обновления файла записывает во временный файл, затем удаляет оригинал, а затем переименовывает временный файл в оригинал имя. Я слышал, что vim также делает это.

Я знаю, что это вызывает проблемы с программами, которые просматривают файл. Иногда такие программы видят удаление, но никогда не видят обновления, например.

Но какие преимущества существуют? IntelliJ docs говорят, что есть преимущества, которые будут потеряны, если вы отключите его. Должна быть какая-то причина, по которой этот параметр является значением по умолчанию.

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

Ответы

Ответ 1

Безопасная запись предотвращает потерю данных в случае, если во время обновления что-то пойдет не так. Просто подумайте о том, что ваш компьютер или Intellij сбой, когда вы сохраняете файл. Тогда вы можете полностью потерять файл. Но с безопасной записью вы потеряете только свои недавние изменения. После того, как обновленная версия вашего файла будет записана на диск без ошибок, можно заменить старую версию. Таким образом, у вас есть действительная версия файла в любой момент времени во время процесса обновления, поэтому никакая авария или что-то еще не может заставить вас потерять всю вашу работу над этим файлом. Самое худшее, что может произойти, это потеря ваших недавних изменений.