下手に削除のロジックを作成するくらいなら、再構築のロジックを作成する方が手早い
現在作成しているプログラムで、ある条件で処理したら、配列中のデータを削除しなければならなくなりました。
配列中のデータの削除は、単純に配列の要素を削除するのではなく、削除した形に操作しなければなりません。
削除した形に操作するのも、手間が随分かかることは、追加処理を作ったときの経験からわかっています。
値を渡して、渡した値に従って処理をして、削除した後のデータを作りだすロジックを時間をかけて作成するしかないかと思っていたら、以下の記事を書いたのを思い出しました。
ajya.hatenablog.jp
バックアップから復元するのが手早いと書きましたが、今回はバックアップはありません。
バックアップはないけれど、最初から作り直した方が早いと気がつきました。
配列のデータは、別のデータを元に追加していて、結合できる場合は結合しています。
別のデータは残っているので、削除のロジックを考えるくらいなら、一旦配列を初期化して、別のデータを元にして配列を再構築するのが簡単です。
追加処理は既にあるので、プログラム上の適切な箇所で初期化処理を作成して、追加処理を呼びだして再構築ができました。
ついついデータの削除が必要になったら、削除機能を作らないといけないと思ってしまいます。
そうではなくて、最終的な欲しいデータに対して、どのような方法で作れるのか考え、既に実績のあるロジックを組み合わせるのが、手間を減らし、バグを減らせると考えています。