久しぶりにツール作った。
要件は、サーバ上の1か月以上前のファイルを消す事。
昔は、cronに設定してたんだけど、今のサーバはcronの権限貰えないのでツールで消す事に。
設定ファイル
設定ファイルは、Excelにして一覧性を確保。
接続先と実行コマンドを書いておく。
これで、削除以外に何かしたければ、自由にコマンド実行出来る。
疎結合用インターフェイスへの挑戦
急ぎではなかったので、クラスを小さくする方向で考えてみた。
かつ、以前から気になってたクラス間を疎結合にするインターフェイスの実装を試みる。
オブジェクト指向言語のお約束で、クラス間は疎結合の方がよい、その方が依存性が減るので、クラス変更時の影響を小さく出来る。
そういう事は、説明読めば理解出来るが、めんどくさくて今までやってなかった。
そもそも、俺が作るツールなんて、クラス10個以下で出来るような極小ツールだったので、そこまで疎結合にする意味ねぇじゃんって。
実装
今回は、時間もあるので、1回くらいやってみるか~と。
やり始めてみたものの、クラスを小さくするのも試してたので、クラス数がどんどん増える。
クラス間を疎結合にするために、1クラスに1個のインターフェイスを作る事になって、ファイル数が倍増。
ファイル管理がめんどくさい。
意義
でも、意義は理解出来る。
何か変更する際は、同じインターフェイスを実装した別クラスを作る事で、既存クラスは変更しなくてよい。
変更の融通が利く、テストが最小限、等の利点はある。
感想
ツールは、問題なく動いて、現在稼働中だけど、今後同じ事やるかと言われると、無理ぃ~。
フリーソフトとしてソースを公開するなら、やると思うけど。
ただの内部ツールで、俺以外メンテしないんじゃ、そこまでやる必要ねぇよ。
って事で、今後は今まで通り適当に作る事だろう。
適当、素晴らしい言葉だ。