データクラスがファイルへの入出力の責任を持つべきか?

知りたいこと

データの操作を行うクラスに、例えばcsvやjson形式のファイルに対する入出力を行うメソッドを実装するべきなのか悩んでいます。

背景、状況

私は仕事の効率化のために個人的に少しばかりPythonを触っているものです。
検索や並び替えなど簡単なデータの操作を行うクラスを実装しようと考えています。
現時点ではファイルからデータを読み取ることをほとんど前提としています。

pandasやほかの自分が利用しているパッケージを3つほど思いつく限り参考にしてみたところ、すべて入力は分割されていますが(e.g. pandas.read_csv() -> pandas.DataFrame)、出力はクラスで実装されていました(e.g. pandas.DataFrame.to_csv()).

最近になってSOLID原則などを知るようになったので自分ではこれは単一責任に反しているから分けるべきなのか、ファイルの入出力はほとんど必要な作業なのだから凝集度を上げるために一つにまとめるべきなのか判断できません。
周りには質問できるようなひとがいないためこちらで質問させていただきます。皆さんのご意見を伺いたいです。
よろしくお願いいたします。

またteratailでの質問はこれが初めてなので質問場所が適切でなかった場合や、タグ付けが正しくないなどあるかもしれません。
その際はご指摘の上、ご容赦頂ければ幸いです。

コメントを投稿

0 コメント