ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

処理はなるべく流用、まとめて後から楽ができるように

システムの機能の改善やソースコードの整理、メソッドの分割を目的として、ソースコードを見ています。

現状考えている機能改善を行うためには、ソースコード上のどこの処理に機能を追加するのが最適なのか考えます。
並べ替え対象のデータが同じメソッドがあって、並べ替える優先順位が違うだけの場合は、メソッドに引数を追加して一つにまとめられないかと考えます。
メソッドが複数の役割を持っていて、絶対分割できず、仕方のない状態でなければ、分割を考えます。

なるべく後から整理や分割はしたくないと思いながら、機能改善を行うためにソースコードを見ていると、2か所に処理を追加すれば機能改善ができそうだとわかりました。

プログラミング
unsplash-logoNESA by Makers

追加する箇所がわかったので、1か所目に処理を追加して動作を確認し、ある程度動作するようになったので、2か所目にどのように処理を追加するか考えました。

2か所目は、1か所目より手間がかかりそうだと思っていました。
1か所目用のメソッドを追加して処理を追加した結果、同じメソッドを流用できそうだと気がつき、2か所目でも流用できるように処理を追加しました。

機能改善を達成するには、さらに処理の追加が必要だったので、1か所目と2か所目でそれぞれ処理をするためのコードを書きはじめましたが、結局やりたいことは一緒です。
2か所目に追加をし始めてすぐに気がついて、最初に追加したメソッドを呼び出して処理する、2個目のメソッドを用意して、引数によって1か所目と2か所目のどちらでも利用できるようにしました。

2個目のメソッドを用意したので、今後判定条件など処理の変更が必要になっても、修正は1か所で済みます。
追加したメソッドはどちらも当初から単純な機能だけにしていたので、整理や分割もしなくて済みます。

忙しいから、時間がないから後からと考えず、最初から記事の冒頭に書いた意識を持っていたおかげで、後からの手間が発生しなくて済みます。
いつでも同じ意識を持って、今後も取り組みたいと改めて考えます。