Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私がやっている小さなテキストエディタのようなプログラムのためにこれについて考えていました、そして私が考えることができる1つのオプション(おそらく最悪のもの)は、ユーザーが保存するたびに、プログラムが(以前に保存された)ファイル全体を上書きすることです新しいコンテンツ。ユーザーがテキストで何をしたかを追跡するような他のオプションは、やるのが面倒すぎるようです。そのような機能をプログラムするための最良の方法は何でしょうか?
スケーラビリティを考慮すると、唯一のオプションは、ユーザーが行ったすべての変更を追跡することです。保存中にのみこれらの変更を保存します。これは、エディターにUndo、Redo機能を実装するのにも役立ちます。
すべてのユーザーの変更を追跡することで、物事をより最適化することができますが、より複雑になり、競合の可能性も高まります。単語レベルで変更するのではなく、変更された行だけを追跡するのが最も簡単だと思います。
間違いなく、すべてを保存することが、物事を動かす最も速い方法です。