このように機能する短命プログラムのクラスがあります。
1. Allocate some resources - memory, open files, etc.
2. Make some computations
3. Free allocated resources
4. Terminate
同じ質問は、タイプの長期プログラムの終了段階にも当てはまります。
1. Do some job
2. If not the end - goto 1
3. Free the resources still allocated
4. Terminate
これで、プログラムの終了後に OS 自体が常にクリーンアップすることがわかりました。割り当てられたメモリをコードでクリーンアップする必要が本当にあるのでしょうか? OS によって解放されて同じ成功を収め、さらに一歩進んでいるとしたら?
上記の例のポイント 3 を安全に省略できますか? 結局のところ、時間とコードです。
明確化 1 : 私は、別のコンテキストで誰かがコードを再利用できるライブラリについて話しているのではありません。上記の構造が十分にきれいな完成したプログラムについて質問しています。
明確化 2 : 「グッド プラクティス」は、「悪影響」を防止することを目的としているため、そのように呼ばれています。しかし、悪い影響が起こりえない場合、これらの慣行は依然として「良い」のでしょうか? それとも単に「伝統」ですか?