Back

Bリーグ公式からデータ取得するジョブをClean Arcitectureを試しつつpythonで作った[BASBI開発記録④]

だいぶ長いことかかりましたが、ようやくBリーグ公式からWebスクレピングをしてファイル形式でデータを取得するジョブを作成しました。
成果物の方はGitHubにプッシュしています。
まだいくつかのケースでしか試していないので、全ての試合は取得できないと思いますが、今後データ取得しながら修正していきたいと思います。

pythonでClean Architectureをやってみた所感

以前のこちらで紹介していたClean Architectureに従って、自分なりに解釈をして製造してみましたが、以下のメリット/デメリットがあると感じました。

[メリット]ビジネスロジックとコーディングが切り離されているので整理しやすい

初めにビジネス目線でドメイン系の設計をしたあとに、コーディングをしていくのですが、 実際にやりたいこと(ドメインで実現したいこと)はコーディングをしていく上で、プログラムの都合上変更したくなってきたりします。
そういうときに、ドメイン側の設計とコーディングの設計を紐づけられたので、変更するときにどこを変えたら良いかが分かりやすく、変更しやすかったと感じました。
この辺りは製造しながらpytestもやっていたので、その影響もあるかもしれませんが、変更箇所がわかりやすいのがメリットかなと思います。

[デメリット]コーディング量が多い

Clean Architectureの思想に従って分割していくと、整理しやすい分、コード量やディレクトリの数が多くなりいろんなファイルを行ったり来たりして特に期間空けたあとに復帰しようとすると、忘れた箇所があったときにモチベ低下に陥ってしまい、開発期間が伸びてしまった原因かなと思います。

そのため、今回のような簡単なデータ取得をするときには正直、このアーキテクチャは向いていないかなと思いました。
反面、チームで大規模なコーディングをするときは、設計書などをしっかり準備しておけば、効果を発揮するかなと思いました。

今後やりたいこと

まずは、今回作ったジョブでどれくらいデータをちゃんと取れるかを試してみます。
そのあとは、取得したデータで分析方面も勉強してびーこるちゃんの話のネタに貢献できればと思います。

その前に次はこのブログも勉強がてら自作で作り直していろいろリニューアルしたいと考えていますが、こっちの方はもっと時間かかりそう。。。

Built with Hugo
Theme Stack designed by Jimmy