configなどのファイルがあるとします。
あなたはそれを読んで、何らかの値を変え、そして再び書き留める必要があります。
それは簡単だと思われるでしょうか?
さまざまなチームのコード監査を実行すると、ほとんどすべてのプロジェクトで、ファイルの保存が正しく行われないことに気付きました。 そして私にとっては、優れたプログラマーの大部分にとっても、この知識は閉じられていたという啓示でした。 ところで、これはすべてのプログラミング言語に適用されます。
1.考えられるすべての例外的な状況を処理しながら
、一時ファイルを作成します 。
2.
この一時ファイルに書き込み、記録中に起こりうるすべての例外的な状況も処理します。
3.
一時ファイルを閉じます 。
閉じるときに、例外的な状況もある可能性があることに注意してください(ファイルシステムでフラッシュバッファと多数の操作が実行されるため)。
4.前の手順ですべて問題なければ
、一時ファイルの名前を既存のファイルの名前に変更して 、古いファイルを削除し、一時ファイルで置き換えます。 この場合、考えられるすべての例外的な状況を傍受して処理する必要もあります。
特別な機能または方法を使用して、1回の操作でファイル全体を作成および保存する場合は、手順1〜3を1つの手順にまとめることができます。
これを行わないと、ディスクスペースの不足などのわずかな問題がデータ損失につながる可能性があります(たとえば、ディスクスペースがない場合、ファイルへの通常の記録中に、長さゼロのファイルが古いファイルの代わりに直接作成され、それ以上の記録は実行されません) 。 また、このような問題が多数あります。たとえば、保存プロセス中にコンピューターが再起動する場合があります。この場合、記録も実行されず、ファイルが破損するなどです。