システムトレード前回の記事でお伝えした通り、開発状況をGitHubに公開するようにしましたが、ソースコードは動けばいいというような感じでコーディングしていたので見映えがあまりよくありませんでした。今回は既に運用している、「KABU+からCSVファイルを日次でダウンロードする」スクリプトのリファクタリングを行いました。リファクタリングの内容スクリプト種別にファイルをまとめるCSVダウンロードの対象日付を指定できるようにするクラスを使うスクリプトリファクタリングの内容スクリプト種別にファイルをまとめるリファクタリング前は「script」ディレクトリ配下にCSV取得スクリプトやデータベースINSERTのスクリプトといった全てのスクリプトが乱雑におかれていました。今後、分析用のスクリプトといった別種のスクリプトが増えていくことを考え、スクリプトの種別毎にディレクトリを切ってまとめるようにしました。CSVダウンロードの対象日付を指定できるようにするCSV取得スクリプトは対象日付をスクリプトの実行日時としていたため、過去のCSVファイルを取得することができませんでした。そのため、何らかのエラーでCSVファイルをダウンロードできなかった場合は当日中にスクリプトを手動で実行してあげる必要があり運用時に負担となることがありました。今後はスクリプトの実行時に引数を指定してやり、引数の日時でCSVファイルをダウンロードするようにしました。これまで通り引数を指定しない場合にはスクリプト実行日時のCSVファイルをダウンロードするようにしています。クラスを使う今までPythonでクラスを使うことがなかったのですが、今後スクリプトの種類が増え、オブジェクト指向プログラミングの必要がでたときのために今のうちにクラス化できるものはクラスにすることにしました。今回のCSV取得スクリプトの場合は、CSVファイルを取得・加工する一連の流れのところがクラス化できそうな感じがしたのでクラス化しました。オブジェクト指向プログラミングは慣れていないので正しいかはわかりませんが、練習として今回のリファクタリングに含めました。スクリプトリファクタリング後のソースコードは下記から確認できます。github.comちなみにリファクタリング前のソースコードは下記です。-スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。